SpyBara
Go Premium

Reference 2026-09-23 23:58 UTC to 2026-09-24 23:58 UTC

6 files changed +50 −747. View all changes and history on the product overview
2026
Wed 30 22:59 Tue 29 22:57 Mon 28 22:57 Sun 27 23:58 Sat 26 23:59 Fri 25 23:58 Thu 24 23:58 Wed 23 23:58 Tue 22 23:57 Mon 21 23:00 Sat 19 23:00 Fri 18 22:59 Wed 16 22:58 Fri 11 20:00 Thu 10 18:01 Wed 9 16:02 Fri 4 23:59 Thu 3 23:00 Wed 2 01:58 Tue 1 01:57
Details

30 30 

31 - `"gpt-4o-mini-tts-2025-12-15"`31 - `"gpt-4o-mini-tts-2025-12-15"`

32 32 

33- `voice: string or "alloy" or "ash" or "ballad" or 7 more or object { id }`33- `voice: string or "alloy" or "ash" or "ballad" or 10 more or object { id }`

34 34 

35 The voice to use when generating the audio. Supported built-in voices are `alloy`, `ash`, `ballad`, `coral`, `echo`, `fable`, `onyx`, `nova`, `sage`, `shimmer`, `verse`, `marin`, and `cedar`. You may also provide a custom voice object with an `id`, for example `{ "id": "voice_1234" }`. Previews of the voices are available in the [Text to speech guide](/api/docs/guides/text-to-speech#voice-options).35 The voice to use when generating the audio. Supported built-in voices are `alloy`, `ash`, `ballad`, `coral`, `echo`, `fable`, `onyx`, `nova`, `sage`, `shimmer`, `verse`, `marin`, and `cedar`. You may also provide a custom voice object with an `id`, for example `{ "id": "voice_1234" }`. Previews of the voices are available in the [Text to speech guide](/api/docs/guides/text-to-speech#voice-options).

36 36 

37 - `string`37 - `string`

38 38 

39 - `"alloy" or "ash" or "ballad" or 7 more`39 - `"alloy" or "ash" or "ballad" or 10 more`

40 

41 The voice to use when generating the audio. Supported built-in voices are `alloy`, `ash`, `ballad`, `coral`, `echo`, `fable`, `onyx`, `nova`, `sage`, `shimmer`, `verse`, `marin`, and `cedar`. You may also provide a custom voice object with an `id`, for example `{ "id": "voice_1234" }`. Previews of the voices are available in the [Text to speech guide](/api/docs/guides/text-to-speech#voice-options).

40 42 

41 - `"alloy"`43 - `"alloy"`

42 44 


58 60 

59 - `"cedar"`61 - `"cedar"`

60 62 

63 - `"fable"`

64 

65 - `"onyx"`

66 

67 - `"nova"`

68 

61 - `ID object { id }`69 - `ID object { id }`

62 70 

63 Custom voice reference.71 Custom voice reference.

Details

14 14 

15`session_id` (required path parameter): The ID of the existing session to attach to.15`session_id` (required path parameter): The ID of the existing session to attach to.

16 16 

17Attaching does not create a session or replay earlier events. Audio stays on the primary connection. Do not send session.start or session.input_audio.append on this WebSocket.17Attaching does not create a session or replay earlier events. The primary connection carries live media; this sideband receives reflected input and output audio. Do not send session.start or session.input_audio.append on this WebSocket.

18 18 

19## Inputs19## Inputs

20 20 


6201}6201}

6202```6202```

6203 6203 

6204<a id="session.output_audio.delta"></a>

6205 

6206### session.output_audio.delta

6207 

6208An audio chunk generated by the Live model. Decode and play primary WebSocket chunks in delivery order using the configured session audio format. Sideband connections receive reflected output audio with timestamps.

6209 

6210#### Schema

6211 

6212Schema name: `LiveOutputAudioDelta`

6213 

6214- `delta: string`

6215 

6216 Base64-encoded raw audio. Primary WebSocket events use the session's configured format; reflected sideband events use mono PCM16LE at 24 kHz.

6217 

6218- `type: "session.output_audio.delta"`

6219 

6220 The event type, always `session.output_audio.delta`.

6221 

6222 - `"session.output_audio.delta"`

6223 

6224- `end_ms: optional number`

6225 

6226 Exclusive session-relative end in milliseconds. Required on reflected sideband events; omitted on the primary WebSocket. Dropped output frames leave gaps between reflected ranges.

6227 

6228- `start_ms: optional number`

6229 

6230 Inclusive session-relative start in milliseconds. Required on reflected sideband events; omitted on the primary WebSocket.

6231 

6232#### Example

6233 

6234```json

6235{

6236 "type": "session.output_audio.delta",

6237 "delta": "AACAAIAAAIAAAP9/AIAAgA==",

6238 "start_ms": 1000,

6239 "end_ms": 1200

6240}

6241```

6242 

6204<a id="session.input_transcript.delta"></a>6243<a id="session.input_transcript.delta"></a>

6205 6244 

6206### session.input_transcript.delta6245### session.input_transcript.delta

resources/videos/methods/create/index.md +0 −266 deleted

File Deleted View Diff

1> For the complete documentation index, see [llms.txt](/llms.txt). Markdown versions of documentation pages are available by appending `.md` to the page URL.

2 

3## Create a video

4 

5**post** `/videos`

6 

7Create a new video generation job from a prompt and optional reference assets.

8 

9### Body Parameters

10 

11- `prompt: string`

12 

13 Text prompt that describes the video to generate.

14 

15- `input_reference: optional ImageInputReferenceParam`

16 

17 Optional reference object that guides generation. Provide exactly one of `image_url` or `file_id`.

18 

19 - `file_id: optional string`

20 

21 - `image_url: optional string`

22 

23 A fully qualified URL or base64-encoded data URL.

24 

25- `model: optional VideoModel`

26 

27 The video generation model to use (allowed values: sora-2, sora-2-pro). Defaults to `sora-2`.

28 

29 - `string`

30 

31 - `"sora-2" or "sora-2-pro" or "sora-2-2025-10-06" or 2 more`

32 

33 - `"sora-2"`

34 

35 - `"sora-2-pro"`

36 

37 - `"sora-2-2025-10-06"`

38 

39 - `"sora-2-pro-2025-10-06"`

40 

41 - `"sora-2-2025-12-08"`

42 

43- `seconds: optional VideoSeconds`

44 

45 Clip duration in seconds (allowed values: 4, 8, 12). Defaults to 4 seconds.

46 

47 - `"4"`

48 

49 - `"8"`

50 

51 - `"12"`

52 

53- `size: optional VideoSize`

54 

55 Output resolution formatted as width x height (allowed values: 720x1280, 1280x720, 1024x1792, 1792x1024). Defaults to 720x1280.

56 

57 - `"720x1280"`

58 

59 - `"1280x720"`

60 

61 - `"1024x1792"`

62 

63 - `"1792x1024"`

64 

65### Returns

66 

67- `Video object { id, completed_at, created_at, 10 more }`

68 

69 Structured information describing a generated video job.

70 

71 - `id: string`

72 

73 Unique identifier for the video job.

74 

75 - `completed_at: number or null`

76 

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

78 

79 - `created_at: number`

80 

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

82 

83 - `error: VideoCreateError or null`

84 

85 Error payload that explains why generation failed, if applicable.

86 

87 - `code: string`

88 

89 A machine-readable error code that was returned.

90 

91 - `message: string`

92 

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

94 

95 - `headers: optional map[string]`

96 

97 The Retry-After and Retry-After-Ms headers returned with the original error, if any.

98 

99 - `misalignment: optional object { detailed_explanation, error_type, steer }`

100 

101 - `detailed_explanation: optional string`

102 

103 The public explanation for this block.

104 

105 - `error_type: optional string or "potentially_unintended_data_transfer" or "potentially_unintended_data_access" or "potentially_unintended_destructive_activity" or "other"`

106 

107 An optional classification; clients must accept additional values.

108 

109 - `string`

110 

111 - `SafetyAlertErrorType = "potentially_unintended_data_transfer" or "potentially_unintended_data_access" or "potentially_unintended_destructive_activity" or "other"`

112 

113 An optional classification; clients must accept additional values.

114 

115 - `"potentially_unintended_data_transfer"`

116 

117 - `"potentially_unintended_data_access"`

118 

119 - `"potentially_unintended_destructive_activity"`

120 

121 - `"other"`

122 

123 - `steer: optional object { message }`

124 

125 An optional public continuation instruction.

126 

127 - `message: string`

128 

129 The public continuation instruction.

130 

131 - `expires_at: number or null`

132 

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

134 

135 - `model: VideoModel`

136 

137 The video generation model that produced the job.

138 

139 - `string`

140 

141 - `"sora-2" or "sora-2-pro" or "sora-2-2025-10-06" or 2 more`

142 

143 - `"sora-2"`

144 

145 - `"sora-2-pro"`

146 

147 - `"sora-2-2025-10-06"`

148 

149 - `"sora-2-pro-2025-10-06"`

150 

151 - `"sora-2-2025-12-08"`

152 

153 - `object: "video"`

154 

155 The object type, which is always `video`.

156 

157 - `"video"`

158 

159 - `progress: number`

160 

161 Approximate completion percentage for the generation task.

162 

163 - `prompt: string or null`

164 

165 The prompt that was used to generate the video.

166 

167 - `remixed_from_video_id: string or null`

168 

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

170 

171 - `seconds: string`

172 

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

174 

175 - `size: VideoSize`

176 

177 The resolution of the generated video.

178 

179 - `"720x1280"`

180 

181 - `"1280x720"`

182 

183 - `"1024x1792"`

184 

185 - `"1792x1024"`

186 

187 - `status: "queued" or "in_progress" or "completed" or "failed"`

188 

189 Current lifecycle status of the video job.

190 

191 - `"queued"`

192 

193 - `"in_progress"`

194 

195 - `"completed"`

196 

197 - `"failed"`

198 

199### Example

200 

201```http

202curl https://api.openai.com/v1/videos \

203 -H 'Content-Type: application/json' \

204 -H "Authorization: Bearer $OPENAI_API_KEY" \

205 -d '{

206 "prompt": "x"

207 }'

208```

209 

210#### Response

211 

212```json

213{

214 "id": "id",

215 "completed_at": 0,

216 "created_at": 0,

217 "error": {

218 "code": "code",

219 "message": "message",

220 "headers": {

221 "foo": "string"

222 },

223 "misalignment": {

224 "detailed_explanation": "detailed_explanation",

225 "error_type": "potentially_unintended_data_transfer",

226 "steer": {

227 "message": "message"

228 }

229 }

230 },

231 "expires_at": 0,

232 "model": "sora-2",

233 "object": "video",

234 "progress": 0,

235 "prompt": "prompt",

236 "remixed_from_video_id": "remixed_from_video_id",

237 "seconds": "string",

238 "size": "720x1280",

239 "status": "queued"

240}

241```

242 

243### Example

244 

245```http

246curl https://api.openai.com/v1/videos \

247 -H "Authorization: Bearer $OPENAI_API_KEY" \

248 -F "model=sora-2" \

249 -F "prompt=A calico cat playing a piano on stage"

250```

251 

252#### Response

253 

254```json

255{

256 "id": "video_123",

257 "object": "video",

258 "model": "sora-2",

259 "status": "queued",

260 "progress": 0,

261 "created_at": 1712697600,

262 "size": "1024x1792",

263 "seconds": "8",

264 "quality": "standard"

265}

266```

resources/videos/methods/delete/index.md +0 −45 deleted

File Deleted View Diff

1> For the complete documentation index, see [llms.txt](/llms.txt). Markdown versions of documentation pages are available by appending `.md` to the page URL.

2 

3## Delete a video

4 

5**delete** `/videos/{video_id}`

6 

7Permanently delete a completed or failed video and its stored assets.

8 

9### Path Parameters

10 

11- `video_id: string`

12 

13### Returns

14 

15- `id: string`

16 

17 Identifier of the deleted video.

18 

19- `deleted: boolean`

20 

21 Indicates that the video resource was deleted.

22 

23- `object: "video.deleted"`

24 

25 The object type that signals the deletion response.

26 

27 - `"video.deleted"`

28 

29### Example

30 

31```http

32curl https://api.openai.com/v1/videos/$VIDEO_ID \

33 -X DELETE \

34 -H "Authorization: Bearer $OPENAI_API_KEY"

35```

36 

37#### Response

38 

39```json

40{

41 "id": "id",

42 "deleted": true,

43 "object": "video.deleted"

44}

45```

resources/videos/methods/list/index.md +0 −248 deleted

File Deleted View Diff

1> For the complete documentation index, see [llms.txt](/llms.txt). Markdown versions of documentation pages are available by appending `.md` to the page URL.

2 

3## List videos

4 

5**get** `/videos`

6 

7List recently generated videos for the current project.

8 

9### Query Parameters

10 

11- `after: optional string`

12 

13 Identifier for the last item from the previous pagination request

14 

15- `limit: optional number`

16 

17 Number of items to retrieve

18 

19- `order: optional "asc" or "desc"`

20 

21 Sort order of results by timestamp. Use `asc` for ascending order or `desc` for descending order.

22 

23 - `"asc"`

24 

25 - `"desc"`

26 

27### Returns

28 

29- `data: array of Video`

30 

31 A list of items

32 

33 - `id: string`

34 

35 Unique identifier for the video job.

36 

37 - `completed_at: number or null`

38 

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

40 

41 - `created_at: number`

42 

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

44 

45 - `error: VideoCreateError or null`

46 

47 Error payload that explains why generation failed, if applicable.

48 

49 - `code: string`

50 

51 A machine-readable error code that was returned.

52 

53 - `message: string`

54 

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

56 

57 - `headers: optional map[string]`

58 

59 The Retry-After and Retry-After-Ms headers returned with the original error, if any.

60 

61 - `misalignment: optional object { detailed_explanation, error_type, steer }`

62 

63 - `detailed_explanation: optional string`

64 

65 The public explanation for this block.

66 

67 - `error_type: optional string or "potentially_unintended_data_transfer" or "potentially_unintended_data_access" or "potentially_unintended_destructive_activity" or "other"`

68 

69 An optional classification; clients must accept additional values.

70 

71 - `string`

72 

73 - `SafetyAlertErrorType = "potentially_unintended_data_transfer" or "potentially_unintended_data_access" or "potentially_unintended_destructive_activity" or "other"`

74 

75 An optional classification; clients must accept additional values.

76 

77 - `"potentially_unintended_data_transfer"`

78 

79 - `"potentially_unintended_data_access"`

80 

81 - `"potentially_unintended_destructive_activity"`

82 

83 - `"other"`

84 

85 - `steer: optional object { message }`

86 

87 An optional public continuation instruction.

88 

89 - `message: string`

90 

91 The public continuation instruction.

92 

93 - `expires_at: number or null`

94 

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

96 

97 - `model: VideoModel`

98 

99 The video generation model that produced the job.

100 

101 - `string`

102 

103 - `"sora-2" or "sora-2-pro" or "sora-2-2025-10-06" or 2 more`

104 

105 - `"sora-2"`

106 

107 - `"sora-2-pro"`

108 

109 - `"sora-2-2025-10-06"`

110 

111 - `"sora-2-pro-2025-10-06"`

112 

113 - `"sora-2-2025-12-08"`

114 

115 - `object: "video"`

116 

117 The object type, which is always `video`.

118 

119 - `"video"`

120 

121 - `progress: number`

122 

123 Approximate completion percentage for the generation task.

124 

125 - `prompt: string or null`

126 

127 The prompt that was used to generate the video.

128 

129 - `remixed_from_video_id: string or null`

130 

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

132 

133 - `seconds: string`

134 

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

136 

137 - `size: VideoSize`

138 

139 The resolution of the generated video.

140 

141 - `"720x1280"`

142 

143 - `"1280x720"`

144 

145 - `"1024x1792"`

146 

147 - `"1792x1024"`

148 

149 - `status: "queued" or "in_progress" or "completed" or "failed"`

150 

151 Current lifecycle status of the video job.

152 

153 - `"queued"`

154 

155 - `"in_progress"`

156 

157 - `"completed"`

158 

159 - `"failed"`

160 

161- `first_id: string or null`

162 

163 The ID of the first item in the list.

164 

165- `has_more: boolean`

166 

167 Whether there are more items available.

168 

169- `last_id: string or null`

170 

171 The ID of the last item in the list.

172 

173- `object: "list"`

174 

175 The type of object returned, must be `list`.

176 

177 - `"list"`

178 

179### Example

180 

181```http

182curl https://api.openai.com/v1/videos \

183 -H "Authorization: Bearer $OPENAI_API_KEY"

184```

185 

186#### Response

187 

188```json

189{

190 "data": [

191 {

192 "id": "id",

193 "completed_at": 0,

194 "created_at": 0,

195 "error": {

196 "code": "code",

197 "message": "message",

198 "headers": {

199 "foo": "string"

200 },

201 "misalignment": {

202 "detailed_explanation": "detailed_explanation",

203 "error_type": "potentially_unintended_data_transfer",

204 "steer": {

205 "message": "message"

206 }

207 }

208 },

209 "expires_at": 0,

210 "model": "sora-2",

211 "object": "video",

212 "progress": 0,

213 "prompt": "prompt",

214 "remixed_from_video_id": "remixed_from_video_id",

215 "seconds": "string",

216 "size": "720x1280",

217 "status": "queued"

218 }

219 ],

220 "first_id": "first_id",

221 "has_more": true,

222 "last_id": "last_id",

223 "object": "list"

224}

225```

226 

227### Example

228 

229```http

230curl https://api.openai.com/v1/videos \

231 -H "Authorization: Bearer $OPENAI_API_KEY"

232```

233 

234#### Response

235 

236```json

237{

238 "data": [

239 {

240 "id": "video_123",

241 "object": "video",

242 "model": "sora-2",

243 "status": "completed"

244 }

245 ],

246 "object": "list"

247}

248```

resources/videos/methods/retrieve/index.md +0 −185 deleted

File Deleted View Diff

1> For the complete documentation index, see [llms.txt](/llms.txt). Markdown versions of documentation pages are available by appending `.md` to the page URL.

2 

3## Retrieve a video

4 

5**get** `/videos/{video_id}`

6 

7Fetch the latest metadata for a generated video.

8 

9### Path Parameters

10 

11- `video_id: string`

12 

13### Returns

14 

15- `Video object { id, completed_at, created_at, 10 more }`

16 

17 Structured information describing a generated video job.

18 

19 - `id: string`

20 

21 Unique identifier for the video job.

22 

23 - `completed_at: number or null`

24 

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

26 

27 - `created_at: number`

28 

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

30 

31 - `error: VideoCreateError or null`

32 

33 Error payload that explains why generation failed, if applicable.

34 

35 - `code: string`

36 

37 A machine-readable error code that was returned.

38 

39 - `message: string`

40 

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

42 

43 - `headers: optional map[string]`

44 

45 The Retry-After and Retry-After-Ms headers returned with the original error, if any.

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 \

151 -H "Authorization: Bearer $OPENAI_API_KEY"

152```

153 

154#### Response

155 

156```json

157{

158 "id": "id",

159 "completed_at": 0,

160 "created_at": 0,

161 "error": {

162 "code": "code",

163 "message": "message",

164 "headers": {

165 "foo": "string"

166 },

167 "misalignment": {

168 "detailed_explanation": "detailed_explanation",

169 "error_type": "potentially_unintended_data_transfer",

170 "steer": {

171 "message": "message"

172 }

173 }

174 },

175 "expires_at": 0,

176 "model": "sora-2",

177 "object": "video",

178 "progress": 0,

179 "prompt": "prompt",

180 "remixed_from_video_id": "remixed_from_video_id",

181 "seconds": "string",

182 "size": "720x1280",

183 "status": "queued"

184}

185```