## Basic tool info Model name: ByteDance/seedance 2.5 Model description: Create 4–30 second videos from a prompt and optional first and last frame images, with optional synced audio. Powered by ByteDance Seedance. Model cover: https://cdn.wiro.ai/uploads/models/bytedance-seedance-2-5-cover.mp4 Model categories: - tool - use-agent - nogpu-pipeline - image-to-video - partner - quick-showcase - text-to-video - hero-showcase Run Task Endpoint (POST): https://api.wiro.ai/v1/Run/bytedance/seedance-2-5 Get Task Detail Endpoint (POST): https://api.wiro.ai/v1/Task/Detail ## Model Inputs: - name: inputImage label: first_frame_image help: Optional. The provider may sometimes reject human faces. First frame of the video (image-to-video). The output keeps the aspect ratio of this image. type: combinefileinput default: - name: prompt label: Prompt help: Optional. The prompt to generate the video. type: textarea default: POV helmet-cam barrelling down a narrow singletrack through a redwood forest at golden hour, front wheel chattering over roots, ferns whipping past the lens, shafts of low sun strobing between trunks, the trail drops into a bermed left-hander and the bike leans hard. Handheld GoPro realism, slight lens flare, dust motes in the light, tyre crunch and rushing wind audio. - name: inputImageReference label: reference_images help: Optional. The provider may sometimes reject human faces. 1-30 reference images. In the prompt, refer to them as [Image 1], [Image 2], etc. 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: resolution label: Resolution help: Required. Video resolution. type: select default: 720p options: - value: "480p" label: 480p - value: "720p" label: 720p - name: ratio label: Ratio help: Optional. Output aspect ratio. 'adaptive' lets the model choose based on prompt and/or input images. When a first/last frame image is used, the aspect ratio of that image is always kept. 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: 5 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 - value: "16" label: 16 - value: "17" label: 17 - value: "18" label: 18 - value: "19" label: 19 - value: "20" label: 20 - value: "21" label: 21 - value: "22" label: 22 - value: "23" label: 23 - value: "24" label: 24 - value: "25" label: 25 - value: "26" label: 26 - value: "27" label: 27 - value: "28" label: 28 - value: "29" label: 29 - value: "30" label: 30 - name: generateAudio label: Generate audio help: Required. Whether the generated video includes audio synchronized with the visuals. type: select default: false options: - value: "true" label: true - value: "false" label: false - name: outputFormat label: Output format help: Optional. mp4 plays everywhere and is the safe default. mov keeps higher color precision for color grading, keying and compositing, but some players cannot play it. type: select default: mp4 options: - value: "mp4" label: mp4 - value: "mov" label: mov - 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. type: select default: false 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 ## Model Parameter Inspires: - prompt: POV helmet-cam barrelling down a narrow singletrack through a redwood forest at golden hour, front wheel chattering over roots, ferns whipping past the lens, shafts of low sun strobing between trunks, the trail drops into a bermed left-hander and the bike leans hard. Handheld GoPro realism, slight lens flare, dust motes in the light, tyre crunch and rushing wind audio. - inputImage: - prompt: A supercell thunderstorm rolls over an endless wheat field at dusk, the camera creeps low through the grain as wind bends it in waves, lightning flickers inside the cloud wall and briefly lights the whole plain violet, first raindrops hit the dust. Anamorphic wide lens, deep teal and amber grade, filmic grain, distant thunder and hissing wind audio. - inputImage: - prompt: A pair of worn sneakers steps into frame and a hand reaches down to snatch the skateboard off the concrete, the camera tilting up to follow it. The rider drops the board at the coping, steps on and rolls down the graffitied transition into the bowl, carving hard across the leaf-covered deep end so a wake of dry leaves bursts up and spirals through the golden light behind them. The camera swings around the lip and follows the line as low sun flares across the lens, dust and leaf fragments drifting in the air. Handheld 35mm realism, warm dusty golden-hour grade, shot from the deck looking down into the pool. Audio: urethane wheels roaring over concrete, the crack of the tail, leaves rustling, distant chain-link rattle. - inputImage: https://cdn.wiro.ai/uploads/sampleinputs/seedance-2-5-sampleinput-3.jpeg - prompt: Cream swirls slowly through the coffee as a bead of condensation runs down the glass, the camera drifts in a smooth arc around the table while leaf shadows shift across the marble. Gentle cafe ambience, clinking ice, distant espresso machine audio. - inputImage: https://cdn.wiro.ai/uploads/sampleinputs/seedance-2-5-sampleinput-4.jpeg ## 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-5" -H "Content-Type: multipart/form-data" -H "x-api-key: ${YOUR_API_KEY}" -H "x-nonce: ${NONCE}" -H "x-signature: ${SIGNATURE}" -d '{ "inputImage": "", "prompt": "POV helmet-cam barrelling down a narrow singletrack through a redwood forest at golden hour, front wheel chattering over roots, ferns whipping past the lens, shafts of low sun strobing between trunks, the trail drops into a bermed left-hander and the bike leans hard. Handheld GoPro realism, slight lens flare, dust motes in the light, tyre crunch and rushing wind audio.", "inputImageReference": "", "inputImageLast": "", "resolution": "720p", "ratio": "adaptive", "duration": "5", "generateAudio": "false", "outputFormat": "mp4", "promptEnhancement": "false", "watermark": "false", "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.