Skip to content
Primary navigation

Videos

Create video
Video videos().create(VideoCreateParamsparams, RequestOptionsrequestOptions = RequestOptions.none())
POST/videos
Create a new video generation job by editing a source video or existing generated video.
Video videos().edit(VideoEditParamsparams, RequestOptionsrequestOptions = RequestOptions.none())
POST/videos/edits
Create an extension of a completed video.
Video videos().extend(VideoExtendParamsparams, RequestOptionsrequestOptions = RequestOptions.none())
POST/videos/extensions
Create a character from an uploaded video.
VideoCreateCharacterResponse videos().createCharacter(VideoCreateCharacterParamsparams, RequestOptionsrequestOptions = RequestOptions.none())
POST/videos/characters
Fetch a character.
VideoGetCharacterResponse videos().getCharacter(VideoGetCharacterParamsparams = VideoGetCharacterParams.none(), RequestOptionsrequestOptions = RequestOptions.none())
GET/videos/characters/{character_id}
List videos
VideoListPage videos().list(VideoListParamsparams = VideoListParams.none(), RequestOptionsrequestOptions = RequestOptions.none())
GET/videos
Retrieve video
Video videos().retrieve(VideoRetrieveParamsparams = VideoRetrieveParams.none(), RequestOptionsrequestOptions = RequestOptions.none())
GET/videos/{video_id}
Delete video
VideoDeleteResponse videos().delete(VideoDeleteParamsparams = VideoDeleteParams.none(), RequestOptionsrequestOptions = RequestOptions.none())
DELETE/videos/{video_id}
Remix video
Video videos().remix(VideoRemixParamsparams, RequestOptionsrequestOptions = RequestOptions.none())
POST/videos/{video_id}/remix
Retrieve video content
HttpResponse videos().downloadContent(VideoDownloadContentParamsparams = VideoDownloadContentParams.none(), RequestOptionsrequestOptions = RequestOptions.none())
GET/videos/{video_id}/content
ModelsExpand Collapse
class ImageInputReferenceParam:
Optional<String> fileId
Optional<String> imageUrl

A fully qualified URL or base64-encoded data URL.

maxLength20971520
formaturi
class Video:

Structured information describing a generated video job.

String id

Unique identifier for the video job.

Optional<Long> completedAt

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

formatunixtime
long createdAt

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

formatunixtime
Optional<VideoCreateError> error

Error payload that explains why generation failed, if applicable.

Optional<Long> expiresAt

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

formatunixtime
VideoModel model

The video generation model that produced the job.

JsonValue; object_ "video"constant"video"constant

The object type, which is always video.

long progress

Approximate completion percentage for the generation task.

Optional<String> prompt

The prompt that was used to generate the video.

Optional<String> remixedFromVideoId

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

VideoSeconds seconds

Duration of the generated clip in seconds. For extensions, this is the stitched total duration.

The resolution of the generated video.

Status status

Current lifecycle status of the video job.

One of the following:
QUEUED("queued")
IN_PROGRESS("in_progress")
COMPLETED("completed")
FAILED("failed")
class VideoCreateError:

An error that occurred while generating the response.

String code

A machine-readable error code that was returned.

String message

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

enum VideoModel:
SORA_2("sora-2")
SORA_2_PRO("sora-2-pro")
SORA_2_2025_10_06("sora-2-2025-10-06")
SORA_2_PRO_2025_10_06("sora-2-pro-2025-10-06")
SORA_2_2025_12_08("sora-2-2025-12-08")
enum VideoSeconds:
_4("4")
_8("8")
_12("12")
enum VideoSize:
_720X1280("720x1280")
_1280X720("1280x720")
_1024X1792("1024x1792")
_1792X1024("1792x1024")