Create task
Last updated September 7, 2026
Submit an async task for minimax/minimax-h3 through the unified entry point. Flat request body.
Submit a minimax/minimax-h3 video task through the unified entry point. The body is flat:
prompt, material and parameters all at the top level.
https://gateway.amux.ai/v1/tasksAuthorization
headerAuthorizationstringRequiredBearer <your Amux key> Your Amux API key.
Request
application/jsonmodelstringRequiredAlways minimax/minimax-h3. The manufacturer-free minimax-h3 works too, case-insensitively.
promptstringRequiredWhat to generate. Required, up to 7000 characters.
mediaarray<object>Input material; each item states its purpose via type. This model accepts: first_frame / last_frame / reference_image / reference_video / reference_audio. Public https URLs only.
›mediaarray<object>
type"first_frame" | "last_frame" | "reference_image" | "reference_video" | "reference_audio"RequiredWhat this material is for.
urlstringRequiredA public https URL. The model fetches it; Amux never does.
resolution"768P" | "2K"Default "768P"Output resolution tier. This is a pricing dimension -- the per-second rate follows it. This model has only 768P / 2K. The upstream marks it required, so when you omit it we send 768P and say so in the task's notes.
durationintegerDefault 4Output length in seconds, an integer from 4 to 15. This model has no automatic duration (-1). The upstream marks it required, so when you omit it we send 5 and note it.
aspect_ratio"adaptive" | "21:9" | "16:9" | "4:3" | "1:1" | "3:4" | "9:16"Aspect ratio. adaptive cannot be used for text-only generation (no material to follow); when omitted we send 16:9 and note it.
watermarkbooleanDefault falseWhether to stamp an AIGC watermark on the output.
webhook_urlstringCalled back when the task reaches a terminal state. This is the same thing as Amux's webhook_url — only the name differs; the payload matches the unified endpoint exactly. Must be a deliverable public https URL.
Response
200responseAccepted. Take id to GET /v1/tasks/{id} and poll.
400responseInvalid parameters, a missing prompt, or a material role this model does not accept.
402responseAvailable balance does not cover the reservation.
503responseNo provider can currently serve this model.
Relationship to the native shape
Billing, routing and reservation are identical; only the wire format differs:
| Native shape | This one | |
|---|---|---|
| Prompt and material | one content[] array | prompt plus media[] |
| Material purpose | role | media[].type |
| Material URL | nested image_url.url | flat media[].url |
| Ratio parameter | ratio | aspect_ratio |
| Usage and cost on retrieval | absent | present |
Accepted values
| Parameter | This model |
|---|---|
resolution | 768P / 2K |
duration | an integer from 4 to 15 |
aspect_ratio | adaptive (needs material) / 21:9 / 16:9 / 4:3 / 1:1 / 3:4 / 9:16 |
media[].type | one first frame, one last frame, nine reference images, three reference videos and three reference audio clips |
Note that prompt is required, and text-only generation needs a concrete
aspect_ratio — when you omit it we send 16:9 and say so in notes.
Billing
This model bills for input material: reference images per image and reference video by its input duration (at the output tier's rate); reference audio is free.
The cost in the example (0.36) is the price of 768P x 4s plus one reference image.
Submitting returns a task ID
Take id to the
retrieval endpoint and poll. Ten
minutes or more is normal for a video — do not hold an HTTP connection open for it.
curl https://gateway.amux.ai/v1/tasks \
-H "Authorization: Bearer $AMUX_API_KEY" \
-d '{
"model": "minimax/minimax-h3",
"prompt": "A ginger cat running through fresh snow, slow motion",
"resolution": "768P",
"duration": 4,
"aspect_ratio": "16:9"
}'{
"id": "task_01M1VD9E8WRYVBR7ES10SNQQQT",
"status": "queued",
"model": "minimax/minimax-h3",
"created_at": "<string>",
"output": {
"images": [
{}
],
"videos": [
{
"index": 0,
"url": "<string>"
}
]
},
"usage": {
"input_tokens": 0,
"output_tokens": 0,
"total_tokens": 0,
"output_video_seconds": 0
},
"cost": "0.36",
"notes": [
"<string>"
],
"error": {
"message": "<string>",
"code": "<string>"
}
}