POST
/
minimax-hailuo
/
generate
Generate Video
curl --request POST \
  --url https://api.unifically.com/minimax-hailuo/generate \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "prompt": "<string>",
  "start_image_url": "<string>",
  "end_image_url": "<string>",
  "motion_id": "<string>",
  "model": "<string>",
  "duration": 123,
  "resolution": "<string>",
  "enhance_prompt": true,
  "seed": 123
}
'
{
    "code": 200,
    "data": {
        "task_id": "9fab6ff9-e7b4-4f93-9ca0-a21938e65c9e",
        "error": {}
    }
}
Generate high-quality AI videos using the Minimax-Hailuo model with motion presets and custom parameters.

Pricing

For current pricing, see the Pricing page.

Model Comparison

ModelDurationAllowed Resolutions
minimax / minimax-fast6s512p, 768p, 1080p
minimax / minimax-fast10s512p, 768p only
minimax-2.3 / minimax-2.3-fast6s768p, 1080p
minimax-2.3 / minimax-2.3-fast10s768p only

Request

curl --location 'https://api.unifically.com/minimax-hailuo/generate' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR_API_KEY' \
--data '{
  "prompt": "your prompt here",
  "start_image_url": "https://example.com/image.jpg",
  "motion_id": "446b5239-4281-4a2c-a353-0de562e405bc",
  "model": "minimax",
  "duration": 6,
  "resolution": "1080",
  "enhance_prompt": false,
  "seed": 123456
}'

Parameters

prompt
string
required
Text description for the video generation
start_image_url
string
required
URL of the starting frame imageExample: "https://example.com/image.jpg"
end_image_url
string
URL of the ending frame image (optional)Note: Only supported for minimax and minimax-fast models. NOT supported for minimax-2.3 or minimax-2.3-fast models.Example: "https://example.com/end_image.jpg"
motion_id
string
Motion preset ID - Must be valid UUID formatDefault: "446b5239-4281-4a2c-a353-0de562e405bc" (General motion)Use the Get Motions endpoint to get available motions
model
string
Model to useOptions:
  • "minimax" - Base model (supports 512p, 768p, 1080p)
  • "minimax-fast" - Faster variant (supports 512p, 768p, 1080p)
  • "minimax-2.3" - Enhanced model (supports 768p, 1080p only)
  • "minimax-2.3-fast" - Faster enhanced variant (supports 768p, 1080p only)
Default: "minimax"
duration
number
Video duration in secondsOptions:
  • 6 - Supports 512p, 768p, and 1080p resolution
  • 10 - Supports only 512p and 768p resolution (1080p not allowed)
Default: 6
resolution
string
Video resolutionOptions:
  • For minimax-2.3 and minimax-2.3-fast models: "768" or "1080"
  • For base minimax and minimax-fast models: "512", "768", or "1080"
Default: "1080"Note: 10-second duration videos can only use 768p resolution (1080p is not supported)
enhance_prompt
boolean
Whether to enhance the promptDefault: false
seed
number
Random seed for reproducible results (random if not provided)

Response

{
    "code": 200,
    "data": {
        "task_id": "9fab6ff9-e7b4-4f93-9ca0-a21938e65c9e",
        "error": {}
    }
}

Response Fields

code
integer
default:"200"
HTTP status code (200 for success)
data
object
Response data
task_id
string
Unique identifier for this generation task
error
object
Error information (empty object for successful requests)
Use the task_id to check the status using the Get Task endpoint.