Skip to main content
POST
/
api
/
generate
/
submit
Submit Hailuo 2.3 Task
curl --request POST \
  --url https://api.poyo.ai/api/generate/submit \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "model": "hailuo-2.3",
  "callback_url": "https://your-domain.com/callback",
  "input": {
    "prompt": "a tiktok dancer is dancing on a small drone, doing flips and tricks",
    "duration": 6,
    "resolution": "768p",
    "prompt_optimizer": true
  }
}
'
{
  "code": 200,
  "data": {
    "task_id": "task-unified-1757165031-uyujaw3d",
    "status": "not_started",
    "created_time": "2025-11-12T10:30:00"
  }
}
  1. After submission, a task_id will be returned. If you provided a callback_url, when the task status becomes finished or failed, a POST request will be sent to the callback_url.
  2. Regardless of whether callback_url is provided, you can retrieve the result through the unified Query Task Status endpoint.

Hailuo 2.3

hailuo-2.3 supports prompt-only generation and optional first-frame guided generation.

Available Model

  • hailuo-2.3 - Text-to-video with optional start_image_url

Required Parameters

  • prompt: Text prompt for video generation

Optional Parameters

  • duration: 6 or 10. Default is 6
  • resolution: 768p or 1080p. Default is 768p
  • start_image_url: Optional first-frame image
  • prompt_optimizer: Optional boolean switch

Notes

  • end_image_url is not supported
  • 1080p only supports duration=6

Authorizations

Authorization
string
header
required

All API endpoints require Bearer Token authentication

Get your API Key:

Visit the API Key Management Page to get your API Key

Add it to the request header:

Authorization: Bearer YOUR_API_KEY

Body

application/json
model
enum<string>
required

Hailuo 2.3 model identifier

Available options:
hailuo-2.3
input
object
required
callback_url
string<uri>

Webhook callback URL for result notifications

Example:

"https://your-domain.com/callback"

Response

200 - application/json

Task submitted successfully

code
integer
required
Example:

200

data
object
required