Generate, extend, and control FLUX 3 videos through five explicit PoYo model IDs and one async task workflow.
Answer: To use the FLUX 3 Video API, send a server-side request to POST https://api.poyo.ai/api/generate/submit with model flux-3/text-to-video, flux-3/image-to-video, flux-3/first-last-frame-to-video, flux-3/extend-video, flux-3/keyframes-to-video 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.
flux-3/text-to-videoflux-3/image-to-videoflux-3/first-last-frame-to-videoflux-3/extend-videoflux-3/keyframes-to-video
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 5 to 20 seconds. |
| resolution | required | 720p or 1080p. |
| aspect_ratio | optional | auto, 21:9, 2:1, 16:9, 4:3, 1:1, 3:4, or 9:16. |
| sound | optional | Boolean; defaults to true. |
| image_urls | workflow-specific | Exactly 1 for image-to-video or 2 for first/last frame. |
| video_url | extend only | HTTPS MP4 under 50 MB and shorter than 15 seconds. |
| keyframes | keyframes only | 1-10 unique frame-index/image pairs at 24 fps. |
| Usage | Price |
|---|---|
| Standard workflows, 720p | $0.17 per second |
| Standard workflows, 1080p | $0.29 per second |
| Extend video, 720p | $0.41 per second |
| Extend video, 1080p | $0.53 per second |
Pricing can change. Confirm the current amount on the model page before a production rollout.
- text-to-video
- image animation
- first/last-frame transitions
- video extension
- keyframe-directed video
- Choose the model ID that matches the workflow; inputs are validated per workflow.
- Keyframe frame_index values must be unique and fit the duration x 24 fps timeline.
- Extend-video inputs must be HTTPS MP4 files under the documented size and duration limits.
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