## Basic tool info Model name: alibaba/wan 3.0 r2v Model description: Generate 2–30s MP4 videos from a prompt plus reference images, video, and audio. Wan 3.0 R2V helps keep subjects, motion, and style consistent. Model cover: https://cdn.wiro.ai/uploads/models/alibaba-wan-3-0-r2v-cover.mp4 Model categories: - tool - partner - nogpu-pipeline - image-to-video - alibaba - video-to-video - quick-showcase Run Task Endpoint (POST): https://api.wiro.ai/v1/Run/alibaba/wan-3-0-r2v Get Task Detail Endpoint (POST): https://api.wiro.ai/v1/Task/Detail ## Model Inputs: - name: inputImage label: Reference Images help: Optional. Up to 10 subject or style references. JPEG/JPG/PNG (no transparency)/BMP/WEBP, 240-8000px, ratio up to 8:1, max 20MB. type: combinefileinput default: alibaba-wan-3-r2v-sampleinput-1.jpeg - name: prompt label: prompt help: Required. The prompt to generate the video. You can point to the inputs by index, like "Image 1" or "Video 1". type: textarea default: A young player in a plain blue kit dribbles Image 1 across a floodlit stadium pitch at night, cutting past a defender who slides in and misses. He plants his left foot and strikes Image 1 hard, the ball curling through the air as the goalkeeper dives full stretch and fingertips it into the top corner. The camera tracks the run, then whips to the net rippling. Cinematic sports broadcast look, roaring crowd, sneaker squeaks and the thud of the strike. - name: duration label: Duration help: Required. Total duration of the generated video (in seconds) type: number default: 5 - name: resolution label: Resolution help: Required. Quality tier for the generated video type: select default: 480P options: - value: "480P" label: 480p - value: "720P" label: 720p - value: "1080P" label: 1080p - name: ratio label: Ratio help: Optional. Aspect ratio of the output. Adaptive derives it from the prompt and the input media. type: select default: adaptive options: - value: "adaptive" label: adaptive - value: "21:9" label: 21:9 - 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 - name: inputVideo label: Reference Videos help: Optional. Up to 5 reference videos, 15 seconds in total, max 100MB each. Their duration is billed on top of the generated video, and input plus output must stay within 30 seconds. type: combinefileinput default: - name: inputAudio label: Reference Audios help: Optional. Up to 5 reference audios, 15 seconds in total, wav or mp3, max 15MB each. type: combinefileinput default: - name: audioEnabled label: Enabled audio help: Optional. Whether the output carries an audio track. The price is the same either way. type: select default: false options: - value: "false" label: false - value: "true" label: true - name: promptExtend label: Prompt Extend help: Optional. Rewrites and expands the prompt for better detail, with slightly longer latency. Useful for short prompts. type: select default: false options: - value: "false" label: false - value: "true" label: true - name: seed label: Seed help: Optional. Random seed for reproducibility (0-2147483647). type: number default: ## Model Parameter Inspires: - prompt: A young player in a plain blue kit dribbles Image 1 across a floodlit stadium pitch at night, cutting past a defender who slides in and misses. He plants his left foot and strikes Image 1 hard, the ball curling through the air as the goalkeeper dives full stretch and fingertips it into the top corner. The camera tracks the run, then whips to the net rippling. Cinematic sports broadcast look, roaring crowd, sneaker squeaks and the thud of the strike. - inputImage: https://cdn.wiro.ai/uploads/sampleinputs/alibaba-wan-3-r2v-sampleinput-1.jpeg - prompt: A woman in a summer dress and a white open-face helmet walks up to Image 1, swings her leg over the seat and kicks it to life. She pulls away down a narrow sunlit cobblestone alley lined with terracotta buildings and hanging laundry, glancing back over her shoulder with a grin as pigeons scatter ahead of her. Warm golden afternoon light, handheld camera following behind, engine putter echoing off the walls. - inputImage: https://cdn.wiro.ai/uploads/sampleinputs/alibaba-wan-3-r2v-sampleinput-2.jpeg - prompt: Image 1 is curled on the wooden sill of a rain-streaked window in a cozy dim room. It lifts its head, ears twitching at a thunderclap, then rises, arches its back in a long stretch and paws at a droplet running down the glass. Warm lamp light against cool blue rain, gentle rainfall and distant thunder. - inputImage: https://cdn.wiro.ai/uploads/sampleinputs/alibaba-wan-3-r2v-sampleinput-3.jpeg - prompt: Image 1 stands on a wet black stone surface as the camera slowly orbits it. Ripples of golden light sweep across the glass, a thin mist rolls in around the base, and the cap lifts and floats upward in slow motion while soft particles drift through the beam of light. Luxury commercial look, dramatic lighting, subtle ambient shimmer. - inputImage: https://cdn.wiro.ai/uploads/sampleinputs/alibaba-wan-3-r2v-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}" | awk '{print $NF}')"; ``` ## Run Command - Make HTTP Post Request ```bash curl -X POST "https://api.wiro.ai/v1/Run/alibaba/wan-3-0-r2v" -H "Content-Type: multipart/form-data" -H "x-api-key: ${YOUR_API_KEY}" -H "x-nonce: ${NONCE}" -H "x-signature: ${SIGNATURE}" -d '{ "inputImage": "alibaba-wan-3-r2v-sampleinput-1.jpeg", "prompt": "A young player in a plain blue kit dribbles Image 1 across a floodlit stadium pitch at night, cutting past a defender who slides in and misses. He plants his left foot and strikes Image 1 hard, the ball curling through the air as the goalkeeper dives full stretch and fingertips it into the top corner. The camera tracks the run, then whips to the net rippling. Cinematic sports broadcast look, roaring crowd, sneaker squeaks and the thud of the strike.", "duration": 5, "resolution": "480P", "ratio": "adaptive", "inputVideo": "", "inputAudio": "", "audioEnabled": "false", "promptExtend": "false", "seed": null, "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.