## Basic tool info Model name: MiniMax/h3 lite r2v Model description: MiniMax H3 Lite R2V generates 4–15s videos from a prompt plus reference images, clips, and audio. It helps keep characters, style, and motion consistent. Model cover: https://cdn.wiro.ai/uploads/models/minimax-h3-lite-r2v-cover.mp4 Model categories: - tool - use-agent - nogpu-pipeline - image-to-video - partner - quick-showcase Run Task Endpoint (POST): https://api.wiro.ai/v1/Run/minimax/h3-lite-r2v Get Task Detail Endpoint (POST): https://api.wiro.ai/v1/Task/Detail ## Model Inputs: - name: inputImage label: Reference Images help: Optional. Subject or style references. Up to 9 images. Cite them in the prompt as Image 1, Image 2, and so on. At least one image or video is required when audio is used. Images, videos, and audio together max 12 files. type: combinefileinput default: https://cdn.wiro.ai/uploads/sampleinputs/minimax-h3-lite-r2v-sampleinput-1.webp - name: prompt label: Prompt help: Required. Describe the video and refer to inputs by order: Image 1, Video 1, Audio 1, and so on. type: textarea default: Image 1 is the brass pocket watch. An elderly clockmaker with silver hair and round glasses sits at a wooden workbench in his cozy clock repair shop, picks up the pocket watch, gently winds its crown, then opens the engraved lid and smiles as the second hand starts ticking. Warm lamp light, ticking wall clocks behind him, slow push-in. - name: duration label: Duration (seconds) help: Required. Length of the video in whole seconds, between 4 and 15. type: number default: 5 - name: resolution label: Resolution help: Required. Default 768P. Choose 480P for a faster, cheaper result. type: select default: 768P options: - value: "480P" label: 480P - value: "768P" label: 768P - name: inputVideo label: Reference Videos help: Optional. Motion references. Up to 3 clips, each 2–15 seconds, total at most 15 seconds. Cite them in the prompt as Video 1, Video 2, and so on. type: combinefileinput default: - name: inputAudio label: Reference Audios help: Optional. Voice or sound references. Up to 3 clips, each 2–15 seconds, total at most 15 seconds. Cannot be used alone — add at least one image or video. Cite them in the prompt as Audio 1, Audio 2, and so on. type: combinefileinput default: - name: ratio label: Aspect Ratio help: Optional. Default 9:16. Lite has no adaptive ratio. type: select default: 9:16 options: - 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 ## Model Parameter Inspires: - inputImage: https://cdn.wiro.ai/uploads/sampleinputs/minimax-h3-lite-r2v-sampleinput-1.webp - prompt: Image 1 is the brass pocket watch. An elderly clockmaker with silver hair and round glasses sits at a wooden workbench in his cozy clock repair shop, picks up the pocket watch, gently winds its crown, then opens the engraved lid and smiles as the second hand starts ticking. Warm lamp light, ticking wall clocks behind him, slow push-in. - inputImage: https://cdn.wiro.ai/uploads/sampleinputs/minimax-h3-lite-r2v-sampleinput-2.webp - prompt: Image 1 is the wooden violin and bow. A young street musician with dark curly hair and a gray wool coat stands under a stone archway on a cobblestone street at dusk, raises the violin to his chin and plays it, the bow gliding smoothly across the strings as he sways gently with the music, a couple walking by slows down to listen. Warm street lamp light, slow cinematic push-in. - inputImage: https://cdn.wiro.ai/uploads/sampleinputs/minimax-h3-lite-r2v-sampleinput-3.webp - prompt: Image 1 is the gray metal food truck. The food truck is parked on a busy Manhattan street at lunchtime, a vendor in an apron leans out of the serving window and hands a wrapped hot dog to a smiling customer, a short line of office workers waits on the sidewalk and yellow taxis drive past behind. Bright midday light, street-level camera slowly moving sideways. - inputImage: https://cdn.wiro.ai/uploads/sampleinputs/minimax-h3-lite-r2v-sampleinput-4.webp - prompt: Image 1 is the straw sun hat. A woman in a white linen dress walks along a sunny beach wearing the straw sun hat, a gust of wind lifts the hat off her head and it tumbles across the sand, she laughs and runs after it and catches it by the ribbon. Bright summer light, waves rolling in, camera tracking alongside her. ## Integration Header Prepare ```bash # Sign up Wiro dashboard and create project export YOUR_API_KEY="YOUR_WIRO_API_KEY"; 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/minimax/h3-lite-r2v" \ -H "Content-Type: application/json" \ -H "x-api-key: ${YOUR_API_KEY}" \ -H "x-nonce: ${NONCE}" \ -H "x-signature: ${SIGNATURE}" \ --data-binary @- <<'JSON' { "inputImage": [ "https://cdn.wiro.ai/uploads/sampleinputs/minimax-h3-lite-r2v-sampleinput-1.webp" ], "prompt": "Image 1 is the brass pocket watch. An elderly clockmaker with silver hair and round glasses sits at a wooden workbench in his cozy clock repair shop, picks up the pocket watch, gently winds its crown, then opens the engraved lid and smiles as the second hand starts ticking. Warm lamp light, ticking wall clocks behind him, slow push-in.", "duration": 5, "resolution": "768P", "inputVideo": "", "inputAudio": "", "ratio": "9:16", "callbackUrl": "You can provide a callback URL; Wiro will send a POST request to it when the task is completed." } JSON ``` ## 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: application/json" \ -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: application/json" \ -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", "totalcost": "0.003510000000", "chargedcost": "0.002808000000", "discountamount": "0.000702000000", "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 } ``` totalcost is the list price. chargedcost is the amount actually billed after any discount (a store fee is included on store runs); discountamount is the discount. chargedcost is null until the charge is recorded (shortly after task_postprocess_end) and "0" for a failed or cancelled task. ## Kill Task - Make HTTP Post Request with Task ID ```bash curl -X POST "https://api.wiro.ai/v1/Task/Kill" \ -H "Content-Type: application/json" \ -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: application/json" \ -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: application/json" \ -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.