Skip to content

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/json

  • Request body fields:

    • model (string, required)

      • Model name. Valid values:
        • MiniMax-Hailuo-2.3
        • MiniMax-Hailuo-2.3-Fast
        • MiniMax-Hailuo-02
        • I2V-01-Director
        • I2V-01-live
        • I2V-01
    • 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, default true)

      • Whether to auto-optimize the prompt. Set to false for finer control.
    • fast_pretreatment (boolean, optional, default false)

      • 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:

        Model720P768P1080P
        MiniMax-Hailuo-2.3-6 or 106
        MiniMax-Hailuo-2.3-Fast-6 or 106
        MiniMax-Hailuo-02-6 or 106
        Other models6-6
    • resolution (string, required)

      • Video resolution. Available values depend on model:

        Model6s10s
        MiniMax-Hailuo-2.3768P (default), 1080P768P (default)
        MiniMax-Hailuo-2.3-Fast768P (default), 1080P768P (default)
        MiniMax-Hailuo-02512P, 768P (default), 1080P512P, 768P (default)
        Other models720P (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 challenge field. The server must return the same challenge value 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 status can be processing, success, or failed.
    • 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

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 information
    • status_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.