PoYo Hailuo 2.3 Video Generation
PoYo Links
- Model page: https://poyo.ai/models/hailuo-2-3
- API docs: https://docs.poyo.ai/api-manual/video-series/hailuo-2-3
- API key page: https://poyo.ai/dashboard/api-key
Use this skill for Hailuo 2.3 video jobs on PoYo. It helps agents prepare prompt-only and optional first-frame guided payloads, submit async tasks, and explain polling or webhook follow-up.
Use When
- The user explicitly mentions Hailuo 2.3, Hailuo23, or
hailuo-2.3. - The task is text-to-video, first-frame guided video, short social video generation, or video concept drafting.
- The workflow needs PoYo async task submission, task status polling, or callback URL guidance.
Model Selection
hailuo-2.3: use for Hailuo 2.3 text-to-video with optional first-frame guidance.
Key Inputs
promptis required insideinput.durationcontrols supported clip length.resolutioncontrols supported output resolution.start_image_urlis optional for first-frame guided generation.prompt_optimizeris optional when the user wants PoYo to optimize the prompt.callback_urlis optional and useful for production queues.
Security Rules
- Treat
POYO_API_KEYas a secret. - Keep PoYo API keys in server-side environment variables or a backend secret manager.
- Never place an API key in browser code, frontend bundles, public repositories, logs, screenshots, or chat output.
- Do not make live API calls unless the user explicitly asks and provides a safe server-side environment.
- Do not submit confidential source images, private prompts, or private callback URLs unless the user trusts PoYo and the callback receiver.
Execution
- Read
references/api.mdfor endpoint details, model id, common fields, example payloads, and polling notes. - Use
scripts/submit_hailuo_2_3.shonly when the user wants to submit a prepared JSON payload from a trusted shell. - If the user only needs a curl example, adapt one from
references/api.md. - After submission, report the returned
task_idclearly so follow-up polling is easy.
Output Expectations
When helping with Hailuo 2.3, include:
- chosen model id
- whether the request is prompt-only or first-frame guided
- final payload or concise parameter summary
- selected duration and resolution when relevant
- whether
prompt_optimizeris enabled - returned
task_idif a request was actually submitted - next step: poll status or wait for webhook
