Videos
Use Videos for async video generation and media job management. Create a job, poll its status, then download content when the provider returns downloadable video bytes.
GET /v1/videos
POST /v1/videos
POST /v1/videos/generations
POST /v1/videos/edits
POST /v1/videos/extensions
GET /v1/videos/{video_id}
DELETE /v1/videos/{video_id}
GET /v1/videos/{video_id}/content
Create a video
curl https://api.voxvey.com/v1/videos \
-H "Authorization: Bearer $VOXVEY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"model": "openai/sora-2",
"prompt": "A concise product demo shot of a developer dashboard",
"size": "1280x720",
"seconds": 4
}'
Example response shape:
{
"id": "video_...",
"object": "video",
"status": "queued",
"model": "sora-2"
}
Poll a job
curl https://api.voxvey.com/v1/videos/video_... \
-H "Authorization: Bearer $VOXVEY_TOKEN"
Example response shape:
{
"id": "video_...",
"object": "video",
"status": "completed",
"output": [
{
"type": "video",
"url": "https://..."
}
]
}
Download content
curl https://api.voxvey.com/v1/videos/video_.../content \
-H "Authorization: Bearer $VOXVEY_TOKEN" \
-o output.mp4
OpenAI Sora video IDs use /content for byte downloads. Other providers may
return output URLs in the polling response instead.
Other video operations
| Operation | Route |
|---|---|
| List videos | GET /v1/videos |
| Generate video | POST /v1/videos/generations |
| Edit video | POST /v1/videos/edits |
| Extend video | POST /v1/videos/extensions |
| Delete or cancel | DELETE /v1/videos/{video_id} |
Use /v1/models to discover the currently available video model IDs.