@j-o-r/hello-dave 0.1.1 → 0.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +42 -25
- package/README.md +81 -221
- package/TODO.md +173 -35
- package/agents/agent_creator.js +105 -0
- package/agents/agent_creator.prompt.md +371 -0
- package/agents/ask_agent.js +64 -127
- package/agents/claude_agent.js +68 -0
- package/agents/code_agent.js +55 -135
- package/agents/code_agent.prompt.md +50 -0
- package/agents/echo_agent.js +76 -0
- package/agents/financial_expert.js +75 -0
- package/agents/gpt_agent.js +52 -103
- package/agents/gpt_code.js +81 -0
- package/agents/grok_agent.js +58 -114
- package/agents/minimax_agent.js +92 -0
- package/agents/mureka_agent.js +77 -0
- package/agents/planner_agent.js +172 -0
- package/agents/stability_agent.js +87 -0
- package/agents/test_agent.js +75 -157
- package/agents/weather_agent.js +73 -0
- package/agents/workflow_agent.js +189 -0
- package/bin/dave.js +436 -184
- package/docs/bin-dave.md +85 -35
- package/docs/cdn-ssh.md +100 -0
- package/docs/creating-agents.md +301 -0
- package/docs/creating-toolsets.md +336 -0
- package/docs/docs-organization.md +48 -0
- package/docs/project-overview.md +86 -51
- package/lib/API/elevenlabs.io/music.compose.md +441 -0
- package/lib/API/elevenlabs.io/music.create-composition-plan.md +370 -0
- package/lib/API/elevenlabs.io/music.stream.md +425 -0
- package/lib/API/lalal.ai/lalal.js +445 -0
- package/lib/API/lalal.ai/openapi.json +2614 -0
- package/lib/API/minimax/ImageToolset.js +82 -37
- package/lib/API/minimax/MusicToolset.js +125 -79
- package/lib/API/minimax/VideoToolset.js +170 -167
- package/lib/API/minimax/image.js +5 -1
- package/lib/API/minimax/music.js +210 -23
- package/lib/API/minimax/video.js +242 -53
- package/lib/API/mureka/MusicToolset.js +646 -0
- package/lib/API/mureka/README.md +41 -0
- package/lib/API/mureka/index.js +7 -0
- package/lib/API/mureka/music.js +658 -0
- package/lib/API/openai.com/index.js +7 -0
- package/lib/API/openai.com/{reponses/text.js → responses.js} +64 -18
- package/lib/API/openai.com/video.create.character.md +40 -0
- package/lib/API/openai.com/video.create.md +219 -0
- package/lib/API/openai.com/video.delete.md +44 -0
- package/lib/API/openai.com/video.download.md +31 -0
- package/lib/API/openai.com/video.edit.md +155 -0
- package/lib/API/openai.com/video.extend.md +166 -0
- package/lib/API/openai.com/video.fetch.character.md +43 -0
- package/lib/API/openai.com/video.js +784 -0
- package/lib/API/openai.com/video.list.md +201 -0
- package/lib/API/openai.com/video.remix.md +175 -0
- package/lib/API/openai.com/video.retrieve.md +139 -0
- package/lib/API/openai.com/videoToolset.js +616 -0
- package/lib/API/stability.ai/ImageToolset.js +131 -40
- package/lib/API/stability.ai/MusicToolset.js +79 -47
- package/lib/API/stability.ai/audio.js +63 -131
- package/lib/API/x.ai/chat.responses.md +1040 -0
- package/lib/API/x.ai/image.js +229 -59
- package/lib/API/x.ai/imageToolset.js +376 -0
- package/lib/API/x.ai/index.js +1 -1
- package/lib/API/x.ai/responses.js +9 -18
- package/lib/Agent.js +271 -0
- package/lib/Agent.js.old +284 -0
- package/lib/AgentLauncher.js +593 -0
- package/lib/Cli.js +87 -13
- package/lib/Prompt.js +23 -1
- package/lib/Session.js +5 -4
- package/lib/ToolSet.js +102 -6
- package/lib/agentLoader.js +369 -0
- package/lib/cdn.js +67 -231
- package/lib/{CdnToolset.js → cdnToolset.js} +47 -64
- package/lib/defaultToolsets.js +43 -0
- package/lib/fafs.js +1 -1
- package/lib/genericToolset.js +442 -119
- package/lib/handOffToolset.js +179 -0
- package/lib/index.js +34 -27
- package/lib/toolsetLoader.js +248 -0
- package/package.json +10 -4
- package/types/API/lalal.ai/lalal.d.ts +116 -0
- package/types/API/minimax/image.d.ts +2 -1
- package/types/API/minimax/music.d.ts +189 -26
- package/types/API/minimax/video.d.ts +100 -31
- package/types/API/mureka/index.d.ts +7 -0
- package/types/API/mureka/music.d.ts +472 -0
- package/types/API/openai.com/index.d.ts +7 -0
- package/types/API/openai.com/{reponses/text.d.ts → responses.d.ts} +11 -11
- package/types/API/openai.com/video.d.ts +409 -0
- package/types/API/openai.com/videoToolset.d.ts +24 -0
- package/types/API/stability.ai/audio.d.ts +14 -103
- package/types/API/stability.ai/image.d.ts +2 -2
- package/types/API/x.ai/image.d.ts +138 -26
- package/types/API/x.ai/imageToolset.d.ts +3 -0
- package/types/API/x.ai/index.d.ts +1 -1
- package/types/API/x.ai/responses.d.ts +4 -4
- package/types/Agent.d.ts +123 -0
- package/types/AgentLauncher.d.ts +250 -0
- package/types/Cli.d.ts +28 -8
- package/types/Prompt.d.ts +23 -5
- package/types/Session.d.ts +1 -1
- package/types/ToolSet.d.ts +10 -0
- package/types/agentLoader.d.ts +78 -0
- package/types/cdn.d.ts +15 -90
- package/types/defaultToolsets.d.ts +9 -0
- package/types/fafs.d.ts +1 -1
- package/types/genericToolset.d.ts +1 -1
- package/types/handOffToolset.d.ts +28 -0
- package/types/index.d.ts +19 -17
- package/types/toolsetLoader.d.ts +114 -0
- package/utils/format_log.js +101 -23
- package/utils/launch_agent.js +18 -0
- package/utils/list_sessions.sh +13 -5
- package/utils/search_sessions.sh +65 -29
- package/utils/toolsets.js +33 -0
- package/README.md.bak.1779452127 +0 -240
- package/agents/codeserver.sh +0 -47
- package/agents/daisy_agent.js +0 -173
- package/agents/docs_agent.js +0 -148
- package/agents/memory_agent.js +0 -263
- package/agents/minimax.js +0 -173
- package/agents/npm_agent.js +0 -202
- package/agents/prompt_agent.js +0 -133
- package/agents/readme_agent.js +0 -148
- package/agents/spawn_agent.js +0 -160
- package/agents/stability.js +0 -173
- package/agents/todo_agent.js +0 -175
- package/bin/codeDave +0 -58
- package/docs/agent-dave-websocket-protocol.md +0 -180
- package/docs/agent-manager.md +0 -244
- package/docs/codeserver-pattern.md +0 -191
- package/docs/generic-toolset.md +0 -326
- package/docs/howtos/agent-networking.md +0 -253
- package/docs/howtos/spawn-agents.md.bak +0 -200
- package/docs/howtos/spawn-agents.md.bak_new +0 -200
- package/docs/multi-agent-clusters.md +0 -265
- package/docs/music-toolsets.md +0 -137
- package/docs/path-resolution-best-practices.md +0 -104
- package/docs/plans/minimax-music-generation.md +0 -80
- package/docs/plans/unified-agent-architecture.md +0 -146
- package/docs/plans/websocket-streaming-plan.md.bak +0 -317
- package/docs/prompt/spawn_agent.md +0 -175
- package/docs/prompt/spawn_agent.md.bak +0 -201
- package/docs/prompt/task_clarification_and_documentation.md +0 -35
- package/docs/prompt-class.md +0 -141
- package/docs/todo-archive-infra-2026-04-21.md +0 -15
- package/docs/todo-archive-v0.0.8.md +0 -1
- package/docs/todo-archive-v0.1.0.md +0 -32
- package/docs/todo-archive.md +0 -44
- package/docs/tools-syntax-validation.md +0 -121
- package/docs/toolset.md +0 -164
- package/docs/xai-responses.md +0 -111
- package/docs/xai_collections.md +0 -106
- package/lib/API/x.ai/ImageToolset.js +0 -165
- package/lib/API/x.ai/text.js +0 -415
- package/lib/AgentClient.js +0 -248
- package/lib/AgentManager.js +0 -245
- package/lib/AgentServer.js +0 -404
- package/lib/wsCli.js +0 -287
- package/lib/wsIO.js +0 -90
- package/types/API/x.ai/text.d.ts +0 -286
- package/types/AgentClient.d.ts +0 -109
- package/types/AgentManager.d.ts +0 -100
- package/types/AgentServer.d.ts +0 -89
- package/types/wsCli.d.ts +0 -17
- package/types/wsIO.d.ts +0 -30
- package/utils/test.sh +0 -46
- /package/docs/{suggestions.md → _notes/token-counts.md} +0 -0
- /package/lib/API/openai.com/{reponses/MESSAGES.md → MESSAGES.md} +0 -0
- /package/types/API/{x.ai/ImageToolset.d.ts → mureka/MusicToolset.d.ts} +0 -0
- /package/types/{CdnToolset.d.ts → cdnToolset.d.ts} +0 -0
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
## [List videos](https://developers.openai.com/api/reference/resources/videos/methods/list)
|
|
2
|
+
|
|
3
|
+
**get** `/videos`
|
|
4
|
+
|
|
5
|
+
List recently generated videos for the current project.
|
|
6
|
+
|
|
7
|
+
### Query Parameters
|
|
8
|
+
|
|
9
|
+
- `after: optional string`
|
|
10
|
+
|
|
11
|
+
Identifier for the last item from the previous pagination request
|
|
12
|
+
|
|
13
|
+
- `limit: optional number`
|
|
14
|
+
|
|
15
|
+
Number of items to retrieve
|
|
16
|
+
|
|
17
|
+
- `order: optional "asc" or "desc"`
|
|
18
|
+
|
|
19
|
+
Sort order of results by timestamp. Use `asc` for ascending order or `desc` for descending order.
|
|
20
|
+
|
|
21
|
+
- `"asc"`
|
|
22
|
+
|
|
23
|
+
- `"desc"`
|
|
24
|
+
|
|
25
|
+
### Returns
|
|
26
|
+
|
|
27
|
+
- `data: array of Video`
|
|
28
|
+
|
|
29
|
+
A list of items
|
|
30
|
+
|
|
31
|
+
- `id: string`
|
|
32
|
+
|
|
33
|
+
Unique identifier for the video job.
|
|
34
|
+
|
|
35
|
+
- `completed_at: number`
|
|
36
|
+
|
|
37
|
+
Unix timestamp (seconds) for when the job completed, if finished.
|
|
38
|
+
|
|
39
|
+
- `created_at: number`
|
|
40
|
+
|
|
41
|
+
Unix timestamp (seconds) for when the job was created.
|
|
42
|
+
|
|
43
|
+
- `error: VideoCreateError`
|
|
44
|
+
|
|
45
|
+
Error payload that explains why generation failed, if applicable.
|
|
46
|
+
|
|
47
|
+
- `code: string`
|
|
48
|
+
|
|
49
|
+
A machine-readable error code that was returned.
|
|
50
|
+
|
|
51
|
+
- `message: string`
|
|
52
|
+
|
|
53
|
+
A human-readable description of the error that was returned.
|
|
54
|
+
|
|
55
|
+
- `expires_at: number`
|
|
56
|
+
|
|
57
|
+
Unix timestamp (seconds) for when the downloadable assets expire, if set.
|
|
58
|
+
|
|
59
|
+
- `model: VideoModel`
|
|
60
|
+
|
|
61
|
+
The video generation model that produced the job.
|
|
62
|
+
|
|
63
|
+
- `string`
|
|
64
|
+
|
|
65
|
+
- `"sora-2" or "sora-2-pro" or "sora-2-2025-10-06" or 2 more`
|
|
66
|
+
|
|
67
|
+
- `"sora-2"`
|
|
68
|
+
|
|
69
|
+
- `"sora-2-pro"`
|
|
70
|
+
|
|
71
|
+
- `"sora-2-2025-10-06"`
|
|
72
|
+
|
|
73
|
+
- `"sora-2-pro-2025-10-06"`
|
|
74
|
+
|
|
75
|
+
- `"sora-2-2025-12-08"`
|
|
76
|
+
|
|
77
|
+
- `object: "video"`
|
|
78
|
+
|
|
79
|
+
The object type, which is always `video`.
|
|
80
|
+
|
|
81
|
+
- `"video"`
|
|
82
|
+
|
|
83
|
+
- `progress: number`
|
|
84
|
+
|
|
85
|
+
Approximate completion percentage for the generation task.
|
|
86
|
+
|
|
87
|
+
- `prompt: string`
|
|
88
|
+
|
|
89
|
+
The prompt that was used to generate the video.
|
|
90
|
+
|
|
91
|
+
- `remixed_from_video_id: string`
|
|
92
|
+
|
|
93
|
+
Identifier of the source video if this video is a remix.
|
|
94
|
+
|
|
95
|
+
- `seconds: string`
|
|
96
|
+
|
|
97
|
+
Duration of the generated clip in seconds. For extensions, this is the stitched total duration.
|
|
98
|
+
|
|
99
|
+
- `size: VideoSize`
|
|
100
|
+
|
|
101
|
+
The resolution of the generated video.
|
|
102
|
+
|
|
103
|
+
- `"720x1280"`
|
|
104
|
+
|
|
105
|
+
- `"1280x720"`
|
|
106
|
+
|
|
107
|
+
- `"1024x1792"`
|
|
108
|
+
|
|
109
|
+
- `"1792x1024"`
|
|
110
|
+
|
|
111
|
+
- `status: "queued" or "in_progress" or "completed" or "failed"`
|
|
112
|
+
|
|
113
|
+
Current lifecycle status of the video job.
|
|
114
|
+
|
|
115
|
+
- `"queued"`
|
|
116
|
+
|
|
117
|
+
- `"in_progress"`
|
|
118
|
+
|
|
119
|
+
- `"completed"`
|
|
120
|
+
|
|
121
|
+
- `"failed"`
|
|
122
|
+
|
|
123
|
+
- `first_id: string`
|
|
124
|
+
|
|
125
|
+
The ID of the first item in the list.
|
|
126
|
+
|
|
127
|
+
- `has_more: boolean`
|
|
128
|
+
|
|
129
|
+
Whether there are more items available.
|
|
130
|
+
|
|
131
|
+
- `last_id: string`
|
|
132
|
+
|
|
133
|
+
The ID of the last item in the list.
|
|
134
|
+
|
|
135
|
+
- `object: "list"`
|
|
136
|
+
|
|
137
|
+
The type of object returned, must be `list`.
|
|
138
|
+
|
|
139
|
+
- `"list"`
|
|
140
|
+
|
|
141
|
+
### Example
|
|
142
|
+
|
|
143
|
+
```http
|
|
144
|
+
curl https://api.openai.com/v1/videos \
|
|
145
|
+
-H "Authorization: Bearer $OPENAI_API_KEY"
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
#### Response
|
|
149
|
+
|
|
150
|
+
```json
|
|
151
|
+
{
|
|
152
|
+
"data": [
|
|
153
|
+
{
|
|
154
|
+
"id": "id",
|
|
155
|
+
"completed_at": 0,
|
|
156
|
+
"created_at": 0,
|
|
157
|
+
"error": {
|
|
158
|
+
"code": "code",
|
|
159
|
+
"message": "message"
|
|
160
|
+
},
|
|
161
|
+
"expires_at": 0,
|
|
162
|
+
"model": "sora-2",
|
|
163
|
+
"object": "video",
|
|
164
|
+
"progress": 0,
|
|
165
|
+
"prompt": "prompt",
|
|
166
|
+
"remixed_from_video_id": "remixed_from_video_id",
|
|
167
|
+
"seconds": "seconds",
|
|
168
|
+
"size": "720x1280",
|
|
169
|
+
"status": "queued"
|
|
170
|
+
}
|
|
171
|
+
],
|
|
172
|
+
"first_id": "first_id",
|
|
173
|
+
"has_more": true,
|
|
174
|
+
"last_id": "last_id",
|
|
175
|
+
"object": "list"
|
|
176
|
+
}
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
### Example
|
|
180
|
+
|
|
181
|
+
```http
|
|
182
|
+
curl 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": "video_123",
|
|
193
|
+
"object": "video",
|
|
194
|
+
"model": "sora-2",
|
|
195
|
+
"status": "completed"
|
|
196
|
+
}
|
|
197
|
+
],
|
|
198
|
+
"object": "list"
|
|
199
|
+
}
|
|
200
|
+
```
|
|
201
|
+
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
## [Remix video](https://developers.openai.com/api/reference/resources/videos/methods/remix)
|
|
2
|
+
|
|
3
|
+
**post** `/videos/{video_id}/remix`
|
|
4
|
+
|
|
5
|
+
Create 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`
|
|
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`
|
|
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
|
+
- `expires_at: number`
|
|
48
|
+
|
|
49
|
+
Unix timestamp (seconds) for when the downloadable assets expire, if set.
|
|
50
|
+
|
|
51
|
+
- `model: VideoModel`
|
|
52
|
+
|
|
53
|
+
The video generation model that produced the job.
|
|
54
|
+
|
|
55
|
+
- `string`
|
|
56
|
+
|
|
57
|
+
- `"sora-2" or "sora-2-pro" or "sora-2-2025-10-06" or 2 more`
|
|
58
|
+
|
|
59
|
+
- `"sora-2"`
|
|
60
|
+
|
|
61
|
+
- `"sora-2-pro"`
|
|
62
|
+
|
|
63
|
+
- `"sora-2-2025-10-06"`
|
|
64
|
+
|
|
65
|
+
- `"sora-2-pro-2025-10-06"`
|
|
66
|
+
|
|
67
|
+
- `"sora-2-2025-12-08"`
|
|
68
|
+
|
|
69
|
+
- `object: "video"`
|
|
70
|
+
|
|
71
|
+
The object type, which is always `video`.
|
|
72
|
+
|
|
73
|
+
- `"video"`
|
|
74
|
+
|
|
75
|
+
- `progress: number`
|
|
76
|
+
|
|
77
|
+
Approximate completion percentage for the generation task.
|
|
78
|
+
|
|
79
|
+
- `prompt: string`
|
|
80
|
+
|
|
81
|
+
The prompt that was used to generate the video.
|
|
82
|
+
|
|
83
|
+
- `remixed_from_video_id: string`
|
|
84
|
+
|
|
85
|
+
Identifier of the source video if this video is a remix.
|
|
86
|
+
|
|
87
|
+
- `seconds: string`
|
|
88
|
+
|
|
89
|
+
Duration of the generated clip in seconds. For extensions, this is the stitched total duration.
|
|
90
|
+
|
|
91
|
+
- `size: VideoSize`
|
|
92
|
+
|
|
93
|
+
The resolution of the generated video.
|
|
94
|
+
|
|
95
|
+
- `"720x1280"`
|
|
96
|
+
|
|
97
|
+
- `"1280x720"`
|
|
98
|
+
|
|
99
|
+
- `"1024x1792"`
|
|
100
|
+
|
|
101
|
+
- `"1792x1024"`
|
|
102
|
+
|
|
103
|
+
- `status: "queued" or "in_progress" or "completed" or "failed"`
|
|
104
|
+
|
|
105
|
+
Current lifecycle status of the video job.
|
|
106
|
+
|
|
107
|
+
- `"queued"`
|
|
108
|
+
|
|
109
|
+
- `"in_progress"`
|
|
110
|
+
|
|
111
|
+
- `"completed"`
|
|
112
|
+
|
|
113
|
+
- `"failed"`
|
|
114
|
+
|
|
115
|
+
### Example
|
|
116
|
+
|
|
117
|
+
```http
|
|
118
|
+
curl https://api.openai.com/v1/videos/$VIDEO_ID/remix \
|
|
119
|
+
-H 'Content-Type: application/json' \
|
|
120
|
+
-H "Authorization: Bearer $OPENAI_API_KEY" \
|
|
121
|
+
-d '{
|
|
122
|
+
"prompt": "x"
|
|
123
|
+
}'
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
#### Response
|
|
127
|
+
|
|
128
|
+
```json
|
|
129
|
+
{
|
|
130
|
+
"id": "id",
|
|
131
|
+
"completed_at": 0,
|
|
132
|
+
"created_at": 0,
|
|
133
|
+
"error": {
|
|
134
|
+
"code": "code",
|
|
135
|
+
"message": "message"
|
|
136
|
+
},
|
|
137
|
+
"expires_at": 0,
|
|
138
|
+
"model": "sora-2",
|
|
139
|
+
"object": "video",
|
|
140
|
+
"progress": 0,
|
|
141
|
+
"prompt": "prompt",
|
|
142
|
+
"remixed_from_video_id": "remixed_from_video_id",
|
|
143
|
+
"seconds": "seconds",
|
|
144
|
+
"size": "720x1280",
|
|
145
|
+
"status": "queued"
|
|
146
|
+
}
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
### Example
|
|
150
|
+
|
|
151
|
+
```http
|
|
152
|
+
curl -X POST https://api.openai.com/v1/videos/video_123/remix \
|
|
153
|
+
-H "Authorization: Bearer $OPENAI_API_KEY" \
|
|
154
|
+
-H "Content-Type: application/json" \
|
|
155
|
+
-d '{
|
|
156
|
+
"prompt": "Extend the scene with the cat taking a bow to the cheering audience"
|
|
157
|
+
}'
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
#### Response
|
|
161
|
+
|
|
162
|
+
```json
|
|
163
|
+
{
|
|
164
|
+
"id": "video_456",
|
|
165
|
+
"object": "video",
|
|
166
|
+
"model": "sora-2",
|
|
167
|
+
"status": "queued",
|
|
168
|
+
"progress": 0,
|
|
169
|
+
"created_at": 1712698600,
|
|
170
|
+
"size": "720x1280",
|
|
171
|
+
"seconds": "8",
|
|
172
|
+
"remixed_from_video_id": "video_123"
|
|
173
|
+
}
|
|
174
|
+
```
|
|
175
|
+
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
## Retrieve video
|
|
2
|
+
[source](https://developers.openai.com/api/reference/resources/videos/methods/retrieve)
|
|
3
|
+
|
|
4
|
+
**get** `/videos/{video_id}`
|
|
5
|
+
|
|
6
|
+
Fetch the latest metadata for a generated video.
|
|
7
|
+
|
|
8
|
+
### Path Parameters
|
|
9
|
+
|
|
10
|
+
- `video_id: string`
|
|
11
|
+
|
|
12
|
+
### Returns
|
|
13
|
+
|
|
14
|
+
- `Video object { id, completed_at, created_at, 10 more }`
|
|
15
|
+
|
|
16
|
+
Structured information describing a generated video job.
|
|
17
|
+
|
|
18
|
+
- `id: string`
|
|
19
|
+
|
|
20
|
+
Unique identifier for the video job.
|
|
21
|
+
|
|
22
|
+
- `completed_at: number`
|
|
23
|
+
|
|
24
|
+
Unix timestamp (seconds) for when the job completed, if finished.
|
|
25
|
+
|
|
26
|
+
- `created_at: number`
|
|
27
|
+
|
|
28
|
+
Unix timestamp (seconds) for when the job was created.
|
|
29
|
+
|
|
30
|
+
- `error: VideoCreateError`
|
|
31
|
+
|
|
32
|
+
Error payload that explains why generation failed, if applicable.
|
|
33
|
+
|
|
34
|
+
- `code: string`
|
|
35
|
+
|
|
36
|
+
A machine-readable error code that was returned.
|
|
37
|
+
|
|
38
|
+
- `message: string`
|
|
39
|
+
|
|
40
|
+
A human-readable description of the error that was returned.
|
|
41
|
+
|
|
42
|
+
- `expires_at: number`
|
|
43
|
+
|
|
44
|
+
Unix timestamp (seconds) for when the downloadable assets expire, if set.
|
|
45
|
+
|
|
46
|
+
- `model: VideoModel`
|
|
47
|
+
|
|
48
|
+
The video generation model that produced the job.
|
|
49
|
+
|
|
50
|
+
- `string`
|
|
51
|
+
|
|
52
|
+
- `"sora-2" or "sora-2-pro" or "sora-2-2025-10-06" or 2 more`
|
|
53
|
+
|
|
54
|
+
- `"sora-2"`
|
|
55
|
+
|
|
56
|
+
- `"sora-2-pro"`
|
|
57
|
+
|
|
58
|
+
- `"sora-2-2025-10-06"`
|
|
59
|
+
|
|
60
|
+
- `"sora-2-pro-2025-10-06"`
|
|
61
|
+
|
|
62
|
+
- `"sora-2-2025-12-08"`
|
|
63
|
+
|
|
64
|
+
- `object: "video"`
|
|
65
|
+
|
|
66
|
+
The object type, which is always `video`.
|
|
67
|
+
|
|
68
|
+
- `"video"`
|
|
69
|
+
|
|
70
|
+
- `progress: number`
|
|
71
|
+
|
|
72
|
+
Approximate completion percentage for the generation task.
|
|
73
|
+
|
|
74
|
+
- `prompt: string`
|
|
75
|
+
|
|
76
|
+
The prompt that was used to generate the video.
|
|
77
|
+
|
|
78
|
+
- `remixed_from_video_id: string`
|
|
79
|
+
|
|
80
|
+
Identifier of the source video if this video is a remix.
|
|
81
|
+
|
|
82
|
+
- `seconds: string`
|
|
83
|
+
|
|
84
|
+
Duration of the generated clip in seconds. For extensions, this is the stitched total duration.
|
|
85
|
+
|
|
86
|
+
- `size: VideoSize`
|
|
87
|
+
|
|
88
|
+
The resolution of the generated video.
|
|
89
|
+
|
|
90
|
+
- `"720x1280"`
|
|
91
|
+
|
|
92
|
+
- `"1280x720"`
|
|
93
|
+
|
|
94
|
+
- `"1024x1792"`
|
|
95
|
+
|
|
96
|
+
- `"1792x1024"`
|
|
97
|
+
|
|
98
|
+
- `status: "queued" or "in_progress" or "completed" or "failed"`
|
|
99
|
+
|
|
100
|
+
Current lifecycle status of the video job.
|
|
101
|
+
|
|
102
|
+
- `"queued"`
|
|
103
|
+
|
|
104
|
+
- `"in_progress"`
|
|
105
|
+
|
|
106
|
+
- `"completed"`
|
|
107
|
+
|
|
108
|
+
- `"failed"`
|
|
109
|
+
|
|
110
|
+
### Example
|
|
111
|
+
|
|
112
|
+
```http
|
|
113
|
+
curl https://api.openai.com/v1/videos/$VIDEO_ID \
|
|
114
|
+
-H "Authorization: Bearer $OPENAI_API_KEY"
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
#### Response
|
|
118
|
+
|
|
119
|
+
```json
|
|
120
|
+
{
|
|
121
|
+
"id": "id",
|
|
122
|
+
"completed_at": 0,
|
|
123
|
+
"created_at": 0,
|
|
124
|
+
"error": {
|
|
125
|
+
"code": "code",
|
|
126
|
+
"message": "message"
|
|
127
|
+
},
|
|
128
|
+
"expires_at": 0,
|
|
129
|
+
"model": "sora-2",
|
|
130
|
+
"object": "video",
|
|
131
|
+
"progress": 0,
|
|
132
|
+
"prompt": "prompt",
|
|
133
|
+
"remixed_from_video_id": "remixed_from_video_id",
|
|
134
|
+
"seconds": "seconds",
|
|
135
|
+
"size": "720x1280",
|
|
136
|
+
"status": "queued"
|
|
137
|
+
}
|
|
138
|
+
```
|
|
139
|
+
|