## Basic tool info Model name: MiniMax/hailuo-2.3 Model description: MiniMax Model cover: https://cdn.wiro.ai/uploads/models/MiniMax-hailuo-2.3-cover.mp4 Model categories: - tool - partner - MiniMax - text-to-video - image-to-video Model tags: - video generator Run Task Endpoint (POST): https://api.wiro.ai/v1/Run/minimax/hailuo-2-3 Get Task Detail Endpoint (POST): https://api.wiro.ai/v1/Task/Detail ## Model Inputs: - name: inputImageFirstUrl label: Image First URL help: First frame image for video generation. The output video will have the same aspect ratio as this image. type: text default: - name: prompt label: prompt help: The prompt to generate the video. type: textarea default: Close-up shot of a woman\'s hands gently stirring a matcha drink with a straw. The ice cubes subtly clink against the metal cup. The drink\'s surface subtly ripples, and tiny bubbles rise. The camera remains static but captures the subtle hand movements and the play of light on the cup and dress. Relaxed, soft lighting, naturalistic style. - name: promptOptimizer label: Prompt Optimizer help: The model will automatically optimize the incoming prompt to improve the generation quality If necessary. For more precise control, this parameter can be set to False, and the model will follow the instructions more strictly. At this time It is recommended to provide finer prompts for best results. type: select default: true options: - value: "false" label: false - value: "true" label: true - name: resolution label: resolution help: 1080P resolution can only produce 6s videos. type: select default: 768P options: - value: "768P" label: 768P - value: "1080P" label: 1080P - name: duration label: Duration help: If resolution set to 1080p duration is 6 seconds by default. 10 seconds videos only available for 768P. type: select default: 6 options: - value: "6" label: 6 - value: "10" label: 10 ## Model Parameter Inspires: - prompt: Camera smoothly pans right along the row of colorful buildings, revealing more of the street life and the Inn River flowing gently. Birds fly leisurely across the clear blue sky, casting subtle shadows. Sunlight glistens off the snow-capped mountains in the background, making them appear even more majestic. The tree in the foreground subtly sways with a gentle breeze. Establishing shot, realistic, bright daylight. - inputImageFirst: https://cdn.wiro.ai/uploads/sampleinputs/minimax-haulio-2-3-input-1.jpg - prompt: Close-up shot of a woman\'s hands gently stirring a matcha drink with a straw. The ice cubes subtly clink against the metal cup. The drink\'s surface subtly ripples, and tiny bubbles rise. The camera remains static but captures the subtle hand movements and the play of light on the cup and dress. Relaxed, soft lighting, naturalistic style. - inputImageFirst: https://cdn.wiro.ai/uploads/sampleinputs/minimax-haulio-2-3-input-2.jpg - prompt: Static shot on the tabby cat sitting placidly in front of the blue window. The cat slowly blinks and shifts its gaze, looking directly at the viewer, then perhaps to the left. A gentle breeze causes faint movement in the dried leaves behind the window panes. The sunlight subtly shifts, causing minor changes in highlights on the stone wall and the cat\'s fur. Peaceful, rustic, natural light. - inputImageFirst: https://cdn.wiro.ai/uploads/sampleinputs/minimax-haulio-2-3-input-3.jpg - prompt: Extreme close-up on the face of a grizzled, 40-year-old space captain wearing a worn uniform in the dimly lit cockpit of a spaceship. A single tear rolls down his cheek as his eyes are wide with a mixture of grief and determination. The camera holds, with a subtle, slow zoom in. Dramatic Rembrandt lighting, hyperrealistic film grain. - inputImageFirst: - prompt: Drone shot flying over a dense, ancient forest at golden hour. The camera pans down slowly to reveal a massive, glowing waterfall cascading into a turquoise pool, with a dragon silhouette flying in the distant background. Ethereal, epic fantasy style, soft volumetric light rays filtering through the canopy. - inputImageFirst: - prompt: Wide shot of a bustling medieval marketplace. Dolly in slowly through a large crowd of townspeople who are all cheering and throwing flowers toward the camera. A group of four dancers in the foreground execute a smooth, synchronized folk-dance routine. The camera holds steady on the foreground action while the crowd in the background is alive with motion. Vibrant colors, cinematic historical drama style. - inputImageFirst: ## 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/minimax/hailuo-2-3" -H "Content-Type: multipart/form-data" -H "x-api-key: ${YOUR_API_KEY}" -H "x-nonce: ${NONCE}" -H "x-signature: ${SIGNATURE}" -d '{ "inputImageFirstUrl": "minimax-haulio-2-3-input-2.jpg", "prompt": "Close-up shot of a woman\\'s hands gently stirring a matcha drink with a straw. The ice cubes subtly clink against the metal cup. The drink\\'s surface subtly ripples, and tiny bubbles rise. The camera remains static but captures the subtle hand movements and the play of light on the cup and dress. Relaxed, soft lighting, naturalistic style.", "promptOptimizer": "true", "resolution": "768P", "duration": "6", "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.