## Basic tool info Model name: ByteDance/seedance-v1-pro-fast Model description: Generate videos from text prompts or images using the Seedance V1 Pro Fast model. Supports multiple resolutions and aspect ratios. Model cover: https://cdn.wiro.ai/uploads/models/bytedance-seedance-v1-pro-fast-cover.mp4 Model categories: - tool - text-to-video - partner - ByteDance - price-list - image-to-video - wiro-app - videomagic - wiro-video - nogpu-pipeline Model tags: - video generator - ByteDance Run Task Endpoint (POST): https://api.wiro.ai/v1/Run/bytedance/seedance-v1-pro-fast Get Task Detail Endpoint (POST): https://api.wiro.ai/v1/Task/Detail ## Model Inputs: - name: inputImage label: Image help: Required if there is no prompt. type: combinefileinput default: bytedance-seedance-v1-pro-fast-input-1.jpg - name: prompt label: Prompt help: Optional for i2v, required for t2v. The prompt to generate the video. type: textarea default: Cinematic documentary shot. The elderly barber\'s hands move with careful, precise motions, using the clippers and pink comb to gently trim the seated man\'s hair. The seated man breathes softly with subtle, natural facial micro-expressions. A few cut hair clippings gently fall onto the white protective cape. Natural lighting, hyper-realistic textures, static camera focusing on the authentic, subtle fluid motion of the haircutting process. - name: resolution label: Resolution help: Required. Video resolution type: select default: 480p options: - value: "480p" label: 480p - value: "720p" label: 720p - value: "1080p" label: 1080p - name: ratio label: Ratio help: Required. Generate video aspect ratio. Adaptive is available for image to video only, if you send adaptive without image it will be set to 16:9 by default 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: "5" label: 5 - value: "10" label: 10 - name: watermark label: Watermark help: Optional. Default false. 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. Default random. Seed integer to control the randomness of generated content. Set 0 to random. type: number default: 1 - name: cameraFixed label: Fix camera help: Optional. Default false. Whether to fix the camera position. type: select default: false options: - value: "false" label: false - value: "true" label: true ## Model Parameter Inspires: - prompt: Macro close-up shot, 1080p. A skilled barista carefully pouring steamed milk from a stainless steel pitcher into a ceramic cup of dark espresso, creating an intricate rosetta latte art pattern. Warm morning sunlight streams through a nearby cafe window, highlighting the rich steam rising from the cup. A soft, shallow depth of field blurs the bustling coffee shop in the background. Smooth, slow-motion pan following the pour. Hyper-realistic, rich natural colors, highly detailed textures. - inputImage: - prompt: Highly detailed commercial shot, 1080p resolution. A stylish fashion model in a vibrant, flowing red silk dress twirling gracefully under bright, warm studio lighting. The camera circles her in a continuous, smooth 360-degree orbit, capturing the dynamic, fluid rippling of the fabric. Gold confetti falls slowly around her. Sharp focus, energetic yet graceful motion, vibrant colors, ultra-detailed professional cinematography. - inputImage: - prompt: Cinematic documentary shot. The elderly barber\'s hands move with careful, precise motions, using the clippers and pink comb to gently trim the seated man\'s hair. The seated man breathes softly with subtle, natural facial micro-expressions. A few cut hair clippings gently fall onto the white protective cape. Natural lighting, hyper-realistic textures, static camera focusing on the authentic, subtle fluid motion of the haircutting process. - inputImage: https://cdn.wiro.ai/uploads/sampleinputs/bytedance-seedance-v1-pro-fast-input-1.jpg - prompt: Cinematic street documentary shot. The older man actively plays the large accordion, the bellows fluidly expanding and contracting as his fingers move nimbly across the keys and buttons. He sways gently to the music, his facial expression relaxed and slightly looking upwards. Subtle, natural movements in the folds of his dark clothing. The camera executes a very slow, smooth push-in. Soft, natural daylight highlighting the textured beige wall and the intricate details of the instrument. Hyper-realistic, authentic, lifelike motion. - inputImage: https://cdn.wiro.ai/uploads/sampleinputs/bytedance-seedance-v1-pro-fast-input-2.jpg ## 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-v1-pro-fast" -H "Content-Type: multipart/form-data" -H "x-api-key: ${YOUR_API_KEY}" -H "x-nonce: ${NONCE}" -H "x-signature: ${SIGNATURE}" -d '{ "inputImage": "bytedance-seedance-v1-pro-fast-input-1.jpg", "prompt": "Cinematic documentary shot. The elderly barber\\'s hands move with careful, precise motions, using the clippers and pink comb to gently trim the seated man\\'s hair. The seated man breathes softly with subtle, natural facial micro-expressions. A few cut hair clippings gently fall onto the white protective cape. Natural lighting, hyper-realistic textures, static camera focusing on the authentic, subtle fluid motion of the haircutting process.", "resolution": "480p", "ratio": "adaptive", "duration": "5", "watermark": "false", "seed": 1, "cameraFixed": "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.