Skip to content

Videos

Create video
videos.create(**kwargs) -> Video { id, completed_at, created_at, 10 more }
POST/videos
List videos
videos.list(**kwargs) -> ConversationCursorPage<Video { id, completed_at, created_at, 10 more } >
GET/videos
Retrieve video
videos.retrieve(video_id) -> Video { id, completed_at, created_at, 10 more }
GET/videos/{video_id}
Delete video
videos.delete(video_id) -> VideoDeleteResponse { id, deleted, object }
DELETE/videos/{video_id}
Remix video
videos.remix(video_id, **kwargs) -> Video { id, completed_at, created_at, 10 more }
POST/videos/{video_id}/remix
Retrieve video content
videos.download_content(video_id, **kwargs) -> StringIO
GET/videos/{video_id}/content
ModelsExpand Collapse
class Video { id, completed_at, created_at, 10 more }

Structured information describing a generated video job.

id: String

Unique identifier for the video job.

completed_at: Integer

Unix timestamp (seconds) for when the job completed, if finished.

created_at: Integer

Unix timestamp (seconds) for when the job was created.

error: VideoCreateError { code, message }

Error payload that explains why generation failed, if applicable.

expires_at: Integer

Unix timestamp (seconds) for when the downloadable assets expire, if set.

model: VideoModel

The video generation model that produced the job.

object: :video

The object type, which is always video.

progress: Integer

Approximate completion percentage for the generation task.

prompt: String

The prompt that was used to generate the video.

remixed_from_video_id: String

Identifier of the source video if this video is a remix.

seconds: VideoSeconds

Duration of the generated clip in seconds.

size: VideoSize

The resolution of the generated video.

status: :queued | :in_progress | :completed | :failed

Current lifecycle status of the video job.

Accepts one of the following:
:queued
:in_progress
:completed
:failed
class VideoCreateError { code, message }

An error that occurred while generating the response.

code: String

A machine-readable error code that was returned.

message: String

A human-readable description of the error that was returned.

VideoModel = String | :"sora-2" | :"sora-2-pro" | :"sora-2-2025-10-06" | 2 more
Accepts one of the following:
String
:"sora-2" | :"sora-2-pro" | :"sora-2-2025-10-06" | 2 more
Accepts one of the following:
:"sora-2"
:"sora-2-pro"
:"sora-2-2025-10-06"
:"sora-2-pro-2025-10-06"
:"sora-2-2025-12-08"
VideoSeconds = :"4" | :"8" | :"12"
Accepts one of the following:
:"4"
:"8"
:"12"
VideoSize = :"720x1280" | :"1280x720" | :"1024x1792" | :"1792x1024"
Accepts one of the following:
:"720x1280"
:"1280x720"
:"1024x1792"
:"1792x1024"