## Basic tool info Model name: ByteDance/Seedance 2.0 Fast Model description: Seedance 2.0 Fast by ByteDance generates short MP4 videos faster and cheaper than Seedance 2.0, with the same multimodal capabilities, limited to 480p / 720p output. Model cover: https://cdn.wiro.ai/uploads/models/bytedance-seedance-2-0-fast-cover.mp4 Model categories: - tool - partner - ByteDance - price-list - image-to-video - text-to-video - quick-showcase - wiro-app - videomagic - nogpu-pipeline Model tags: - video generator - ByteDance Run Task Endpoint (POST): https://api.wiro.ai/v1/Run/bytedance/seedance-2-0-fast Get Task Detail Endpoint (POST): https://api.wiro.ai/v1/Task/Detail ## Model Inputs: - name: prompt label: Prompt help: Optional. The prompt to generate the video. type: textarea default: A lone lighthouse stands on a jagged cliff as a violent storm hurls waves forty feet into the air, its beam cutting through sheets of rain in rotating golden arcs. The camera begins tight on the rain-streaked glass at the top of the tower, then pulls back and spirals down and around the structure revealing the full fury of the ocean. Lightning fractures the sky behind, briefly silhouetting the lighthouse. Moody storm palette of slate blue and warm amber beam, cinematic anamorphic lens, filmic grain, roaring wind, thunder cracks and crashing surf audio. - name: inputImage label: first_frame_image help: Optional. The provider may sometimes reject human faces. First frame of the video (image-to-video). type: combinefileinput default: - name: inputImageLast label: last_frame_image help: Optional. The provider may sometimes reject human faces. Last frame of the video. Requires first_frame_image. type: combinefileinput default: - name: inputImageReference label: reference_images help: Optional. The provider may sometimes reject human faces. 1-9 reference images. In the prompt, refer to them as [Image 1], [Image 2], etc. type: combinefileinput default: - name: inputAudio label: reference_audios help: Optional. 1-3 reference audios (wav/mp3). Requires at least one reference_image or a first/last frame image. type: combinefileinput default: - name: resolution label: Resolution help: Required. Video resolution. 1080p is not supported for Fast. type: select default: 720p options: - value: "480p" label: 480p - value: "720p" label: 720p - name: ratio label: Ratio help: Required. Output aspect ratio. 'adaptive' lets the model choose based on prompt and/or input images. type: select default: adaptive options: - value: "adaptive" label: adaptive - value: "16:9" label: 16:9 - value: "4:3" label: 4:3 - value: "1:1" label: 1:1 - value: "3:4" label: 3:4 - value: "9:16" label: 9:16 - value: "21:9" label: 21:9 - name: duration label: Duration help: Required. Generated video duration in seconds. type: select default: 4 options: - value: "4" label: 4 - value: "5" label: 5 - value: "6" label: 6 - value: "7" label: 7 - value: "8" label: 8 - value: "9" label: 9 - value: "10" label: 10 - value: "11" label: 11 - value: "12" label: 12 - value: "13" label: 13 - value: "14" label: 14 - value: "15" label: 15 - name: generateAudio label: Generate audio help: Required. Whether the generated video includes audio synchronized with the visuals. type: select default: true options: - value: "true" label: true - value: "false" label: false - name: promptEnhancement label: Prompt enhancement help: Optional. Rewrites the prompt with AI into a brandless, copyright/audio-safe version before generation to reduce content-filter failures (e.g. sensitive-audio rejections). Recommended when Generate audio is on. Reference tokens like [Image 1] are preserved. type: select default: true options: - value: "true" label: true - value: "false" label: false - name: watermark label: Watermark help: Optional. Generate whether the video contains a watermark. type: select default: false options: - value: "false" label: false - value: "true" label: true - name: seed label: Seed help: Optional. Seed integer to control the randomness of generated content. Set 0 to random. type: number default: 1 ## Model Parameter Inspires: - prompt: A lone lighthouse stands on a jagged cliff as a violent storm hurls waves forty feet into the air, its beam cutting through sheets of rain in rotating golden arcs. The camera begins tight on the rain-streaked glass at the top of the tower, then pulls back and spirals down and around the structure revealing the full fury of the ocean. Lightning fractures the sky behind, briefly silhouetting the lighthouse. Moody storm palette of slate blue and warm amber beam, cinematic anamorphic lens, filmic grain, roaring wind, thunder cracks and crashing surf audio. - prompt: A bustling night market in Bangkok glows with strings of warm yellow bulbs and red paper lanterns, steam rising from dozens of street-food woks. The camera drifts forward in a smooth handheld push between stalls, a wok erupts in a sudden burst of orange flame just as the lens passes, then it whip-pans to a smiling vendor tossing noodles. Motorbike headlights streak through the background. Rich saturated palette of ember orange and deep green, cinematic 35mm feel, sizzling oil, chatter and distant tuk-tuk horns audio. - prompt: A flamenco dancer in a blood-red ruffled dress stamps her heel on a wooden stage in a candlelit Spanish tablao, a burst of dust rising in slow motion around her ankles. The camera begins low at floor level catching the stomp, then cranes upward and orbits her as the skirt fans out in a dramatic spiral. A single guitarist sits in shadow behind her. Theatrical chiaroscuro lighting, deep crimson and warm gold palette, filmic shallow depth of field, sharp heel strikes, flamenco guitar and rhythmic hand claps audio. - prompt: A caravan of camels traverses endless orange sand dunes at the last light of sunset, their silhouettes stretched long across rippled sand. The camera tracks parallel at low height watching the hooves sink softly, then cranes high into a sweeping aerial revealing the full procession winding like a serpent toward distant purple mountains. A crescent moon rises. Lawrence-of-Arabia cinematography, warm burnt-orange to violet gradient palette, anamorphic lens, soft hoofbeats, bells and gentle desert wind audio. - prompt: A figure skater carves elegant spirals across a perfectly smooth frozen lake at dawn, each blade stroke spraying fine ice crystals that catch the pink morning light. The camera starts in a tight low-angle tracking shot following the blades, then lifts into a sweeping overhead spiral matching her spin as she launches into a triple axel. Snow-dusted pines ring the lake. Ethereal cold palette of pastel pink and icy blue, cinematic slow motion, soft classical strings and crisp blade-on-ice audio. - prompt: A lone samurai in black lacquered armor walks slowly through a towering bamboo grove wrapped in soft morning mist, drops of dew falling from the leaves in slow motion. The camera tracks beside him at ground level then rotates behind as he draws his katana in a single smooth motion, a sliced bamboo stalk falling past the lens. Shafts of sunlight pierce the canopy in volumetric beams. Kurosawa-inspired monochromatic green palette with warm light shafts, filmic grain, rustling leaves and sharp blade slice audio. - prompt: Macro extreme close-up of a honeybee hovering over a vibrant purple lavender blossom, wings blurred into iridescent halos as it gathers pollen. The camera orbits the bee in a slow 180-degree arc, tiny pollen granules drifting around it in warm backlight. Neighboring stalks sway in a gentle breeze. The focus rack reveals rows of lavender fields stretching to a hazy horizon. Rich Provençal palette of violet and sage green, ultra-macro lens, filmic shallow depth of field, gentle buzzing and soft summer breeze audio. - prompt: A model strides down a rain-slicked outdoor runway at night, water cascading from an overhead glass ceiling creating a curtain of light around her. The camera tracks backward at hip level matching her pace, then cranes up and whip-pans as she hits her mark and turns, droplets exploding outward in slow motion. Photographers flash strobes creating rhythmic pops of white light. High-fashion editorial palette of obsidian black and pearl white, anamorphic lens, thunderous electronic beat and rushing water audio. - prompt: A vintage red train winds along a narrow mountain track cut into towering alpine cliffs, puffs of white steam billowing against snow-capped peaks. The camera begins in a sweeping aerial behind the train, then dives down beside the locomotive windows, revealing passengers silhouetted inside. It continues forward and through a dark tunnel, emerging onto a vertiginous stone viaduct over a glacial turquoise river. Golden hour light paints the peaks pink. Wes-Anderson-meets-Studio-Ghibli palette, cinematic 35mm grain, chugging steam engine and distant alpine horn audio. - prompt: Slow-motion lava pours down a black volcanic slope at night, its glowing orange-red flow cracking and splitting in intricate patterns as it cools into obsidian. The camera begins with a macro close-up on a single pulsing crack, then pulls back and cranes upward revealing streams of lava snaking down toward a dark ocean where they meet the waves in explosions of steam. Sparks drift upward against a star-filled sky. Hyperrealistic geological cinematography, incandescent orange against deep black palette, crackling rock and hissing steam audio. - prompt: Dozens of hot air balloons rise in unison over the fairy-chimney rock valleys of Cappadocia at sunrise, their colorful envelopes glowing from within as burners fire. The camera begins tight on a single balloon's basket, capturing a couple leaning out, then pulls back into a sweeping aerial revealing the full fleet drifting across pink and gold morning haze. Ancient cave dwellings dot the valley floor. Warm pastel dawn palette, cinematic drone cinematography, gentle burner roar, distant dog barks and soft Turkish flute audio. - prompt: A subway train rushes through a tunnel and slams to a stop at a neon-lit platform, brakes throwing sparks in slow motion. The camera starts inside the tunnel wall sliding along with the train, then passes through the platform edge as doors hiss open and a crowd of commuters steps out in synchronized motion. A violinist plays quietly at the far end of the platform. Urban cinematic palette of cold fluorescent white and ember sodium orange, anamorphic lens flares, screeching brakes, train rumble and muted violin audio. - prompt: A concert violinist performs alone on a vast dark stage, a single spotlight casting her silhouette and the long shadow of the bow across the polished floor. The camera begins tight on her fingers pressing strings, then arcs outward in a slow wide spiral revealing rows of empty red-velvet seats. Dust motes drift through the spotlight beam. Her eyes close as she leans into a crescendo. Theatrical chiaroscuro, deep burgundy and gold palette, shallow depth of field, rich resonant violin and soft breath audio. - prompt: A drift of translucent moon jellyfish pulses through a deep black ocean illuminated only by their own soft internal blue bioluminescence. The camera moves slowly forward among them, one jelly drifting directly past the lens, its trailing tentacles glowing like living galaxies. Tiny plankton spark like stars in the water. Otherworldly deep-sea cinematography, pure black and cyan palette, macro depth of field, muffled deep-ocean ambience and ethereal synth pad audio. - prompt: Workers in a Tuscan vineyard harvest plump purple grapes into woven wicker baskets at golden hour, rows of vines stretching toward a hilltop stone villa. The camera begins macro on shears cutting a single heavy cluster, then pulls back and rises into a cinematic aerial sweep across the whole hillside, sunlight flaring through the vine leaves. A pair of old farmers laugh together over a basket. Warm Italian palette of amber, deep grape purple and olive green, filmic 35mm grain, clipping shears, cicadas and soft accordion audio. ## Integration Header Prepare ```bash # Sign up Wiro dashboard and create project export YOUR_API_KEY="{{useSelectedProjectAPIKey}}"; export YOUR_API_SECRET="XXXXXXXXX"; # unix time or any random integer value export NONCE=$(date +%s); # hmac-SHA256 (YOUR_API_SECRET+Nonce) with YOUR_API_KEY export SIGNATURE="$(echo -n "${YOUR_API_SECRET}${NONCE}" | openssl dgst -sha256 -hmac "${YOUR_API_KEY}")"; ``` ## Run Command - Make HTTP Post Request ```bash curl -X POST "https://api.wiro.ai/v1/Run/bytedance/seedance-2-0-fast" -H "Content-Type: multipart/form-data" -H "x-api-key: ${YOUR_API_KEY}" -H "x-nonce: ${NONCE}" -H "x-signature: ${SIGNATURE}" -d '{ "prompt": "A lone lighthouse stands on a jagged cliff as a violent storm hurls waves forty feet into the air, its beam cutting through sheets of rain in rotating golden arcs. The camera begins tight on the rain-streaked glass at the top of the tower, then pulls back and spirals down and around the structure revealing the full fury of the ocean. Lightning fractures the sky behind, briefly silhouetting the lighthouse. Moody storm palette of slate blue and warm amber beam, cinematic anamorphic lens, filmic grain, roaring wind, thunder cracks and crashing surf audio.", "inputImage": "", "inputImageLast": "", "inputImageReference": "", "inputAudio": "", "resolution": "720p", "ratio": "adaptive", "duration": "4", "generateAudio": "true", "promptEnhancement": "true", "watermark": "false", "seed": 1, "callbackUrl": "You can provide a callback URL; Wiro will send a POST request to it when the task is completed." }'; ``` ## Run Command - Response ```json { "errors": [], "taskid": "2221", "socketaccesstoken": "eDcCm5yyUfIvMFspTwww49OUfgXkQt", "result": true } ``` ## Get Task Detail - Make HTTP Post Request with Task ID ```bash curl -X POST "https://api.wiro.ai/v1/Task/Detail" -H "Content-Type: multipart/form-data" -H "x-api-key: ${YOUR_API_KEY}" -H "x-nonce: ${NONCE}" -H "x-signature: ${SIGNATURE}" -d '{ "taskid": "2221" }'; ``` ## Get Task Detail - Make HTTP Post Request with Socket Access Token ```bash curl -X POST "https://api.wiro.ai/v1/Task/Detail" -H "Content-Type: multipart/form-data" -H "x-api-key: ${YOUR_API_KEY}" -H "x-nonce: ${NONCE}" -H "x-signature: ${SIGNATURE}" -d '{ "tasktoken": "eDcCm5yyUfIvMFspTwww49OUfgXkQt" }'; ``` ## Get Task Detail - Response ```json { "total": "1", "errors": [], "tasklist": [ { "id": "2221", "uuid": "15bce51f-442f-4f44-a71d-13c6374a62bd", "socketaccesstoken": "eDcCm5yyUfIvMFspTwww49OUfgXkQt", "parameters": {}, "debugoutput": "", "debugerror": "", "starttime": "1734513809", "endtime": "1734513813", "elapsedseconds": "6.0000", "status": "task_postprocess_end", "createtime": "1734513807", "canceltime": "0", "assigntime": "1734513807", "accepttime": "1734513807", "preprocessstarttime": "1734513807", "preprocessendtime": "1734513807", "postprocessstarttime": "1734513813", "postprocessendtime": "1734513814", "outputs": [ { "id": "6bc392c93856dfce3a7d1b4261e15af3", "name": "0.png", "contenttype": "image/png", "parentid": "6c1833f39da71e6175bf292b18779baf", "uuid": "15bce51f-442f-4f44-a71d-13c6374a62bd", "size": "202472", "addedtime": "1734513812", "modifiedtime": "1734513812", "accesskey": "dFKlMApaSgMeHKsJyaDeKrefcHahUK", "url": "https://cdn1.wiro.ai/6a6af820-c5050aee-40bd7b83-a2e186c6-7f61f7da-3894e49c-fc0eeb66-9b500fe2/0.png" } ], "size": "202472" } ], "result": true } ``` ## Kill Task - Make HTTP Post Request with Task ID ```bash curl -X POST "https://api.wiro.ai/v1/Task/Kill" -H "Content-Type: multipart/form-data" -H "x-api-key: ${YOUR_API_KEY}" -H "x-nonce: ${NONCE}" -H "x-signature: ${SIGNATURE}" -d '{ "taskid": "534574" }'; ``` ## Kill Task - Make HTTP Post Request with Socket Access Token ```bash curl -X POST "https://api.wiro.ai/v1/Task/Kill" -H "Content-Type: multipart/form-data" -H "x-api-key: ${YOUR_API_KEY}" -H "x-nonce: ${NONCE}" -H "x-signature: ${SIGNATURE}" -d '{ "socketaccesstoken": "ZpYote30on42O4jjHXNiKmrWAZqbRE" }'; ``` ## Kill Task - Response ```json { "errors": [], "tasklist": [ { "id": "534574", "uuid": "15bce51f-442f-4f44-a71d-13c6374a62bd", "name": "", "socketaccesstoken": "ZpYote30on42O4jjHXNiKmrWAZqbRE", "parameters": { "inputImage": "https://api.wiro.ai/v1/File/mCmUXgZLG1FNjjjwmbtPFr2LVJA112/inputImage-6060136.png" }, "debugoutput": "", "debugerror": "", "starttime": "1734513809", "endtime": "1734513813", "elapsedseconds": "6.0000", "status": "task_cancel", "cps": "0.000585000000", "totalcost": "0.003510000000", "guestid": null, "projectid": "699", "modelid": "598", "description": "", "basemodelid": "0", "runtype": "model", "modelfolderid": "", "modelfileid": "", "callbackurl": "", "marketplaceid": null, "createtime": "1734513807", "canceltime": "0", "assigntime": "1734513807", "accepttime": "1734513807", "preprocessstarttime": "1734513807", "preprocessendtime": "1734513807", "postprocessstarttime": "1734513813", "postprocessendtime": "1734513814", "pexit": "0", "categories": "["tool","image-to-image","quick-showcase","compare-landscape"]", "outputs": [ { "id": "6bc392c93856dfce3a7d1b4261e15af3", "name": "0.png", "contenttype": "image/png", "parentid": "6c1833f39da71e6175bf292b18779baf", "uuid": "15bce51f-442f-4f44-a71d-13c6374a62bd", "size": "202472", "addedtime": "1734513812", "modifiedtime": "1734513812", "accesskey": "dFKlMApaSgMeHKsJyaDeKrefcHahUK", "foldercount": "0", "filecount": "0", "ispublic": 0, "expiretime": null, "url": "https://cdn1.wiro.ai/6a6af820-c5050aee-40bd7b83-a2e186c6-7f61f7da-3894e49c-fc0eeb66-9b500fe2/0.png" } ], "size": "202472" } ], "result": true } ``` ## Cancel Task - Make HTTP Post Request (For tasks on queue) ```bash curl -X POST "https://api.wiro.ai/v1/Task/Cancel" -H "Content-Type: multipart/form-data" -H "x-api-key: ${YOUR_API_KEY}" -H "x-nonce: ${NONCE}" -H "x-signature: ${SIGNATURE}" -d '{ "taskid": "634574" }'; ``` ## Cancel Task - Response ```json { "errors": [], "tasklist": [ { "id": "634574", "uuid": "15bce51f-442f-4f44-a71d-13c6374a62bd", "name": "", "socketaccesstoken": "ZpYote30on42O4jjHXNiKmrWAZqbRE", "parameters": { "inputImage": "https://api.wiro.ai/v1/File/mCmUXgZLG1FNjjjwmbtPFr2LVJA112/inputImage-6060136.png" }, "debugoutput": "", "debugerror": "", "starttime": "1734513809", "endtime": "1734513813", "elapsedseconds": "6.0000", "status": "task_cancel", "cps": "0.000585000000", "totalcost": "0.003510000000", "guestid": null, "projectid": "699", "modelid": "598", "description": "", "basemodelid": "0", "runtype": "model", "modelfolderid": "", "modelfileid": "", "callbackurl": "", "marketplaceid": null, "createtime": "1734513807", "canceltime": "0", "assigntime": "1734513807", "accepttime": "1734513807", "preprocessstarttime": "1734513807", "preprocessendtime": "1734513807", "postprocessstarttime": "1734513813", "postprocessendtime": "1734513814", "pexit": "0", "categories": "["tool","image-to-image","quick-showcase","compare-landscape"]", "outputs": [ { "id": "6bc392c93856dfce3a7d1b4261e15af3", "name": "0.png", "contenttype": "image/png", "parentid": "6c1833f39da71e6175bf292b18779baf", "uuid": "15bce51f-442f-4f44-a71d-13c6374a62bd", "size": "202472", "addedtime": "1734513812", "modifiedtime": "1734513812", "accesskey": "dFKlMApaSgMeHKsJyaDeKrefcHahUK", "foldercount": "0", "filecount": "0", "ispublic": 0, "expiretime": null, "url": "https://cdn1.wiro.ai/6a6af820-c5050aee-40bd7b83-a2e186c6-7f61f7da-3894e49c-fc0eeb66-9b500fe2/0.png" } ], "size": "202472" } ], "result": true } ``` ## Task Status Information This section defines the possible task status values returned by the API when polling for task completion. ### Completed Task Statuses (Polling can stop) These indicate that the task has reached a terminal state — either success or failure. Once any of these is received, polling should stop. - task_postprocess_end : Task completed successfully and post-processing is done. - task_cancel : Task was cancelled by the user or system. ### Running Task Statuses (Continue polling) These statuses indicate that the task is still in progress. Polling should continue if one of these is returned. - task_queue : Task is waiting in the queue. - task_accept : Task has been accepted for processing. - task_assign : Task is being assigned to a worker. - task_preprocess_start : Preprocessing is starting. - task_preprocess_end : Preprocessing is complete. - task_start : Task execution has started. - task_output : Output is being generated.