Sozdai LogoDocs
Docs/Video/Text to Image

Minimax H3· Text to Image

Text to Image
POSThttps://api.sozdai.ai/v1/media/generations

#Submit a task

Media generation is asynchronous: you get a task id immediately, without waiting.

bash
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

ParameterTypeRequiredDefaultDescription
promptstringYes
Text prompt describing the video (max 7000 chars). Required in every mode.
first_frame_urlstringNo
First-frame image URL (image-to-video). JPG/PNG/WEBP/HEIC ≤30MB, 256–5760px, W/H ratio 0.4–2.5.
last_frame_urlstringNo
Last-frame image URL; must be paired with first_frame_url.
reference_image_urlsstring[]No
Reference images (max 9). Mutually exclusive with first/last frame.
reference_video_urlsstring[]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_urlsstring[]No
Reference audio for voice/timbre (max 3, each 2–15s, total ≤15s; WAV/MP3 ≤15MB).
resolutionstringNo768P
Output resolution; higher costs more per second — see the pricing page.
Options: 768P, 2K
durationnumberNo5
Video duration in seconds, integer 4–15. Billed per second.
ratiostringNoadaptive
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_urlstringNo
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).

GEThttps://api.sozdai.ai/v1/media/generations/{id}
bash
# 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

json
{
  "id": "cmus7q0x9000108l3f5g2abcd",
  "status": "queued",
  "type": "video",
  "model": "minimax-h3"
}

On success (after polling)

json
{
  "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

FieldTypeDescription
statusstringTask status: queued / submitted / succeeded / failed / timeout.
typestringMedia type: image / video / music.
modelstringThe model you requested.
resultobjectPresent on success. result.urls is an array of permanent file URLs.
errorstringError message, present when the task failed.
coststringAmount charged for this task — a USD string (e.g. "0.1200"). See the currency field.
currencystringCurrency of cost — always "USD".