Minimax H3· Text to Image
https://api.sozdai.ai/v1/media/generationsPricing Model
768P 2,55 ₽/s · 2K 5,1 ₽/s × 4–15s
Execution Flow
Asynchronous submission model. Submitting requests queues background workers.
#Submit a task
Media generation is asynchronous: you get a task id immediately, without waiting.
curl https://api.sozdai.ai/v1/media/generations \
-H "Authorization: Bearer $CORRY_KEY" \
-H "Content-Type: application/json" \
-d '{ "model": "minimax-h3", "prompt": "a cute robot mascot, flat vector logo" }'
# → { "id": "cmus7q0x9000108l3f5g2abcd", "status": "queued" }#Request parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
prompt | string | Yes | — | Text prompt describing the video (max 7000 chars). Required in every mode. |
first_frame_url | string | No | — | First-frame image URL (image-to-video). JPG/PNG/WEBP/HEIC ≤30MB, 256–5760px, W/H ratio 0.4–2.5. |
last_frame_url | string | No | — | Last-frame image URL; must be paired with first_frame_url. |
reference_image_urls | string[] | No | — | Reference images (max 9). Mutually exclusive with first/last frame. |
reference_video_urls | string[] | No | — | Reference videos (max 3, each 2–15s, total ≤15s; MP4/MOV ≤50MB). Mutually exclusive with first/last frame. Per-second price doubles when reference video is used. |
reference_audio_urls | string[] | No | — | Reference audio for voice/timbre (max 3, each 2–15s, total ≤15s; WAV/MP3 ≤15MB). |
resolution | string | No | 768P | Output resolution; higher costs more per second — see the pricing page. Options: 768P, 2K |
duration | number | No | 5 | Video duration in seconds, integer 4–15. Billed per second. |
ratio | string | No | adaptive | Aspect ratio. Text-to-video requires a concrete ratio (we default to 16:9 if omitted); image-to-video always follows the input image (adaptive). Options: adaptive, 21:9, 16:9, 4:3, 1:1, 3:4, 9:16 |
callback_url | string | No | — | Optional public http(s) URL. We POST the task result here the moment generation finishes (success or failure). |
#Poll for the result
Generation runs asynchronously — the submit call returns immediately with a task id. Poll this endpoint with that id every few seconds until status becomes succeeded (result ready) or a terminal error (failed / timeout).
https://api.sozdai.ai/v1/media/generations/{id}# take the id from the submit response, then poll every ~3s
curl https://api.sozdai.ai/v1/media/generations/cmus7q0x9000108l3f5g2abcd \
-H "Authorization: Bearer $CORRY_KEY"
# repeat until "status" is "succeeded" (or "failed" / "timeout")#Response example
On submit
{
"id": "cmus7q0x9000108l3f5g2abcd",
"status": "queued",
"type": "video",
"model": "minimax-h3"
}On success (after polling)
{
"id": "cmus7q0x9000108l3f5g2abcd",
"status": "succeeded",
"type": "video",
"model": "minimax-h3",
"result": { "urls": ["https://cdn.sozdai.ai/video/1782537315223-b49c0c1b771f.mp4"] },
"cost": "1.6000",
"currency": "USD"
}Response fields
| Field | Type | Description |
|---|---|---|
status | string | Task status: queued / submitted / succeeded / failed / timeout. |
type | string | Media type: image / video / music. |
model | string | The model you requested. |
result | object | Present on success. result.urls is an array of permanent file URLs. |
error | string | Error message, present when the task failed. |
cost | string | Amount charged for this task — a USD string (e.g. "0.1200"). See the currency field. |
currency | string | Currency of cost — always "USD". |