Video generation is asynchronous by nature: you submit a job, the model renders, and you collect the result when it is ready. Apifuse exposes this through a single OpenAI-style endpoint so the flow is the same for Sora 2, Veo 3.1 and Kling V3.
Submit a job
POST your prompt and parameters to /v1/videos. The response returns immediately with a job id while the render runs in the background.
curl https://api.apifuse.net/v1/videos \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{ "model": "sora-2", "prompt": "A timelapse of a city at dusk", "duration": 5 }'Poll for completion
Poll the job id until status is succeeded, then download the rendered clip. Back off between polls — a few seconds is plenty for short clips.
curl https://api.apifuse.net/v1/videos/<id> \ -H "Authorization: Bearer <token>"
Controlling cost
You only pay for successful renders, so failed or cancelled jobs cost nothing. Start at lower resolution and shorter duration while iterating on a prompt, then scale up once the shot is right.