resources/videos/methods/remix/index.md +0 −213 deleted
File Deleted View Diff
1## Create a video remix
2
3**post** `/videos/{video_id}/remix`
4
5Create a remix of a completed video using a refreshed prompt.
6
7### Path Parameters
8
9- `video_id: string`
10
11### Body Parameters
12
13- `prompt: string`
14
15 Updated text prompt that directs the remix generation.
16
17### Returns
18
19- `Video object { id, completed_at, created_at, 10 more }`
20
21 Structured information describing a generated video job.
22
23 - `id: string`
24
25 Unique identifier for the video job.
26
27 - `completed_at: number or null`
28
29 Unix timestamp (seconds) for when the job completed, if finished.
30
31 - `created_at: number`
32
33 Unix timestamp (seconds) for when the job was created.
34
35 - `error: VideoCreateError or null`
36
37 Error payload that explains why generation failed, if applicable.
38
39 - `code: string`
40
41 A machine-readable error code that was returned.
42
43 - `message: string`
44
45 A human-readable description of the error that was returned.
46
47 - `misalignment: optional object { detailed_explanation, error_type, steer }`
48
49 - `detailed_explanation: optional string`
50
51 The public explanation for this block.
52
53 - `error_type: optional string or "potentially_unintended_data_transfer" or "potentially_unintended_data_access" or "potentially_unintended_destructive_activity" or "other"`
54
55 An optional classification; clients must accept additional values.
56
57 - `string`
58
59 - `SafetyAlertErrorType = "potentially_unintended_data_transfer" or "potentially_unintended_data_access" or "potentially_unintended_destructive_activity" or "other"`
60
61 An optional classification; clients must accept additional values.
62
63 - `"potentially_unintended_data_transfer"`
64
65 - `"potentially_unintended_data_access"`
66
67 - `"potentially_unintended_destructive_activity"`
68
69 - `"other"`
70
71 - `steer: optional object { message }`
72
73 An optional public continuation instruction.
74
75 - `message: string`
76
77 The public continuation instruction.
78
79 - `expires_at: number or null`
80
81 Unix timestamp (seconds) for when the downloadable assets expire, if set.
82
83 - `model: VideoModel`
84
85 The video generation model that produced the job.
86
87 - `string`
88
89 - `"sora-2" or "sora-2-pro" or "sora-2-2025-10-06" or 2 more`
90
91 - `"sora-2"`
92
93 - `"sora-2-pro"`
94
95 - `"sora-2-2025-10-06"`
96
97 - `"sora-2-pro-2025-10-06"`
98
99 - `"sora-2-2025-12-08"`
100
101 - `object: "video"`
102
103 The object type, which is always `video`.
104
105 - `"video"`
106
107 - `progress: number`
108
109 Approximate completion percentage for the generation task.
110
111 - `prompt: string or null`
112
113 The prompt that was used to generate the video.
114
115 - `remixed_from_video_id: string or null`
116
117 Identifier of the source video if this video is a remix.
118
119 - `seconds: string`
120
121 Duration of the generated clip in seconds. For extensions, this is the stitched total duration.
122
123 - `size: VideoSize`
124
125 The resolution of the generated video.
126
127 - `"720x1280"`
128
129 - `"1280x720"`
130
131 - `"1024x1792"`
132
133 - `"1792x1024"`
134
135 - `status: "queued" or "in_progress" or "completed" or "failed"`
136
137 Current lifecycle status of the video job.
138
139 - `"queued"`
140
141 - `"in_progress"`
142
143 - `"completed"`
144
145 - `"failed"`
146
147### Example
148
149```http
150curl https://api.openai.com/v1/videos/$VIDEO_ID/remix \
151 -H 'Content-Type: application/json' \
152 -H "Authorization: Bearer $OPENAI_API_KEY" \
153 -d '{
154 "prompt": "x"
155 }'
156```
157
158#### Response
159
160```json
161{
162 "id": "id",
163 "completed_at": 0,
164 "created_at": 0,
165 "error": {
166 "code": "code",
167 "message": "message",
168 "misalignment": {
169 "detailed_explanation": "detailed_explanation",
170 "error_type": "potentially_unintended_data_transfer",
171 "steer": {
172 "message": "message"
173 }
174 }
175 },
176 "expires_at": 0,
177 "model": "sora-2",
178 "object": "video",
179 "progress": 0,
180 "prompt": "prompt",
181 "remixed_from_video_id": "remixed_from_video_id",
182 "seconds": "string",
183 "size": "720x1280",
184 "status": "queued"
185}
186```
187
188### Example
189
190```http
191curl -X POST https://api.openai.com/v1/videos/video_123/remix \
192 -H "Authorization: Bearer $OPENAI_API_KEY" \
193 -H "Content-Type: application/json" \
194 -d '{
195 "prompt": "Extend the scene with the cat taking a bow to the cheering audience"
196 }'
197```
198
199#### Response
200
201```json
202{
203 "id": "video_456",
204 "object": "video",
205 "model": "sora-2",
206 "status": "queued",
207 "progress": 0,
208 "created_at": 1712698600,
209 "size": "720x1280",
210 "seconds": "8",
211 "remixed_from_video_id": "video_123"
212}
213```