## Basic tool info Model name: alibaba/wan 2.6 Model description: Generates videos from text prompts or images using Alibaba's Wan 2.6 model. Supports multiple modes and customization options. Model cover: https://cdn.wiro.ai/uploads/models/alibaba-wan-2-6-cover.webp Model categories: - tool - partner - text-to-video - image-to-video - reference-to-video - alibaba - nogpu-pipeline Model tags: - video generator - alibaba Run Task Endpoint (POST): https://api.wiro.ai/v1/Run/alibaba/wan-2-6 Get Task Detail Endpoint (POST): https://api.wiro.ai/v1/Task/Detail ## Model Inputs: - name: mode label: Mode help: Required. t2v model does not have std or pro mode type: select default: std options: - value: "std" label: std - value: "pro" label: pro - name: inputImage label: Image help: Optional. If image is provided ratio will be determined by the model. type: combinefileinput default: alibaba-wan-26-input-2.jpg - name: prompt label: prompt help: The prompt to generate the video. type: textarea default: Cinematic documentary style, National Geographic aesthetic, hyper-realistic, high contrast lighting. Single Continuous Shot: A slow, steady aerial drone push-in moving up the razor-sharp ridge of a massive, towering orange sand dune. The dune is starkly divided by bright sunlight on the right and deep shadow on the left. A long, winding line of tiny explorers slowly treks up the sunlit edge. As the camera smoothly glides forward and upward, the hikers continuously struggle against the incline, their boots sinking deep into the soft sand. High desert winds visibly whip fine, shimmering streams of sand off the sharp crest of the dune into the air. Audio: The constant, deep howling of sweeping desert winds and the rhythmic, heavy crunching of boots dragging through deep sand. - name: negativePrompt label: Negative Prompt help: Specify what to exclude from the output. type: textarea default: - name: inputAudio label: Audio help: Optional. r2v model does not accept audio file. If provided audioEnabled will be true by default type: combinefileinput default: - name: inputImage2 label: References help: Optional. For r2v only. Provide reference images to extract character appearance and voice. Limits: 0-5 images. Order matters: first = character1, second = character2, etc. Each file must contain only one main character. Each reference file must contain only one main character. For example, character1 is a little girl, and character2 is an alarm clock. type: combinefileinput default: - name: audioEnabled label: Enabled Audio help: Optional. If mode is pro, it will be set to true by default. Only allowed in image to video generation. type: select default: false options: - value: "false" label: false - value: "true" label: true - 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: 1080P options: - value: "720P" label: 720P - value: "1080P" label: 1080P - name: ratio label: Ratio help: Required for text to video and reference to video. If image is provided this will not take effect, model will try to match the closest ratio. type: select default: 16:9 options: - value: "16:9" label: 16:9 - value: "9:16" label: 9:16 - value: "1:1" label: 1:1 - value: "4:3" label: 4:3 - value: "3:4" label: 3:4 - name: shotType label: Shot Type help: Enable multi-shot video generation. type: select default: single options: - value: "single" label: single - value: "multi" label: multi - name: promptExtend label: Prompt Extend help: Optional. Required to be true if Multi Shot is enabled for i2v/t2v. Not used for r2v. type: select default: false options: - value: "false" label: false - value: "true" label: true - name: watermark label: Watermark help: Optional. Add 'AI Generated' watermark in the lower-right corner. type: select default: false options: - value: "false" label: false - value: "true" label: true - name: seed label: Seed help: Optional. Random seed for reproducibility (0-21474836). type: number default: ## Model Parameter Inspires: - prompt: Cinematic landscape photography, moody and cozy atmosphere, sharp focus, natural lighting. Single Continuous Shot: A slow, smooth dolly camera movement pushing forward from inside a dimly lit, rustic room towards a tall rectangular window. Framed perfectly through the glass is a colossal, snow-capped mountain peak (the Matterhorn) under a bright, overcast sky. As the camera slowly creeps closer to the window pane, the rugged, icy details of the mountain face become sharper, and faint wisps of snow can be seen blowing off the very top of the peak. The dark window frame and the small lantern on the sill slowly slide toward the edges of the frame. Audio: The muffled, distant sound of harsh, freezing wind blowing outside, contrasted with the subtle, warm crackle of an unseen fireplace inside the room. - inputImage: https://cdn.wiro.ai/uploads/sampleinputs/alibaba-wan-26-input-1.jpg - prompt: Cinematic documentary style, National Geographic aesthetic, hyper-realistic, high contrast lighting. Single Continuous Shot: A slow, steady aerial drone push-in moving up the razor-sharp ridge of a massive, towering orange sand dune. The dune is starkly divided by bright sunlight on the right and deep shadow on the left. A long, winding line of tiny explorers slowly treks up the sunlit edge. As the camera smoothly glides forward and upward, the hikers continuously struggle against the incline, their boots sinking deep into the soft sand. High desert winds visibly whip fine, shimmering streams of sand off the sharp crest of the dune into the air. Audio: The constant, deep howling of sweeping desert winds and the rhythmic, heavy crunching of boots dragging through deep sand. - inputImage: https://cdn.wiro.ai/uploads/sampleinputs/alibaba-wan-26-input-2.jpg - prompt: Warm golden hour lighting, soft focus, indie film aesthetic. Shot 1: A medium shot of a young woman with curly hair sitting on the hood of a vintage car parked at the edge of a cliff, looking at the sunset. Shot 2: The camera slowly pushes in as she turns her head toward the lens, her expression shifting from thoughtful to a warm, genuine smile. Shot 3: A close-up of her face as she clearly says the words, \\\"We finally made it.\\\" Audio: Soft wind blowing through dry grass, a distant acoustic guitar chord, and clear, natural female dialogue. - inputImage: - prompt: Studio commercial lighting, macro photography, 4k resolution, clean aesthetic. Shot 1: A slow pan across a sleek, frosted glass bottle of perfume sitting on a bed of dark green wet moss. Shot 2: An extreme close-up of a single water droplet sliding down the side of the glass bottle, reflecting soft studio lights. Shot 3: A dynamic wide shot as a burst of fine golden mist is sprayed from the nozzle, catching the backlight. Audio: Ambient forest sounds, a crisp crystalline ping, and the sharp, airy sound of a spray nozzle releasing mist. - inputImage: - prompt: 35mm film grain, cinematic moody lighting, hyper-realistic. Shot 1: A wide establishing shot of a neon-lit cyberpunk alleyway in the pouring rain; a mysterious figure in a dark trench coat stands under a flickering streetlamp. Shot 2: A fast tracking shot following the figure as they sprint splashing through deep puddles, glancing back over their shoulder. Shot 3: A tight close-up on the figure\'s face, breathing heavily, as a bright red neon light reflects in their eyes. Audio: Heavy rain pouring, rhythmic splashing footsteps, and a low, tense synthetic bass hum. - inputImage: ## 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/alibaba/wan-2-6" -H "Content-Type: multipart/form-data" -H "x-api-key: ${YOUR_API_KEY}" -H "x-nonce: ${NONCE}" -H "x-signature: ${SIGNATURE}" -d '{ "mode": "std", "inputImage": "alibaba-wan-26-input-2.jpg", "prompt": "Cinematic documentary style, National Geographic aesthetic, hyper-realistic, high contrast lighting. Single Continuous Shot: A slow, steady aerial drone push-in moving up the razor-sharp ridge of a massive, towering orange sand dune. The dune is starkly divided by bright sunlight on the right and deep shadow on the left. A long, winding line of tiny explorers slowly treks up the sunlit edge. As the camera smoothly glides forward and upward, the hikers continuously struggle against the incline, their boots sinking deep into the soft sand. High desert winds visibly whip fine, shimmering streams of sand off the sharp crest of the dune into the air. Audio: The constant, deep howling of sweeping desert winds and the rhythmic, heavy crunching of boots dragging through deep sand.", "negativePrompt": "", "inputAudio": "", "inputImage2": "", "audioEnabled": "false", "duration": 5, "resolution": "1080P", "ratio": "16:9", "shotType": "single", "promptExtend": "false", "watermark": "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.