Skip to main content
POST
https://api.apimart.ai
/
v1
/
videos
/
generations
curl --request POST \
  --url https://api.apimart.ai/v1/videos/generations \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
    "model": "MiniMax-Hailuo-2.3",
    "prompt": "A cute kitten running on the grass",
    "duration": 6,
    "resolution": "768p",
    "prompt_optimizer": true,
    "fast_pretreatment": false,
    "watermark": false
  }'
{
  "code": 200,
  "data": [
    {
      "status": "submitted",
      "task_id": "task_01J9HA7JPQ9A0Z6JZ3V8M9W6PZ"
    }
  ]
}
curl --request POST \
  --url https://api.apimart.ai/v1/videos/generations \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
    "model": "MiniMax-Hailuo-2.3",
    "prompt": "A cute kitten running on the grass",
    "duration": 6,
    "resolution": "768p",
    "prompt_optimizer": true,
    "fast_pretreatment": false,
    "watermark": false
  }'
{
  "code": 200,
  "data": [
    {
      "status": "submitted",
      "task_id": "task_01J9HA7JPQ9A0Z6JZ3V8M9W6PZ"
    }
  ]
}

Authorization

Authorization
string
required
All API endpoints require Bearer Token authenticationGet your API Key:Visit the API Key Management Page to get your API KeyAdd it to the request header:
Authorization: Bearer YOUR_API_KEY

Request Parameters

model
string
required
Video generation model nameFixed value: MiniMax-Hailuo-2.3
prompt
string
required
Video content description (max 2000 characters)Describe scenes, actions, styles in detail for better generation results. Supports camera movement commands (see Camera Movement Commands below).Example: "A cute kitten running on the grass"
duration
integer
default:"6"
Video duration (seconds)Options:
  • 6 - 6-second video
  • 10 - 10-second video
Default: 6
1080p Limitation: When using 1080p resolution, only 6-second duration is supported
resolution
string
default:"768p"
Video resolutionOptions:
  • 768p - High definition
  • 1080p - Full HD (only supports 6-second duration)
Default: 768p
first_frame_image
string
First frame image for the videoSupports two formats:
  • Public URL: https://example.com/start.jpg
  • Base64 encoded: data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAYABg...
When provided, this image will be used as the starting frame of the video
prompt_optimizer
boolean
default:"true"
Whether to auto-optimize the promptWhen enabled, the system will automatically optimize your prompt for better generation resultsDefault: true
fast_pretreatment
boolean
default:"false"
Whether to shorten prompt optimization timeWhen enabled, processing speed is faster but optimization quality may be slightly affectedDefault: false
watermark
boolean
default:"false"
Whether to add watermarkDefault: false

Resolution and Duration Combinations

ResolutionSupported DurationNotes
768p6s, 10sAll supported
1080p6s10s not supported

Camera Movement Commands

Use [command] syntax in the prompt to control camera movements. 15 commands are supported:
CategoryCommands
Pan[左移] (pan left) [右移] (pan right)
Horizontal Rotate[左摇] (rotate left) [右摇] (rotate right)
Push/Pull[推进] (push in) [拉远] (pull out)
Vertical Move[上升] (rise) [下降] (descend)
Vertical Rotate[上摇] (tilt up) [下摇] (tilt down)
Zoom[变焦推近] (zoom in) [变焦拉远] (zoom out)
Other[晃动] (shake) [跟随] (follow) [固定] (static)
Usage example:
{
  "model": "MiniMax-Hailuo-2.3",
  "prompt": "[推进]A cat running in the garden, camera slowly pushing in for a close-up"
}

Response

code
integer
Response status code, 200 on success
data
array
Response data array

Use Cases

Case 1: Quick Text-to-Video

{
  "model": "MiniMax-Hailuo-2.3",
  "prompt": "A cute kitten running on the grass, sunny day"
}

Case 2: High-Quality 1080p Video

{
  "model": "MiniMax-Hailuo-2.3",
  "prompt": "City nightscape, neon lights flickering, traffic flowing",
  "duration": 6,
  "resolution": "1080p",
  "prompt_optimizer": true,
  "watermark": false
}

Case 3: Image-to-Video with First Frame

{
  "model": "MiniMax-Hailuo-2.3",
  "prompt": "Kitten running towards camera, smiling and blinking",
  "first_frame_image": "https://example.com/cat.jpg",
  "duration": 6,
  "resolution": "1080p"
}

Case 4: Camera Movement Commands

{
  "model": "MiniMax-Hailuo-2.3",
  "prompt": "[推进]A cat running in the garden, camera slowly pushing in for a close-up",
  "duration": 6,
  "resolution": "768p"
}

Case 5: Fast Pretreatment Mode

{
  "model": "MiniMax-Hailuo-2.3",
  "prompt": "Waves crashing on the beach at sunset",
  "duration": 10,
  "resolution": "768p",
  "prompt_optimizer": true,
  "fast_pretreatment": true
}
Query Task ResultsVideo generation is an async task that returns a task_id upon submission. Use the Get Task Status endpoint to query generation progress and results.