Skip to main content
POST

Authorizations

Authorization
string
header
required

##All endpoints require Bearer Token authentication##

Get API Key:

Visit the API Key Management Page to obtain your API Key

Add to request header:

Body

application/json
model
enum<string>
default:minimax-h3-image-to-video
required

Video generation model name

Available options:
minimax-h3-image-to-video
Example:

"minimax-h3-image-to-video"

prompt
string
required

Describe how the input image should move, how the camera should change, and the desired video content.

Prompt requirements:

  • Required and cannot be empty
  • Chinese and English are supported
  • We recommend no more than 500 Chinese characters or 1000 English words; the model may ignore some details in an overly long prompt

Input restrictions:

  • Use image_start and/or image_end to provide keyframes
  • image_urls, video_urls, and audio_urls are not supported; supplying them returns a parameter error
Minimum string length: 1
Example:

"Pull focus from the ramen bowl in the foreground to the people in the background. More steam rises naturally from the bowl as the camera gently pushes forward; preserve the characters and restaurant setting."

image_start
string<uri>

HTTP(S) URL of the first-frame image.

Combination rules:

  • Provide at least one of image_start and image_end
  • image_start only: first-frame image-to-video
  • Both fields: first-and-last-frame image-to-video
  • At most 1 first frame; this field accepts one URL

Image requirements:

  • Formats: JPG, JPEG, PNG, WEBP, HEIC, HEIF
  • File size: no more than 30MB
  • Width and height: each from 256 to 5760 px
  • Aspect ratio (width/height): 0.42.5
  • The URL must use HTTP(S) and be directly accessible by the service
  • The complete JSON request body must not exceed 64MB; Base64 and mm_file:// inputs are not accepted
Example:

"https://cdn.hailuoai.com/prod/hailuo_demo/testsets/H3_AA_I2VA/gallery/sr_v17_variants_seed42_43_20260724/inputs/4a3a90bf9100_KDmcbkhzYo5sjjxr9FqcVmWVnzb.png"

image_end
string<uri>

HTTP(S) URL of the last-frame image.

Combination rules:

  • Provide at least one of image_end and image_start
  • image_end only: the model generates natural motion that ends on this frame
  • Both fields: first-and-last-frame image-to-video
  • At most 1 last frame; this field accepts one URL

Image requirements:

  • Formats: JPG, JPEG, PNG, WEBP, HEIC, HEIF
  • File size: no more than 30MB
  • Width and height: each from 256 to 5760 px
  • Aspect ratio (width/height): 0.42.5
  • The URL must use HTTP(S) and be directly accessible by the service
  • The complete JSON request body must not exceed 64MB; Base64 and mm_file:// inputs are not accepted
Example:

"https://images.unsplash.com/photo-1515003197210-e0cd71810b5f?auto=format&fit=crop&w=1920&q=85"

duration
integer
default:5

Output video duration in seconds. Defaults to 5 seconds.

Value restrictions:

  • Only integers from 5 through 15, inclusive, are supported
  • Decimals, numeric strings, auto, and -1 are not supported
  • Output duration directly affects billing
Required range: 5 <= x <= 15
Example:

5

quality
enum<string>
default:2k

Output video resolution. Defaults to 2k.

Available value:

  • 2k: the only resolution currently supported

Notes:

  • 768p is not yet available and returns a parameter error
  • Output bitrate, frame rate, video codec, and audio codec are selected by the platform and are not configurable
Available options:
2k
Example:

"2k"

aspect_ratio
enum<string>
default:adaptive

Output video aspect ratio. Defaults to adaptive.

Available values:

  • adaptive, 21:9, 16:9, 4:3, 1:1, 3:4, 9:16

Image-to-video behavior:

  • The actual aspect ratio is determined by the input image
  • Another valid value is accepted but ignored and treated as adaptive
  • A value outside the enum returns a parameter error
Available options:
adaptive,
21:9,
16:9,
4:3,
1:1,
3:4,
9:16
Example:

"adaptive"

callback_url
string<uri>

HTTPS callback URL for task completion

Callback timing:

  • Triggered when the task is completed or failed
  • Sent after billing confirmation is complete

Security restrictions:

  • Only HTTPS protocol is supported
  • Callbacks to private IP addresses are prohibited (127.0.0.1, 10.x.x.x, 172.16-31.x.x, 192.168.x.x, etc.)
  • URL length must not exceed 2048 characters

Callback mechanism:

  • Timeout: 10 seconds
  • Up to 3 retries after failure (at 1/2/4 seconds after failure respectively)
  • Callback response body format is consistent with the task query endpoint response format
  • A 2xx status code is considered successful; other status codes trigger retries
Pattern: ^https://
Example:

"https://your-domain.com/webhooks/video-task-completed"

Response

Video generation task created successfully

created
integer

Task creation timestamp

Example:

1761313744

id
string

Task ID

Example:

"task-unified-1774857405-abc123"

model
string

Actual model name used

Example:

"minimax-h3-image-to-video"

object
enum<string>

Specific type of the task

Available options:
video.generation.task
progress
integer

Task progress percentage (0-100)

Required range: 0 <= x <= 100
Example:

0

status
enum<string>

Task status

Available options:
pending,
processing,
completed,
failed
Example:

"pending"

task_info
object

Video task details

type
enum<string>

Output type of the task

Available options:
text,
image,
audio,
video
Example:

"video"

usage
object

Usage and billing information