Skip to main content
POST
/
v1
/
videos
/
generations
curl --request POST \
  --url https://toapis.com/v1/videos/generations \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
    "model": "MiniMax-Hailuo-02",
    "prompt": "A cute cat running on grass",
    "duration": 5,
    "metadata": {
      "resolution": "768p",
      "prompt_optimizer": true,
      "fast_pretreatment": false,
      "watermark": false
    }
  }'
{
  "id": "video_01K8SGYNNNVBQTXNR4MM964S7K",
  "object": "generation.task",
  "model": "MiniMax-Hailuo-02",
  "status": "queued",
  "progress": 0,
  "created_at": 1768380224,
  "metadata": {
    "resolution": "768p"
  }
}
  • Asynchronous processing mode, returns task ID for subsequent queries
  • Supports text-to-video, image-to-video (first frame/last frame)
  • Supports 5-second and 10-second durations, multiple resolutions available
  • Supports automatic prompt optimization and watermark control
Important Change: For better performance and cost control, we no longer support passing base64 image data directly in image_urls, first_frame_image and last_frame_image. Please use the Upload Image API first to upload images and get URLs, then call this endpoint.

Authentication

Authorization
string
required
All endpoints require Bearer Token authenticationGet your API Key from the API Key Management PageAdd to request header:
Authorization: Bearer YOUR_API_KEY

Request Parameters

model
string
required
Video generation model nameFixed value: MiniMax-Hailuo-02
prompt
string
required
Video content descriptionRecommended to describe scene, action, style in detail for better generation resultsExample: "A cute cat running on grass"
duration
integer
default:"5"
Video duration (seconds)Available values:
  • 5 - 5-second video
  • 10 - 10-second video
Default: 51080p Limitation: When using 1080p resolution, only 5-second duration is supported
metadata
object
Advanced configuration options for video generation

Parameter Limitations

LimitationDescription
DurationOnly supports 5 or 10 seconds
1080p ResolutionOnly supports 5-second duration
Image FormatURL format only (base64 no longer supported)

Resolution and Duration Combinations

ResolutionSupported DurationsNote
512p5s, 10sAll supported
768p5s, 10sAll supported
1080p5s10s not supported

Response

id
string
Unique task identifier for status queries
object
string
Object type, always generation.task
model
string
Model name used
status
string
Task status
  • queued - Queued for processing
  • in_progress - Processing
  • completed - Successfully completed
  • failed - Failed
progress
integer
Task progress percentage (0-100)
created_at
integer
Task creation timestamp (Unix timestamp)
metadata
object
Task metadata

Usage Scenarios

Scenario 1: Quick Text-to-Video Generation

{
  "model": "MiniMax-Hailuo-02",
  "prompt": "A cute cat running on grass, sunny day"
}

Scenario 2: Generate High-Quality 1080p Video

{
  "model": "MiniMax-Hailuo-02",
  "prompt": "City night scene, neon lights flickering, traffic flowing",
  "duration": 5,
  "metadata": {
    "resolution": "1080p",
    "prompt_optimizer": true,
    "watermark": false
  }
}

Scenario 3: First Frame-Based Video Generation

{
  "model": "MiniMax-Hailuo-02",
  "prompt": "Person slowly turning around, smiling",
  "duration": 5,
  "metadata": {
    "resolution": "768p",
    "first_frame_image": "https://example.com/portrait.jpg"
  }
}

Scenario 4: First and Last Frame Controlled Transition Video

{
  "model": "MiniMax-Hailuo-02",
  "prompt": "Scene gradually transitions from day to night, sky gradient",
  "duration": 10,
  "metadata": {
    "resolution": "768p",
    "first_frame_image": "https://example.com/day.jpg",
    "last_frame_image": "https://example.com/night.jpg",
    "prompt_optimizer": true
  }
}

Scenario 5: Fast Preprocessing Mode

{
  "model": "MiniMax-Hailuo-02",
  "prompt": "Waves hitting the beach, sunset time",
  "duration": 5,
  "metadata": {
    "resolution": "768p",
    "prompt_optimizer": true,
    "fast_pretreatment": true
  }
}
Query Task ResultsVideo generation is an asynchronous task. After submission, a task_id is returned. Use the Get Task Status interface to query generation progress and results.
curl --request POST \
  --url https://toapis.com/v1/videos/generations \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
    "model": "MiniMax-Hailuo-02",
    "prompt": "A cute cat running on grass",
    "duration": 5,
    "metadata": {
      "resolution": "768p",
      "prompt_optimizer": true,
      "fast_pretreatment": false,
      "watermark": false
    }
  }'
{
  "id": "video_01K8SGYNNNVBQTXNR4MM964S7K",
  "object": "generation.task",
  "model": "MiniMax-Hailuo-02",
  "status": "queued",
  "progress": 0,
  "created_at": 1768380224,
  "metadata": {
    "resolution": "768p"
  }
}