## Basic tool info Model name: MiniMaxAI/MiniMax-H3-Image Model description: MiniMax H3 Image by MiniMaxAI generates and edits still images up to 20MP. Combine up to 16 references and long prompts for precise layouts and text. Model cover: https://cdn.wiro.ai/uploads/models/minimaxai-minimax-h3-image-cover.webp Model categories: - model - persistent - H200 - hero-showcase - quick-showcase - fast-inference - price-list - text-to-image - image-to-image Model tags: - text-to-video - audio-video - fastvideo - fasth3 - fasth3-v2 - minimax-h3 - h200 Run Task Endpoint (POST): https://api.wiro.ai/v1/Run/minimaxai/minimax-h3-image Get Task Detail Endpoint (POST): https://api.wiro.ai/v1/Task/Detail ## Model Inputs: - name: prompt label: Prompt help: Required. A detailed English description of the whole image works best: subject, setting, lighting, style and any text to render. With input images, refer to them as , , ... in upload order, e.g. "Keep the person in and place them in the room from ". type: textarea default: Keep the street corner in exactly as it is: the same buildings, the pale blue cafe with its striped awning and the "CAFE LUMEN" sign, the tables, the red bicycle by the lamppost and the same camera angle. Change only the season and the time of day: make it a snowy winter evening at blue hour. Fresh snow covers the rooftops, the awning, the tables, the window boxes and the cobblestones, with a trail of footprints along the pavement. Warm golden light glows from the cafe windows and from the lit lamppost, strings of small warm bulbs hang across the street, and light snow is falling. The sky is a deep twilight blue. A photorealistic photograph with a cozy winter atmosphere. - name: inputImage label: Input Image help: Optional. Up to 16 reference images (URLs or files) to edit or combine; leave empty to generate from the prompt alone. Each image must be at least 64 pixels on each side. type: combinefileinput default: https://cdn.wiro.ai/uploads/sampleinputs/minimaxai_minimax_h3_image_input_1-1.jpg - name: aspectRatio label: Aspect Ratio help: Output shape. 'auto' follows the first input image when one is given, otherwise 1:1. type: select default: auto options: - value: "auto" label: auto - value: "1:1" label: 1:1 - value: "4:3" label: 4:3 - value: "3:4" label: 3:4 - value: "3:2" label: 3:2 - value: "2:3" label: 2:3 - value: "16:9" label: 16:9 - value: "9:16" label: 9:16 - value: "21:9" label: 21:9 - value: "9:21" label: 9:21 - name: resolution label: Resolution help: Output size. 4K is MiniMax's recommended size table, e.g. 4096x4096 for 1:1 and 5472x3072 for 16:9. The model always draws at 4 MP or more, so 1K costs the same time as 2K and is resized down. type: select default: 1K options: - value: "1K" label: 1K (~1 MP) - value: "2K" label: 2K (~4 MP) - value: "4K" label: 4K (~16 MP) - name: samples label: Samples help: Number of images to generate, each with the next seed. type: number default: 1 - name: seed label: Seed help: Random seed for reproducible generation. Leave zero to randomize the seed. type: number default: 0 - name: outputFormat label: Output Format help: File format of the output. A 4K PNG is several tens of MB; JPEG and WEBP are saved at quality 95. type: select default: png options: - value: "png" label: PNG - value: "jpeg" label: JPEG - value: "webp" label: WEBP ## Model Parameter Inspires: - prompt: Keep the street corner in exactly as it is: the same buildings, the pale blue cafe with its striped awning and the "CAFE LUMEN" sign, the tables, the red bicycle by the lamppost and the same camera angle. Change only the season and the time of day: make it a snowy winter evening at blue hour. Fresh snow covers the rooftops, the awning, the tables, the window boxes and the cobblestones, with a trail of footprints along the pavement. Warm golden light glows from the cafe windows and from the lit lamppost, strings of small warm bulbs hang across the street, and light snow is falling. The sky is a deep twilight blue. A photorealistic photograph with a cozy winter atmosphere. - inputImage: https://cdn.wiro.ai/uploads/sampleinputs/minimaxai_minimax_h3_image_input_1-1.jpg - aspectRatio: auto - resolution: 4K - seed: 3301 - outputFormat: jpeg - prompt: A full-body fashion editorial photograph. The woman from , with exactly the same face, short curly copper-red hair and freckles, wears the mustard-yellow corduroy jacket from open over her white t-shirt, keeping the jacket's color, sherpa collar, chest pockets, buttons and stitching exactly as in , together with her light blue jeans and white sneakers. She stands on the stone steps of the tiled hillside street from , one hand in her jacket pocket and the other holding a paper coffee cup, smiling at the camera. Warm golden afternoon light from the side, natural shadows on the tiles, shallow depth of field, photorealistic 50mm photograph. - inputImage: https://cdn.wiro.ai/uploads/sampleinputs/minimaxai_minimax_h3_image_input_2-1.jpg,https://cdn.wiro.ai/uploads/sampleinputs/minimaxai_minimax_h3_image_input_2-2.jpg,https://cdn.wiro.ai/uploads/sampleinputs/minimaxai_minimax_h3_image_input_2-3.jpg - aspectRatio: 2:3 - resolution: 4K - seed: 3302 - outputFormat: jpeg - prompt: A vintage screen-printed travel poster for a fictional seaside town. At the top, large cream-colored Art Deco lettering reads "PORT ALDERA". The center shows a white lighthouse with a red band on a rocky green headland at sunset, with three sailboats on a calm teal sea and seagulls in an orange and coral sky. At the bottom, a navy band holds the text "SUMMER FERRY | DAILY 09:00 - 18:00" in cream capitals, and below it in smaller letters "EST. 1924". Flat limited palette of teal, coral, cream and navy, visible halftone dots, slight ink misregistration and aged paper texture at the edges. - inputImage: - aspectRatio: 2:3 - resolution: 4K - seed: 2201 - outputFormat: jpeg - prompt: An extreme close-up macro photograph of a blue-green dragonfly resting on a thin reed stem at dawn. Its large compound eyes show a fine honeycomb texture, its transparent wings reveal a dense network of dark veins with tiny water droplets clinging to them, and its slender abdomen has a metallic turquoise sheen. Dew drops along the reed reflect the sunrise. The background is a soft out-of-focus wash of pale gold and green from a misty pond. Shallow depth of field, soft natural side light, ultra-detailed 100mm macro photograph. - inputImage: - aspectRatio: 16:9 - resolution: 4K - seed: 2203 - outputFormat: jpeg ## 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/minimaxai/minimax-h3-image" \ -H "Content-Type: application/json" \ -H "x-api-key: ${YOUR_API_KEY}" \ -H "x-nonce: ${NONCE}" \ -H "x-signature: ${SIGNATURE}" \ --data-binary @- <<'JSON' { "prompt": "Keep the street corner in exactly as it is: the same buildings, the pale blue cafe with its striped awning and the \"CAFE LUMEN\" sign, the tables, the red bicycle by the lamppost and the same camera angle. Change only the season and the time of day: make it a snowy winter evening at blue hour. Fresh snow covers the rooftops, the awning, the tables, the window boxes and the cobblestones, with a trail of footprints along the pavement. Warm golden light glows from the cafe windows and from the lit lamppost, strings of small warm bulbs hang across the street, and light snow is falling. The sky is a deep twilight blue. A photorealistic photograph with a cozy winter atmosphere.", "inputImage": [ "https://cdn.wiro.ai/uploads/sampleinputs/minimaxai_minimax_h3_image_input_1-1.jpg" ], "aspectRatio": "auto", "resolution": "1K", "samples": 1, "seed": 0, "outputFormat": "png", "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.