studio.begin_asset_upload
Start uploading a video, audio or image file (up to 2 GB) into a studio project. Returns upload_id and the plan: one PUT for a file up to 64 MB, else fixed 64 MB parts, each a PUT to this server with the same Bearer token this MCP connection uses and the part's exact Content-Length. The file's bytes are reserved against the workspace's 20 GB studio upload quota until the upload finishes or is cancelled (after 24 hours without a part). Then call studio.finish_asset_upload. Refuses: a size over 2 GB (SIMPLER_STUDIO_UPLOAD_TOO_LARGE): compress or split the file; a mime outside the list (SIMPLER_STUDIO_UPLOAD_TYPE_UNSUPPORTED): convert the file; the quota (SIMPLER_STUDIO_UPLOAD_QUOTA): GET /api/studio/uploads lists your stored files, then delete unused ones; too many open uploads (SIMPLER_STUDIO_UPLOAD_OPEN_LIMIT): finish or cancel one; an environment without the upload tables (SIMPLER_STUDIO_UPLOAD_TABLES_MISSING): upload in one request with POST /api/studio/projects/{id}/assets. Free. Nothing is sent anywhere; the file only comes in.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| mime | Yes | The file's type. The stored bytes are checked when the upload finishes; a file that is not what it declares is deleted and refused. | |
| bytes | Yes | The file's exact size in bytes. | |
| filename | Yes | The file's name, shown in the project's media list. | |
| project_id | Yes | The studio project (vp_...) the file belongs to. |