Get an upload URL for a local file
create_uploadAttach a file from your machine (screenshot, photo, video): this returns a one-time upload_url, good for 15 minutes and one file. Send the raw bytes to it, e.g. curl -T ./shot.png "<upload_url>" (PUT; no auth header needed). The response has media_url: pass it in media_urls (as the URL, or {url, alt} with alt text) on create_post / schedule_post / queue_post / update_post.
Accepts JPEG, PNG, GIF, WebP, MP4, MOV, WebM (checked from the file's bytes). Size limit depends on the plan (max_bytes in the response). Files already on a public URL don't need this: pass the URL directly.
Tool call template
This tool declares no required parameters. Add optional parameters from the input schema as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {},
"name": "create_upload"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| size | No | Optional. File size in bytes; checked against the plan limit up front. | |
| filename | No | Optional. The local file name, used in the example command. |