Skip to content

MiniMax-H3 Create Video Generation Task ​

Creates a video generation task via a multi-modal content array (text / image / video / audio), supporting text-to-video, image-to-video (first/last frame), and multi-modal reference-to-video. Two models are available: MiniMax/MiniMax-H3 (supports direct 2K output) and MiniMax/MiniMax-H3-Max (ultra-fast generation, up to 768P).

Endpoint ​

http
POST /minimax/v2/video_generation

Request Headers ​

ParameterTypeRequiredDefaultDescription
Content-TypestringYesapplication/jsonRequest body media type
AuthorizationstringYes-Authentication, format Bearer <API_KEY>

Request Body ​

ParameterTypeRequiredDescription
modelstringYesModel name. Available values: MiniMax/MiniMax-H3, MiniMax/MiniMax-H3-Max; see Model Comparison for capability differences
contentobject[]YesMulti-modal input array; each element is distinguished by type and annotated by role
resolutionstringYesVideo resolution. Available values: 480P, 768P, 2K; supported range differs per model, see Model Comparison
durationintegerYesVideo duration in seconds. MiniMax/MiniMax-H3 supports integers from 4 to 15; MiniMax/MiniMax-H3-Max supports integers from 5 to 15 (4 seconds is not supported)
ratiostringNoVideo aspect ratio, default adaptive. Available values: adaptive, 21:9, 16:9, 4:3, 1:1, 3:4, 9:16
extraobjectNoAdditional generation options, only supported by MiniMax/MiniMax-H3-Max; see extra Parameter Details
callback_urlstringNoCallback URL for task status changes
aigc_watermarkbooleanNoWhether to add an AIGC watermark, default false

Model Comparison ​

CapabilityMiniMax/MiniMax-H3MiniMax/MiniMax-H3-Max
PositioningGeneral high-quality generationUltra-fast generation version
Resolution768P, 2K480P, 768P (default 768P, 2K not supported)
Duration4–15 s5–15 s (4 s not supported)
Text-to-videoSupportedSupported
Image-to-video (first / last / first & last frame)SupportedSupported
Multi-modal reference-to-video (reference image / video / audio)SupportedSupported
extra extension parameterNot supportedSupported

The content element types, role usage, supported input combinations, and mutual exclusion rules are identical for both models and are described below.

content Element Details ​

Every request must include a non-empty text item (prompt is required); otherwise a parameter error is returned.

Supported Input Combinations ​

ScenarioCombination
Text-to-videoA single text element only
Image-to-video - first frametext + 1 image_url (role=first_frame or unset)
Image-to-video - last frametext + 1 image_url (role=last_frame)
Image-to-video - first & last frametext + 2 image_url (roles first_frame and last_frame)
Multi-modal reference-to-videotext + reference images (role=reference_image) + reference videos (role=reference_video) + reference audio (role=reference_audio)

Mutual exclusion: Image-to-video and multi-modal reference-to-video are mutually exclusive. If content contains any of reference_image / reference_video / reference_audio, it cannot contain first_frame / last_frame (and vice versa).

Input Media Limits ​

Total request body size ≤ 64 MB; use public URLs for large files, do not use Base64.

Input material can also be uploaded via the File Upload API first, then referenced as mm_file://{file_id} in the url field.

Image (image_url) ​

LimitDetail
FormatJPG, JPEG, PNG, WEBP, HEIC, HEIF
Single file size≤ 30 MB
Width/height range[256, 5760] px
Aspect ratio (w/h)[0.4, 2.5]
Countfirst frame ≤ 1, last frame ≤ 1, reference images ≤ 9

Video (video_url, multi-modal reference scenario only) ​

LimitDetail
Container/formatMP4 (.mp4), MOV (.mov)
CodecVideo H.264/AVC, H.265/HEVC; Audio AAC, MP3
Single file size≤ 50 MB
Count≤ 3
Per-segment duration[2, 15] s; total ≤ 15 s
Width/height range[256, 5760] px
Aspect ratio (w/h)[0.4, 2.5]
Frame rate[23.976, 60]

Audio (audio_url, multi-modal reference scenario only) ​

LimitDetail
FormatWAV, MP3
Single file size≤ 15 MB
Count≤ 3
Per-segment duration[2, 15] s; total ≤ 15 s

ratio Parameter Details ​

Scenarioratio Behavior
Text-to-video (content contains only text)ratio is required and cannot be adaptive
Image-to-video (contains first_frame / last_frame images)Aspect ratio determined by input image, always adaptive; other values are ignored
Multi-modal reference-to-videoratio optional, default adaptive; a specific ratio can be explicitly specified

extra Parameter Details ​

extra is an additional generation option exclusive to MiniMax/MiniMax-H3-Max; MiniMax/MiniMax-H3 does not support it. Currently only prompt_expansion_mode is supported:

FieldTypeRequiredDefaultDescription
extra.prompt_expansion_modestringNobalancedPrompt expansion mode. disabled: prompt expansion disabled; balanced: balanced expansion; quality: quality-first expansion

If extra is omitted, or this property is omitted from extra, it defaults to balanced.

Do not pass balance (note the spelling difference from balanced), an empty string, a boolean, or any other undeclared field; otherwise the request fails parameter validation with a 400 error.

callback_url Details ​

Once configured, the MiniMax server will:

  1. First send a verification request containing a challenge field (the server must return the challenge as-is within 3 seconds to complete verification)
  2. After verification, POST push notifications to this URL whenever the task status changes; the push body structure matches the query task response

Callback status values: queued, running, succeeded, failed, cancelled

Request Examples ​

bash
# Text-to-video (t2va)
curl --request POST \
  --url https://neolink.com/api/minimax/v2/video_generation \
  --header 'Authorization: Bearer <API_KEY>' \
  --header 'Content-Type: application/json' \
  --data '{
    "model": "MiniMax/MiniMax-H3",
    "content": [
      {
        "type": "text",
        "text": "史诗级太空歌剧院线预告:女舰长独自站在巨大观景窗前,最后一支舰队正在集结并跃迁离去,强光爆闪、舰桥震动,她被留在原地。"
      }
    ],
    "resolution": "2K",
    "duration": 5,
    "ratio": "16:9"
  }'

# Text-to-video (t2va) - MiniMax-H3-Max
curl --request POST \
  --url https://neolink.com/api/minimax/v2/video_generation \
  --header 'Authorization: Bearer <API_KEY>' \
  --header 'Content-Type: application/json' \
  --data '{
    "model": "MiniMax/MiniMax-H3-Max",
    "content": [
      {
        "type": "text",
        "text": "史诗级太空歌剧院线预告:女舰长独自站在巨大观景窗前,最后一支舰队正在集结并跃迁离去,强光爆闪、舰桥震动,她被留在原地。"
      }
    ],
    "resolution": "768P",
    "duration": 5,
    "ratio": "16:9",
    "extra": {
      "prompt_expansion_mode": "balanced"
    }
  }'

# Image-to-video (i2va)
curl --request POST \
  --url https://neolink.com/api/minimax/v2/video_generation \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "model": "MiniMax/MiniMax-H3",
  "content": [
    {
      "type": "text",
      "text": "Pull focus to the people in the background and add more steam to the ramen bowl."
    },
    {
      "type": "image_url",
      "image_url": {
        "url": "https://cdn.hailuoai.com/prod/hailuo_demo/testsets/H3_AA_I2VA/gallery/sr_v17_variants_seed42_43_20260724/inputs/4a3a90bf9100_KDmcbkhzYo5sjjxr9FqcVmWVnzb.png"
      },
      "role": "first_frame"
    }
  ],
  "resolution": "2K",
  "duration": 5,
  "ratio": "adaptive"
}
'

# Multi-modal reference-to-video (r2va)
curl --request POST \
  --url https://neolink.com/api/minimax/v2/video_generation \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "model": "MiniMax/MiniMax-H3",
  "content": [
    {
      "type": "text",
      "text": "角色说话:Follow the wind, live free.Leave worries behind, enjoy the moment,音色参考音频1"
    },
    {
      "type": "video_url",
      "video_url": {
        "url": "https://cdn.hailuoai.com/prod/hailuo_demo/testsets/h3_promo_eval_ref2va/gallery/sr_v2p26_trio_seed42_20260724/inputs/297573323635_00_%E8%A7%86%E9%A2%911_YnyRbxEwio_video_20260525_163755_1927e9d3.mp4"
      },
      "role": "reference_video"
    },
    {
      "type": "audio_url",
      "audio_url": {
        "url": "https://cdn.hailuoai.com/prod/hailuo_demo/testsets/h3_promo_eval_ref2va/gallery/sr_v2p26_trio_seed42_20260724/inputs/f463d523c5ce_01_%E9%9F%B3%E9%A2%911_RSLcbpzJPo_6%E6%9C%885%E6%97%A5(1).mp3"
      },
      "role": "reference_audio"
    }
  ],
  "resolution": "2K",
  "duration": 5,
  "ratio": "adaptive"
}
'

Success Response (HTTP 200) ​

json
{
  "task_id": "424010985738629"
}
FieldTypeDescription
task_idstringTask ID, used to query task status and results

Error Responses ​

HTTP StatusError TypeError CodeDescription
400bad_request_error2013Invalid params, content must include a non-empty text item
401authorized_error1004Authentication failed
402insufficient_balance_error1008Insufficient balance
422unprocessable_entity_error1026Video description contains sensitive content
429rate_limit_error1002Rate limit, please retry later
500server_error1000Internal error