Start an upload
create_uploadReserve an upload and get a presigned URL to PUT the bytes to. Send the returned upload_headers on that PUT exactly as given — they are signed into the URL, and a missing one is a 403, not a network failure. Follow with complete_upload once the PUT succeeds. Limits: images and audio up to 50 MB, video up to 250 MB. If this client cannot make an HTTP request of its own, or the PUT is refused, use request_upload_link (or import_media for a file at a URL).
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"filename": "<filename>",
"mime_type": "<mime_type>",
"bytes": "<bytes>"
},
"name": "create_upload"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| bytes | Yes | ||
| filename | Yes | ||
| mime_type | Yes | ||
| checksum_sha256 | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| message | Yes | ||
| upload_id | Yes | ||
| expires_at | Yes | ||
| upload_url | Yes | ||
| upload_headers | Yes |