# Hailuo 02 Pro

The older Hailuo, priced by the second instead of per clip.

Model id: `hailuo-o2`
Type: Video
Made by: MiniMax
Inputs: Text, First frame
Length: 6 to 10 s
Updated: Oct 12, 2026

## Pricing

| Setting | MiniAPI | fal | Difference |
| --- | ---: | ---: | ---: |
| any | $0.088 / s | $0.08 | +10% |

You are not charged for a job that fails.

## Parameters

| Name | Required | Values | Default | Description |
| --- | --- | --- | --- | --- |
| `prompt` | Yes | text |  | What to make, in plain words. |
| `image_url` | For first frame | https URL |  | A picture to start from. We fetch it and keep a copy for the job. Only with first frame. |
| `end_image_url` | No | https URL |  | A picture for the last frame. Only with first frame. |
| `prompt_optimizer` | No | true, false | true | Let the model rewrite the prompt for a better result. |

## Quickstart

```bash
curl -X POST "https://api.minicut.ai/v1/queue/hailuo-o2" \
  -H "Authorization: Key $MINIAPI_KEY" \
  -H "Content-Type: application/json" \
  -d '{"prompt":"a red fox runs through snow at dawn"}'
```

```json
{
  "request_id": "0192f3a4-5b6c-7d8e-9f01-23456789abcd",
  "status": "IN_QUEUE",
  "queue_position": 0,
  "status_url": "https://api.minicut.ai/v1/queue/hailuo-o2/requests/0192f3a4-5b6c-7d8e-9f01-23456789abcd/status",
  "response_url": "https://api.minicut.ai/v1/queue/hailuo-o2/requests/0192f3a4-5b6c-7d8e-9f01-23456789abcd",
  "cancel_url": "https://api.minicut.ai/v1/queue/hailuo-o2/requests/0192f3a4-5b6c-7d8e-9f01-23456789abcd/cancel",
  "price": "0.528000",
  "currency": "USD"
}
```

Page: https://api.minicut.ai/models/hailuo-o2
API reference: https://api.minicut.ai/docs/api
