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 a new video generation job by editing a source video or existing generated video.
Parameters
-
VideoEditParams params-
String promptText prompt that describes how to edit the source video.
-
Video videoReference to the completed video to edit.
-
String -
class VideoReferenceInputParam:Reference to the completed video to edit.
-
String idThe identifier of the completed video.
-
-
-
Returns
-
class Video:Structured information describing a generated video job.
-
String idUnique identifier for the video job.
-
Optional<Long> completedAtUnix timestamp (seconds) for when the job completed, if finished.
-
long createdAtUnix timestamp (seconds) for when the job was created.
-
Optional<VideoCreateError> errorError payload that explains why generation failed, if applicable.
-
String codeA machine-readable error code that was returned.
-
String messageA human-readable description of the error that was returned.
-
-
Optional<Long> expiresAtUnix timestamp (seconds) for when the downloadable assets expire, if set.
-
VideoModel modelThe video generation model that produced the job.
-
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")
-
-
JsonValue; object_ "video"constantThe object type, which is always
video.VIDEO("video")
-
long progressApproximate completion percentage for the generation task.
-
Optional<String> promptThe prompt that was used to generate the video.
-
Optional<String> remixedFromVideoIdIdentifier of the source video if this video is a remix.
-
VideoSeconds secondsDuration of the generated clip in seconds. For extensions, this is the stitched total duration.
-
_4("4") -
_8("8") -
_12("12")
-
-
VideoSize sizeThe resolution of the generated video.
-
_720X1280("720x1280") -
_1280X720("1280x720") -
_1024X1792("1024x1792") -
_1792X1024("1792x1024")
-
-
Status statusCurrent lifecycle status of the video job.
-
QUEUED("queued") -
IN_PROGRESS("in_progress") -
COMPLETED("completed") -
FAILED("failed")
-
-
Example
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.VideoEditParams;
import java.io.ByteArrayInputStream;
import java.io.InputStream;
public final class Main {
private Main() {}
public static void main(String[] args) {
OpenAIClient client = OpenAIOkHttpClient.fromEnv();
VideoEditParams params = VideoEditParams.builder()
.prompt("x")
.video(new ByteArrayInputStream("Example data".getBytes()))
.build();
Video video = client.videos().edit(params);
}
}
Response
{
"id": "id",
"completed_at": 0,
"created_at": 0,
"error": {
"code": "code",
"message": "message"
},
"expires_at": 0,
"model": "sora-2",
"object": "video",
"progress": 0,
"prompt": "prompt",
"remixed_from_video_id": "remixed_from_video_id",
"seconds": "4",
"size": "720x1280",
"status": "queued"
}