Image-to-Video
Overview
- API: Image-to-Video
- Description: Use an image as the starting frame and generate a short video based on a text description.
- Model family: Hailuo (MiniMax-Hailuo series)
Authentication
- Use Bearer Token in the request header:
Authorization: Bearer <token>.
Request Parameters
Request Content-Type:
application/jsonRequest body fields:
model(string, required)- Model name. Valid values:
MiniMax-Hailuo-2.3MiniMax-Hailuo-2.3-FastMiniMax-Hailuo-02I2V-01-DirectorI2V-01-liveI2V-01
- Model name. Valid values:
prompt(string)- Text description for the video, up to 2000 characters. For MiniMax-Hailuo-2.3, MiniMax-Hailuo-2.3-Fast, MiniMax-Hailuo-02, and I2V-01-Director, you can use [directive] syntax to control camera motion.
- Add camera motion instructions using the [directive] format to achieve precise shot control.
Supported camera motion directives:
- Move left/right: [左移], [右移]
- Pan left/right: [左摇], [右摇]
- Dolly in/out: [推进], [拉远]
- Rise/fall: [上升], [下降]
- Tilt up/down: [上摇], [下摇]
- Zoom in/out: [变焦推近], [变焦拉远]
- Other: [晃动], [跟随], [固定]
Usage rules:
- Combined motion: multiple directives inside one pair of [] are applied simultaneously, e.g. [左摇,上升]. Avoid combining more than three directives.
- Sequential motion: directives appear in prompt order, e.g. "...[推进], then...[拉远]".
- Natural language is also supported, but standard directives are more accurate.
For tutorials and templates, see the camera motion usage guide.
prompt_optimizer(boolean, optional, defaulttrue)- Whether to auto-optimize the prompt. Set to
falsefor finer control.
- Whether to auto-optimize the prompt. Set to
fast_pretreatment(boolean, optional, defaultfalse)- Whether to shorten prompt_optimizer runtime. Effective only for MiniMax-Hailuo-2.3, MiniMax-Hailuo-2.3-Fast, and MiniMax-Hailuo-02.
duration(integer, required)Video duration in seconds, default is 6. Available values depend on model and resolution:
Model 720P 768P 1080P MiniMax-Hailuo-2.3 - 6 or 10 6 MiniMax-Hailuo-2.3-Fast - 6 or 10 6 MiniMax-Hailuo-02 - 6 or 10 6 Other models 6 - 6
resolution(string, required)Video resolution. Available values depend on model:
Model 6s 10s MiniMax-Hailuo-2.3 768P (default), 1080P 768P (default) MiniMax-Hailuo-2.3-Fast 768P (default), 1080P 768P (default) MiniMax-Hailuo-02 512P, 768P (default), 1080P 512P, 768P (default) Other models 720P (default) not supported
callback_url(string, optional)- Callback URL to receive task status updates. When configured, MiniMax will send a POST request to the URL containing a
challengefield. The server must return the samechallengevalue within 3 seconds to complete verification. - After verification succeeds, MiniMax will push task status updates to the URL whenever the task state changes. The payload matches the query API response structure.
- The callback
statuscan beprocessing,success, orfailed.
- Callback URL to receive task status updates. When configured, MiniMax will send a POST request to the URL containing a
first_frame_image(string, required)- Use the specified image as the starting frame of the video. Supports public URLs or Base64 data URLs (
data:image/jpeg;base64,...). - Image requirements:
- Formats: JPG, JPEG, PNG, WebP
- Size: under 20MB
- Dimensions: short side greater than 300px, aspect ratio between 2:5 and 5:2
- Use the specified image as the starting frame of the video. Supports public URLs or Base64 data URLs (
Request Example
bash
curl -X POST "https://api.gpt.ge/task/minimax/v1/video_generation" \
-H "Authorization: Bearer $YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"model": "MiniMax-Hailuo-02",
"prompt": "A girl climbs onto the horse [右移], then pulls the horse's head and turns, galloping away [拉远].",
"duration": 10,
"resolution": "768P",
"first_frame_image": "https://p2.a.kwimgs.com/bs2/upload-ylab-stunt/ai_portal/1731125871/6N0QrAnAeU/409-f054fa25c21a.png"
}'Request Body Example
json
{
"model": "MiniMax-Hailuo-02",
"prompt": "A girl climbs onto the horse [右移], then pulls the horse's head and turns, galloping away [拉远].",
"duration": 10,
"resolution": "768P",
"first_frame_image": "https://p2.a.kwimgs.com/bs2/upload-ylab-stunt/ai_portal/1731125871/6N0QrAnAeU/409-f054fa25c21a.png"
}Success Response Example
json
{
"task_id": "106916112212032",
"base_resp": {
"status_code": 0,
"status_msg": "success"
}
}Response Fields
task_id(string): task ID to query status and results.base_resp(object): basic response informationstatus_code(integer): 0 indicates success.status_msg(string): status message.
Notes
- Make sure required fields are included. Missing required parameters may prevent the model name from being recognized.
- For models that support directive syntax, using standard directives in the prompt improves camera motion control.
- See the request parameter section for callback and image requirements.