Available models
Usage pattern
Polling is lazy: the job doesn’t advance on its own (Kling/Veo process on their side). But the provider keeps working even if you don’t poll — when you do poll you’ll see the updated state.
Job states
We only charge the balance when status reaches
completed (at model price × duration × markup × FX).
If the job fails, you’re not charged.
Storage
Same as images: finished videos upload to your Supabase Storage (generated-videos) with persistent public UUID-based URLs.
Next steps
POST /v1/videos/generations
Submit a new video job.
GET /v1/videos/{id}
Poll the job status.