Generate controllable 4-30 second videos with text, image, video, and audio references through PoYo's unified async API.
Answer: To use the Seedance 2.5 API, send a server-side request to POST https://api.poyo.ai/api/generate/submit with model seedance-2.5 and a PoYo API key. The examples in this repository are runnable with Node.js 22+ or cURL.
Last verified against the live PoYo schema and pricing on August 9, 2026.
- Create a key in the PoYo dashboard.
- Copy
.env.exampleto.envand replace the placeholder. - Run
node node/index.mjs.
POYO_API_KEY=YOUR_POYO_API_KEY_HERE
POYO_BASE_URL=https://api.poyo.aiThe complete cURL request is in curl/generate.md. The Node.js example submits the task and polls until finished or failed.
seedance-2.5
Use the exact IDs above. Product names and API model IDs are not always identical.
| Field | Requirement | Meaning |
|---|---|---|
| prompt | required | Video description. |
| duration | required | Integer from 4 to 30 seconds. |
| resolution | required | 480p or 720p. |
| aspect_ratio | optional | auto, 21:9, 16:9, 4:3, 1:1, 3:4, or 9:16. |
| image_urls | optional | One or two images for first/last-frame generation. |
| reference_image_urls | optional | Up to 30 reference images. |
| reference_video_urls | optional | Up to 10 reference videos. |
| reference_audio_urls | optional | Up to 10 reference audio files. |
| generate_audio | optional | Boolean audio-generation switch. |
| Usage | Price |
|---|---|
| 480p, no reference video | $0.14 per output second |
| 480p, with reference video | $0.085 per billed second |
| 720p, no reference video | $0.315 per output second |
| 720p, with reference video | $0.19 per billed second |
Pricing can change. Confirm the current amount on the model page before a production rollout.
- longer narrative shots
- product and brand films
- character-consistent social video
- Image-frame mode cannot be combined with multimodal reference inputs.
- Reference inputs are capped at 50 files in total.
- When reference video is used, billed duration includes output plus reference-video duration.
- Reference audio requires at least one reference image or video.
submit -> persist data.task_id -> poll during development -> receive callback_url webhook in production
Treat finished and failed as terminal states. Accept a webhook only for task IDs your system created, process it idempotently, and reconcile the final state through the status endpoint.
curl/generate.md— copy-paste requestnode/index.mjs— dependency-free Node.js exampledocs/production-notes.md— limits and rollout checklist
MIT