Skip to content
For the complete documentation index, see llms.txt. Markdown versions of documentation pages are available by appending .md to the page URL.
Primary navigation

Create a video remix

Video videos().remix(params, requestOptions = RequestOptions.none())
POST
/videos/{video_id}/remix

Create a remix of a completed video using a refreshed prompt.

Parameters
VideoRemixParams params
Optional<String> videoId
String prompt

Updated text prompt that directs the remix generation.

minLength1
maxLength32000
Returns
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_
constant
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.

Create a video remix

package com.openai.example;

import com.openai.client.OpenAIClient;
import com.openai.client.okhttp.OpenAIOkHttpClient;
import com.openai.models.videos.Video;
import com.openai.models.videos.VideoRemixParams;

public final class Main {
    private Main() {}

    public static void main(String[] args) {
        OpenAIClient client = OpenAIOkHttpClient.fromEnv();

        VideoRemixParams params = VideoRemixParams.builder()
            .videoId("video_123")
            .prompt("Extend the scene with the cat taking a bow to the cheering audience")
            .build();
        Video video = client.videos().remix(params);
    }
}
{
  "id": "video_456",
  "object": "video",
  "model": "sora-2",
  "status": "queued",
  "progress": 0,
  "created_at": 1712698600,
  "size": "720x1280",
  "seconds": "8",
  "remixed_from_video_id": "video_123",
  "prompt": "Extend the scene with the cat taking a bow to the cheering audience",
  "completed_at": null,
  "expires_at": null,
  "error": null
}
Returns Examples
{
  "id": "video_456",
  "object": "video",
  "model": "sora-2",
  "status": "queued",
  "progress": 0,
  "created_at": 1712698600,
  "size": "720x1280",
  "seconds": "8",
  "remixed_from_video_id": "video_123",
  "prompt": "Extend the scene with the cat taking a bow to the cheering audience",
  "completed_at": null,
  "expires_at": null,
  "error": null
}