Skip to main content

GET /v1/sora/generations/

Check the current status and progress of your video generation task.
generation_id
string
required
Generation UUID returned from the generate endpoint
pending
string
Task is in queue waiting to be processed
processing
string
Video is currently being generated
completed
string
Video generation completed successfully
failed
string
Video generation failed with error
curl -X GET https://platform.runblob.io/v1/sora/generations/550e8400-e29b-41d4/ \
  -H "Authorization: Bearer YOUR_TOKEN"
  • Pending
  • Processing
  • Completed
  • Failed
Task is waiting in queue.
{
  "generation_id": "550e8400-e29b-41d4-a716-446655440000",
  "status": "pending",
  "prompt": "A beautiful sunset over the ocean",
  "video_url": null,
  "created_at": "2025-11-24T10:00:00.000000",
  "completed_at": null,
  "progress_pct": null,
  "progress_pos_in_queue": 3,
  "error_message": null
}
progress_pos_in_queue
integer
Position in the generation queue

Response Fields

generation_id
string
UUID of the generation task
status
string
Current status: pending, processing, completed, or failed
prompt
string
Original text prompt used for generation
video_url
string | null
URL of the generated video (available only when status === "completed")
created_at
string
ISO 8601 timestamp of task creation
completed_at
string | null
ISO 8601 timestamp of completion (or failure)
progress_pct
integer | null
Generation progress percentage (0-100, only during processing)
progress_pos_in_queue
integer | null
Position in queue (only during pending)
error_message
string | null
Error description (only when status === "failed")

Polling Best Practices

15 minutes - Maximum expected generation timeSet a timeout after 180 polling attempts (15 min × 60 sec / 5 sec interval)
Display progress_pct in a progress bar during processing statusShow progress_pos_in_queue when status is pending
Video generation can take 5-15 minutes. Always implement timeout handling and show progress indicators to users.

GET /v1/sora/generations

Get list of all generations for the authenticated user.

Query Parameters

limit
integer
default:"50"
Number of records to return (max 100)
offset
integer
default:"0"
Offset for pagination

Example Request

curl -X GET "https://platform.runblob.io/v1/sora/generations?limit=20&offset=0" \
  -H "Authorization: Bearer YOUR_TOKEN"

Response

[
  {
    "generation_id": "550e8400-e29b-41d4-a716-446655440000",
    "status": "completed",
    "prompt": "A beautiful sunset over the ocean",
    "video_url": "https://cdn.runblob.io/videos/2025/11/550e8400.mp4",
    "created_at": "2025-11-24T10:00:00.000000",
    "completed_at": "2025-11-24T10:05:30.000000"
  },
  {
    "generation_id": "650e8400-e29b-41d4-a716-446655440001",
    "status": "processing",
    "prompt": "City streets at night",
    "video_url": null,
    "created_at": "2025-11-24T09:50:00.000000",
    "completed_at": null
  }
]