Create a job
A video request commonly includes prompt, model, and frame properties such as duration, aspect ratio, resolution, or references only when the chosen model supports them.
Persist the job id immediately. It is needed to show progress, support cancellation in your interface, and obtain final content.
curl --request POST https://cicora.ai/api/v1/videos \
--header "Authorization: Bearer $CICORA_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
"model": "google/veo-3.1",
"prompt": "Slow aerial movement above a river at sunrise",
"duration": 8,
"aspect_ratio": "16:9",
"resolution": "720p"
}'Poll status
- Read a job through GET /videos/{video_id}.
- Treat terminal status as the source of truth for completion.
- Use an increasing polling interval and stop it when the user leaves.
Work with the result
After completion, use the URL or content returned by the job and verify file readiness before showing a player.
Retain prompt, model, parameters, and the job id for support, but do not retain input references longer than your product requires.