Skip to main content

Video generation API

Video models use an asynchronous workflow: create a task with POST /v1/videos, then poll GET /v1/videos/{video_id}?model=… until status is completed or failed.
Create response (task queued):
Completed response:

Models

See Video generation models for mode-specific parameters. These models appear in GET /v1/models but not on the public website catalog.

Common parameters (create)

Keyframe mode (mode: "keyframe")

Provide at least one of first_frame or last_frame (public image URLs).

Reference mode (mode: "reference")

Provide up to 5 image URLs in images and/or up to 3 audio URLs in audios.

Poll parameters

Daily limit

Video generation is limited to 500 seconds of output per account per day (resets at 00:00 UTC). Exceeding it returns HTTP 429 with code video_daily_limit_exceeded and a Retry-After header. Billing is applied when a task reaches completed status (based on output seconds).

Notes

  • Video models cannot be used on chat, responses, embeddings, or image endpoints.
  • Completed videos are rehosted on Openference (/assets/vid/…) so URLs remain stable.
  • Poll every 1–2 seconds; stop when status is completed or failed.
  • Honor HTTP 429 responses using the Retry-After header.