API reference · Account
Keep a project
POST/api/studio/projectsSigned in session
A whole editor document as project, or a new empty one by name and aspect. 409 project_exists when its doc_id is kept already and too_many_projects past the cap; 413 project_too_large. The signed in account; same origin only.
Request body
application/json, required
| Field | Type | What it is |
|---|---|---|
| project | object | The editor's own Project document (lib/studio/timeline.ts), held to the same schema: every clip names an asset the document carries, or none for a title. |
| project. | string | At most 100 characters. |
| project. | string | At most 500 characters. |
| project. | string | One of "16:9", "9:16", "1:1". |
| project. | number or null | |
| project. | array of object | |
| project. | string | At most 100 characters. |
| project. | string | One of "video", "audio", "image". |
| project. | string | At most 500 characters. |
| project. | string | At most 200 characters. |
| project. | number | At least 0. |
| project. | number | |
| project. | number | |
| project. | boolean | |
| project. | string | One of "import", "generated", "speech", "image", "frame". |
| project. | string | At most 200 characters. |
| project. | string | At most 20000 characters. |
| project. | number | At least 0. |
| project. | object | |
| project. | string | At most 120 characters. |
| project. | string | One of "queued", "in_progress", "completed", "failed", "cancelled". |
| project. | number or null | |
| project. | string | At most 2000 characters. |
| project. | number or null | |
| project. | number | At least 0. |
| project. | string | At most 100 characters. |
| project. | integer | From 0 to 2147483647. |
| project. | string | At most 100 characters. |
| project. | object | |
| project. | string or null | |
| project. | object | |
| project. | array of string | |
| project. | string | At most 100 characters. |
| project. | string | At most 2000 characters. |
| project. | string | One of "Characters", "Locations", "Products". |
| project. | object | |
| project. | string | |
| project. | string | At most 80 characters. |
| project. | string | |
| project. | object | |
| project. | string | At most 100 characters. |
| project. | string | One of "speech", "lipsync", "talking", "edit", "extend", "upscale", "motion", "enlarge", "inpaint". |
| project. | object | |
| project. | string | At most 100 characters. |
| project. | number | At least 0. |
| project. | number | At least 0. |
| project. | string | At most 100 characters. |
| project. | array of string | |
| project. | object | |
| project. | number | From 0 to 1000. |
| project. | array of number | |
| project. | object | |
| project. | number | At most 120. |
| project. | array of number | |
| project. | array of number | |
| project. | boolean | |
| project. | 1 or -1 | |
| project. | string | At most 100 characters. |
| project. | number | |
| project. | array of object | |
| project. | string | At most 100 characters. |
| project. | string | One of "title", "overlay", "video", "caption", "voice", "music", "effects". |
| project. | string or null | |
| project. | number | At least 0. |
| project. | number | At least 0. |
| project. | number | |
| project. | number | |
| project. | number | At least 0. |
| project. | string | At most 100 characters. |
| project. | object | |
| project. | number | |
| project. | number | |
| project. | object | |
| project. | string | One of "cut", "crossfade", "dip-black", "dip-white", "whip". |
| project. | number | At least 0. |
| project. | string | At most 2000 characters. |
| project. | string | One of "cinema", "lower-third", "bold", "minimal", "clean", "boxed", "karaoke", "large". |
| project. | string | One of "none", "fade", "type", "slide". |
| project. | string | One of "none", "fade", "type", "slide". |
| project. | object | |
| project. | number | From -1 to 1. |
| project. | number | From -1 to 1. |
| project. | number | From 0.1 to 4. |
| project. | number | From 0 to 1. |
| project. | array of object | |
| project. | number | |
| project. | number | From -1 to 1. |
| project. | number | From -1 to 1. |
| project. | number | From 0.1 to 4. |
| project. | number | From 0 to 1. |
| project. | array of object | |
| project. | number | |
| project. | number | From 0 to 1. |
| project. | object | |
| project. | number | From -2 to 2. |
| project. | number | From 0.5 to 1.5. |
| project. | number | From 0 to 2. |
| project. | array of object | |
| project. | number | From 0 to 1. |
| project. | number | From 0.25 to 4. |
| project. | array of object | |
| project. | number | |
| project. | number | From -1 to 1. |
| project. | number | From -1 to 1. |
| project. | object | |
| project. | string | |
| project. | number | From 0 to 1. |
| project. | number | From 0 to 1. |
| project. | number | From 0 to 1. |
| project. | number | From 0 to 1. |
| project. | object | |
| project. | string | One of "rect", "ellipse". |
| project. | number | From 0 to 1. |
| project. | number | From 0 to 1. |
| project. | number | From 0 to 2. |
| project. | number | From 0 to 2. |
| project. | number | From 0 to 1. |
| project. | boolean | |
| project. | string | One of "normal", "screen", "multiply", "overlay", "add". |
| project. | object |
Example
{
"project": {
"id": "string",
"name": "string",
"aspect": "16:9",
"budgetMicros": 0,
"assets": [
{
"id": "string",
"kind": "video",
"name": "string",
"mime": "string",
"duration": 0,
"source": "import",
"model": "antimatter/auto",
"prompt": "Say hello in five words.",
"createdAt": 0
}
],
"clips": [
{
"id": "string",
"track": "title",
"assetId": "string",
"start": 0,
"in": 0,
"duration": 0,
"speed": 0,
"volume": 0
}
],
"duck": false,
"characterAssetId": "string",
"model": "antimatter/auto",
"createdAt": 0,
"updatedAt": 0
},
"name": "string",
"aspect": "16:9"
}Answer 201
The project.
| Field | Type | What it is |
|---|---|---|
| id | string | |
| object | string | One of "studio.project". |
| doc_id | string | The document's own id (Project.id), unique per owner. |
| name | string | |
| aspect | string | One of "16:9", "9:16", "1:1". |
| version | integer | Moves on by one with every write; a write names the version it read. |
| bytes | integer | |
| org_id | integer or null | |
| created_at | integer | |
| updated_at | integer | |
| project | object | The editor's own Project document (lib/studio/timeline.ts), held to the same schema: every clip names an asset the document carries, or none for a title. |
| project. | string | At most 100 characters. |
| project. | string | At most 500 characters. |
| project. | string | One of "16:9", "9:16", "1:1". |
| project. | number or null | |
| project. | array of object | |
| project. | string | At most 100 characters. |
| project. | string | One of "video", "audio", "image". |
| project. | string | At most 500 characters. |
| project. | string | At most 200 characters. |
| project. | number | At least 0. |
| project. | number | |
| project. | number | |
| project. | boolean | |
| project. | string | One of "import", "generated", "speech", "image", "frame". |
| project. | string | At most 200 characters. |
| project. | string | At most 20000 characters. |
| project. | number | At least 0. |
| project. | object | |
| project. | string | At most 120 characters. |
| project. | string | One of "queued", "in_progress", "completed", "failed", "cancelled". |
| project. | number or null | |
| project. | string | At most 2000 characters. |
| project. | number or null | |
| project. | number | At least 0. |
| project. | string | At most 100 characters. |
| project. | integer | From 0 to 2147483647. |
| project. | string | At most 100 characters. |
| project. | object | |
| project. | string or null | |
| project. | object | |
| project. | array of string | |
| project. | string | At most 100 characters. |
| project. | string | At most 2000 characters. |
| project. | string | One of "Characters", "Locations", "Products". |
| project. | object | |
| project. | string | |
| project. | string | At most 80 characters. |
| project. | string | |
| project. | object | |
| project. | string | At most 100 characters. |
| project. | string | One of "speech", "lipsync", "talking", "edit", "extend", "upscale", "motion", "enlarge", "inpaint". |
| project. | object | |
| project. | string | At most 100 characters. |
| project. | number | At least 0. |
| project. | number | At least 0. |
| project. | string | At most 100 characters. |
| project. | array of string | |
| project. | object | |
| project. | number | From 0 to 1000. |
| project. | array of number | |
| project. | object | |
| project. | number | At most 120. |
| project. | array of number | |
| project. | array of number | |
| project. | boolean | |
| project. | 1 or -1 | |
| project. | string | At most 100 characters. |
| project. | number | |
| project. | array of object | |
| project. | string | At most 100 characters. |
| project. | string | One of "title", "overlay", "video", "caption", "voice", "music", "effects". |
| project. | string or null | |
| project. | number | At least 0. |
| project. | number | At least 0. |
| project. | number | |
| project. | number | |
| project. | number | At least 0. |
| project. | string | At most 100 characters. |
| project. | object | |
| project. | number | |
| project. | number | |
| project. | object | |
| project. | string | One of "cut", "crossfade", "dip-black", "dip-white", "whip". |
| project. | number | At least 0. |
| project. | string | At most 2000 characters. |
| project. | string | One of "cinema", "lower-third", "bold", "minimal", "clean", "boxed", "karaoke", "large". |
| project. | string | One of "none", "fade", "type", "slide". |
| project. | string | One of "none", "fade", "type", "slide". |
| project. | object | |
| project. | number | From -1 to 1. |
| project. | number | From -1 to 1. |
| project. | number | From 0.1 to 4. |
| project. | number | From 0 to 1. |
| project. | array of object | |
| project. | number | |
| project. | number | From -1 to 1. |
| project. | number | From -1 to 1. |
| project. | number | From 0.1 to 4. |
| project. | number | From 0 to 1. |
| project. | array of object | |
| project. | number | |
| project. | number | From 0 to 1. |
| project. | object | |
| project. | number | From -2 to 2. |
| project. | number | From 0.5 to 1.5. |
| project. | number | From 0 to 2. |
| project. | array of object | |
| project. | number | From 0 to 1. |
| project. | number | From 0.25 to 4. |
| project. | array of object | |
| project. | number | |
| project. | number | From -1 to 1. |
| project. | number | From -1 to 1. |
| project. | object | |
| project. | string | |
| project. | number | From 0 to 1. |
| project. | number | From 0 to 1. |
| project. | number | From 0 to 1. |
| project. | number | From 0 to 1. |
Errors
- 400OpenAI shaped error.
- 401OpenAI shaped error.
- 403OpenAI shaped error.
- 404OpenAI shaped error.
- 409OpenAI shaped error.
- 413OpenAI shaped error.
- 429OpenAI shaped error.
Every error answers in one shape, with its type, code and the field it names. The whole list is in the docs' Errors section.