Skip to content

Commit 2c73431

Browse files
authored
Add sora 2 support (#1834)
* Update OpenAI package to version 6.7.0 and add video generation capabilities - Updated `openai` dependency in `package-lock.json` and `package.json`. - Introduced new permissions for video generation in `hardcoded-permissions.js`. - Added video generation service in `AIInterfaceService.js` and registered it in `PuterAIModule.js`. - Implemented coercion for video streams in `CoercionService.js`. - Updated driver service to include video generation. - Added `txt2video` method and options in `AI.js` and corresponding TypeScript definitions in `index.d.ts`. * Update openaiVideoCostMap.ts * Revert "Update openaiVideoCostMap.ts" This reverts commit 9e66f93. * change `txt2video` to `txt2vid`
1 parent 5ae8ed9 commit 2c73431

File tree

12 files changed

+464
-32
lines changed

12 files changed

+464
-32
lines changed

package-lock.json

Lines changed: 5 additions & 29 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/backend/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@
6363
"murmurhash": "^2.0.1",
6464
"nodemailer": "^6.9.3",
6565
"on-finished": "^2.4.1",
66-
"openai": "^4.73.1",
66+
"openai": "^6.7.0",
6767
"otpauth": "9.2.4",
6868
"prompt-sync": "^4.2.0",
6969
"proxyquire": "^2.1.3",

src/backend/src/data/hardcoded-permissions.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ const default_implicit_user_app_permissions = {
2323
'driver:puter-ocr:recognize': {},
2424
'driver:puter-chat-completion': {},
2525
'driver:puter-image-generation': {},
26+
'driver:puter-video-generation': {},
2627
'driver:puter-tts': {},
2728
'driver:puter-apps': {},
2829
'driver:puter-subdomains': {},
@@ -58,6 +59,7 @@ const implicit_user_app_permissions = [
5859
'driver:puter-kvstore:flush': {},
5960
'driver:puter-chat-completion:complete': {},
6061
'driver:puter-image-generation:generate': {},
62+
'driver:puter-video-generation:generate': {},
6163
'driver:puter-analytics:create_trace': {},
6264
'driver:puter-analytics:record': {},
6365
},

src/backend/src/modules/puterai/AIInterfaceService.js

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,44 @@ class AIInterfaceService extends BaseService {
125125
}
126126
});
127127

128+
col_interfaces.set('puter-video-generation', {
129+
description: 'AI Video Generation.',
130+
methods: {
131+
generate: {
132+
description: 'Generate a video from a prompt.',
133+
parameters: {
134+
prompt: { type: 'string' },
135+
model: { type: 'string', optional: true },
136+
seconds: { type: 'number', optional: true },
137+
duration: { type: 'number', optional: true },
138+
size: { type: 'string', optional: true },
139+
resolution: { type: 'string', optional: true },
140+
input_reference: { type: 'file', optional: true },
141+
},
142+
result_choices: [
143+
{
144+
names: ['url'],
145+
type: {
146+
$: 'string:url:web',
147+
content_type: 'video',
148+
}
149+
},
150+
{
151+
names: ['video'],
152+
type: {
153+
$: 'stream',
154+
content_type: 'video',
155+
}
156+
},
157+
],
158+
result: {
159+
description: 'Video asset descriptor or URL for the generated video.',
160+
type: 'json'
161+
}
162+
}
163+
}
164+
});
165+
128166
col_interfaces.set('puter-tts', {
129167
description: 'Text-to-speech.',
130168
methods: {

0 commit comments

Comments
 (0)