ModelRover

MiniMax Video

Create text-to-video, image-to-video, and reference video tasks with MiniMax H3.

Endpoint

POST /v2/video_generation
Authorization: Bearer $API_KEY
Content-Type: application/json

Creates an asynchronous task and returns a task_id. Poll via GET /v2/query/video_generation/{taskId} or the common GET /v1/tasks/{taskId}.

Model capabilities

ModelResolutionsDurationReference-to-video
minimax/MiniMax-H3768P, 2K4–15simage / video / audio
minimax/MiniMax-H3-Highspeed768P4–15simage / video / audio
minimax/MiniMax-H3-Lite480P, 768P4–15simage / video / audio
minimax/MiniMax-H3-Max480P, 768P5–15simage / video / audio
minimax/MiniMax-H3-Max-Turbo768P, 2K4–15stext / image / first-last frame only

Request body

FieldTypeRequiredDescription
modelstringYesComplete public model ID.
contentarrayYesMultimodal input array; must include exactly one non-empty text item.
resolutionstringYesSee model capabilities above. Values are uppercase: 480P, 768P, 2K.
durationintegerYesOutput duration in seconds.
ratiostringConditionalRequired for text-to-video and must not be adaptive. Image-to-video always uses adaptive. Allowed values: adaptive, 21:9, 16:9, 4:3, 1:1, 3:4, 9:16.

Each content item:

typerole (optional)Description
text—Prompt (exactly one non-empty item required)
image_urlfirst_frame / last_frame / reference_imageImage URL or base64; ≤ 30 MB per image
video_urlreference_videoReference video; 2–15s per clip, ≤ 50 MB, up to 3 clips
audio_urlreference_audioReference audio; 2–15s per clip, ≤ 15 MB, up to 3 clips

MiniMax-H3-Max-Turbo does not support reference-to-video: reference_image, reference_video, and reference_audio are rejected; only text-to-video, image-to-video (first frame), and first-last-frame are accepted. On all other models, image-to-video and reference-to-video are mutually exclusive: if any reference_image, reference_video, or reference_audio role is present, first_frame and last_frame cannot appear, and vice versa. Total request body size is limited to 64 MB—use public URLs for large files rather than base64.

MiniMax-H3-Max accepts an optional extra.prompt_expansion_mode field (balanced or creative; defaults to balanced when omitted). Do not pass balance, an empty string, or undeclared fields.

Examples

curl "https://api.modelrover.ai/v2/video_generation" \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
  "model": "minimax/MiniMax-H3",
  "content": [
    { "type": "text", "text": "Epic space-opera teaser: a female captain stands alone before a massive observation window as the last fleet jumps away in a blinding flash, leaving her behind" }
  ],
  "resolution": "2K",
  "duration": 5,
  "ratio": "16:9",
  "callback_url": "https://example.com/hooks/video?token=unguessable"
}'

callback_url is a platform extension field consumed by the platform and not forwarded to the provider.

Create response

{
  "task_id": "424010985738629"
}

task_id is rewritten to the platform task ID.

Task response

curl "https://api.modelrover.ai/v2/query/video_generation/424010985738629" \
-H "Authorization: Bearer $API_KEY"
{
  "task": {
    "id": "424010985738629",
    "model": "MiniMax-H3",
    "status": "succeeded",
    "content": { "url": "https://cdn.hailuoai.com/..." },
    "resolution": "2K",
    "duration": 5,
    "usage": { "total_seconds": 5, "output_seconds": 5 },
    "ratio": "16:9",
    "task_type": "generation",
    "modality": "video"
  }
}

Task statuses are queued, processing, succeeded, and failed. Video results are temporarily retained for 48 hours and automatically deleted upon expiration—download and transfer them to your own storage immediately after completion.

Restrictions

  • mm_file:// local file references are rejected; use a public URL or base64 instead.
  • For MiniMax-H3-Max, the extra object only accepts prompt_expansion_mode; passing balance, an empty string, or undeclared fields returns an error.
  • Client routing and paid service-tier selections are rejected.

See Tasks and callbacks for polling, callback delivery, and task lifecycle.

Help us improve this page

Found something unclear, outdated, or incorrect?

Last updated on