## Basic tool info Model name: ByteDance/Seedance 2.0 Fast Reference Model description: Seedance 2.0 Fast R2V by ByteDance is the faster and lower-cost variant of Seedance 2.0 R2V, accepting reference images, videos and audios at 480p / 720p (1080p not supported). Model cover: https://cdn.wiro.ai/uploads/models/bytedance-seedance-2-0-fast-reference-cover.mp4 Model categories: - tool - partner - ByteDance - price-list - quick-showcase - video-to-video - nogpu-pipeline Model tags: - video generator - ByteDance Run Task Endpoint (POST): https://api.wiro.ai/v1/Run/bytedance/seedance-2-0-fast-reference Get Task Detail Endpoint (POST): https://api.wiro.ai/v1/Task/Detail ## Model Inputs: - name: inputVideo label: reference_videos help: Required. 1-3 reference videos (mp4). Input video duration 2-15 seconds. The provider may sometimes reject human faces. Final price is calculated from actual token usage after generation. type: combinefileinput default: seedance-2-0-r2v-input-1.mp4 - name: prompt label: Prompt help: Optional. The prompt to generate the video. Refer to reference videos as [Video 1], images as [Image 1], etc. type: textarea default: Keep the exact pour trajectory, speed and steam choreography, but replace the liquid with thick golden honey falling over a stack of buttermilk pancakes on a rustic oak table, soft bakery lighting, 35mm film look. - 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: number default: 5 - 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: Keep the exact pour trajectory, speed and steam choreography, but replace the liquid with thick golden honey falling over a stack of buttermilk pancakes on a rustic oak table, soft bakery lighting, 35mm film look. - inputVideo: https://cdn.wiro.ai/uploads/sampleinputs/seedance-2-0-r2v-input-1.mp4 - prompt: Reuse the same orbiting camera move and spin timing, but replace the subject with an astronaut in a white suit gracefully rotating on the lunar surface, Earth rising on the horizon, stars in the black sky, photoreal. - inputVideo: https://cdn.wiro.ai/uploads/sampleinputs/seedance-2-0-r2v-input-2.mp4 - prompt: Keep the same red fox and the same trotting gait and tracking angle, but move the scene to a rain-soaked cyberpunk rooftop at night, pink and cyan neon reflecting off wet tiles, billboards flickering in the background. - inputVideo: https://cdn.wiro.ai/uploads/sampleinputs/seedance-2-0-r2v-input-4.mp4 - prompt: Use the exact same sprint, leap, and roll choreography plus the behind-the-back camera motion, but re-skin the runner as a medieval ninja in black robes crossing tiled temple rooftops under a full moon, cherry blossoms drifting, Kurosawa-inspired cinematography. - inputVideo: https://cdn.wiro.ai/uploads/sampleinputs/seedance-2-0-r2v-input-3.mp4 ## 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-reference" -H "Content-Type: multipart/form-data" -H "x-api-key: ${YOUR_API_KEY}" -H "x-nonce: ${NONCE}" -H "x-signature: ${SIGNATURE}" -d '{ "inputVideo": "seedance-2-0-r2v-input-1.mp4", "prompt": "Keep the exact pour trajectory, speed and steam choreography, but replace the liquid with thick golden honey falling over a stack of buttermilk pancakes on a rustic oak table, soft bakery lighting, 35mm film look.", "inputImage": "", "inputImageLast": "", "inputImageReference": "", "inputAudio": "", "resolution": "720p", "ratio": "adaptive", "duration": 5, "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.