APIMODELSAPIMODELS
Documentação da API

apimodels.app

MiniMax H3 Image API

The MiniMax H3 Image API in two tiers: minimax-h3-image (standard) and minimax-h3-image-highspeed (faster). One endpoint covers text-to-image and editing: a prompt alone, or a prompt plus 1–16 reference images; 1–10 images per request at 1K / 2K / 4K (default 2K) in any ratio from 1:3 to 3:1, or an exact size between 655,360 and 20,000,000 pixels. Both tiers take the same request and differ only in speed and price.

Autenticação

All requests carry the API key in the header:

Authorization: Bearer YOUR_API_KEY

Preços

Itemminimax-h3-imageminimax-h3-image-highspeed
Per output image · 1K / 2K$0.03$0.05
Per output image · 4K$0.10$0.18
Per reference image+$0.01+$0.015

An exact size is priced by area: up to 5,033,165 pixels at the 1K / 2K price, above that at the 4K price. The text prompt is free. Credit for n images plus every reference image is reserved when the task is created; on completion you are charged only for the images actually delivered and the rest is released. A request that fails entirely costs nothing.

Text-to-image

POST/v1/images/generations

Async by default: create returns a taskId; poll GET ?task_id= until completed and read resultUrls (one URL per image), or receive a webhook via callback_url. In our tests a 1K 16:9 text-to-image request took about 10 seconds and returned 1360×768; a 1K poster on Highspeed took about 6 seconds. 4K and several images per request take longer.

# Text-to-image — create returns a taskId, then poll for the result.
curl -X POST https://api.apimodels.app/v1/images/generations \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "minimax-h3-image",
    "prompt": "A cozy cafe counter at golden hour, a ceramic latte cup with leaf latte art and rising steam, a croissant on a small plate, warm window light, shallow depth of field, film grain",
    "resolution": "1K",
    "aspect_ratio": "16:9",
    "n": 2
  }'
# → { "code": 200, "data": { "taskId": "...", "state": "pending", "model": "minimax-h3-image" } }

curl "https://api.apimodels.app/v1/images/generations?task_id=TASK_ID" \
  -H "Authorization: Bearer YOUR_API_KEY"
# → { "code": 200, "data": { "state": "completed", "resultUrls": ["https://r2.apimodels.app/...", "https://r2.apimodels.app/..."] } }

Editing · combining pictures

Include image (one) or images (up to 16) to edit or combine; refer to them as image 1, image 2 in the prompt. References can be public URLs or data URIs; anything above about 2.4 megapixels is scaled down before it is sent. An edit with one 1K reference image took about 16 seconds in our test.

# Edit / combine — 1 to 16 reference images (+$0.01 each, +$0.015 on Highspeed).
curl -X POST https://api.apimodels.app/v1/images/generations \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "minimax-h3-image",
    "prompt": "Replace the croissant on the plate with a slice of strawberry cheesecake. Keep the cup, saucer, latte art, steam, table, window light and everything else exactly the same.",
    "image": "https://example.com/cafe.jpg",
    "resolution": "1K",
    "aspect_ratio": "16:9"
  }'

# Several references — refer to them as image 1, image 2 in the prompt.
curl -X POST https://api.apimodels.app/v1/images/generations \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "minimax-h3-image",
    "prompt": "put the vase from image 2 on the table in image 1; keep the room, furniture and lighting unchanged",
    "images": ["https://example.com/dining-room.jpg", "https://example.com/vase.png"]
  }'

One call, OpenAI style

Pass a WIDTHxHEIGHT size and no callback_url and the request stays open until the images are ready; the reply is { created, data: [{ b64_json, url, width, height }], size }, and "response_format": "url" leaves out the base64 copy. The OpenAI SDK's images.generate gets this same response. Give the call a generous timeout: 4K or several images can take more than a minute.

# One call: an exact WIDTHxHEIGHT size and no callback_url — the images come back in this response.
curl -X POST https://api.apimodels.app/v1/images/generations \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "minimax-h3-image-highspeed",
    "prompt": "A minimalist jazz night poster: a deep blue background, a gold trumpet silhouette, the headline \"BLUE NOTE FRIDAY\" in large elegant serif letters, and a smaller line \"Live at The Lantern Room - 9 PM\" at the bottom",
    "size": "2720x1536",
    "response_format": "url"
  }'
# → { "created": ..., "data": [{ "url": "https://r2.apimodels.app/...", "width": 2720, "height": 1536 }], "size": "2720x1536" }

Parâmetros

FieldRequiredTypeDescription
modelYesstringminimax-h3-image or minimax-h3-image-highspeed (MiniMax's spelling, MiniMax-H3-Image / MiniMax-H3-Image-Highspeed, also works)
promptYesstringRequired, up to 32,000 characters; refer to reference images as image 1, image 2
nNointeger1–10, default 1; only delivered images are charged
resolutionNostring1K / 2K / 4K (default 2K); area is accepted too
aspect_ratioNostringauto (default, the model picks from the prompt) or any X:Y between 1:3 and 3:1, e.g. 16:9, 4:5, 21:9
sizeNostringExact size such as 2720x1536; 655,360–20,000,000 pixels and 1:3–3:1. When size is set, resolution and aspect_ratio no longer apply; without callback_url the images come back in the same response
image / images / image_urlsNostring / string[]1–16 reference images (URL or data URI); each 128–8192 px per side, the long side at most 4× the short side, up to 64 MB
output_formatNostringjpeg (default) / png / webp
output_compressionNointeger0–100, default 95; higher means better quality and larger files; jpeg / webp only
disable_prompt_enhancedNobooleantrue turns off prompt enhancement; text-to-image only, and needs an aspect_ratio (X:Y) or size
aigc_watermarkNobooleantrue adds a visible AI-generated label to the image, default false; the implicit label in the file metadata is always written
response_formatNostringOne-call mode: b64_json (default, url included) or url
callback_urlNostringWebhook URL called when the task completes

Limits

  • Masks (mask / mask_url), transparent backgrounds (background: "transparent"), negative_prompt and seed are not supported and return 400.
  • n above 10, more than 16 reference images, a shape beyond 1:3–3:1 and a size outside 655,360–20,000,000 pixels all return 400.
  • Edits always use prompt enhancement; disable_prompt_enhanced applies to text-to-image only.
  • There is no seed, so the same request returns a different picture each time.
  • Parameters that cannot be honoured return 400 with the reason instead of being silently ignored.

Not every request succeeds

Content review can refuse a prompt or an image, and the upstream occasionally returns a temporary error. When you ask for several images you pay only for the ones delivered; if the whole request fails nothing is charged and the reserved credit is released. The response carries the failure reason: for review refusals, change the prompt or image; for temporary errors, retry. Result files are deleted after 30 days, so download or re-host them promptly.

Try it in the playground: MiniMax H3 Image / Highspeed (one image per run there; use the API for several images, exact sizes and PNG / WebP). For transparent assets, see Seedream 5.5.

Perguntas frequentes

How do I edit an image with MiniMax H3 Image?

POST to /v1/images/generations with model minimax-h3-image, a prompt that says what to change, and the picture as image (or up to 16 pictures as images, called image 1, image 2 in the prompt). Each reference image adds $0.01 ($0.015 on Highspeed).

How much does MiniMax H3 Image cost?

Standard: $0.03 per image at 1K or 2K and $0.10 at 4K, plus $0.01 per reference image. Highspeed: $0.05 and $0.18, plus $0.015 per reference image. Only delivered images are charged; failed requests are free.

Can I get the image back in one call?

Yes: pass an exact size such as 2720x1536 and no callback_url, or call images.generate from the OpenAI SDK with base_url https://api.apimodels.app/v1. Otherwise the call returns a taskId to poll.