media tools (scope: mcp:read, credits: ~0)
Upload a local file or external URL to persistent R2 storage.
Upload a local file or external URL to persistent R2 storage. Returns a durable r2_key that can be passed to schedule_post. Use for images, videos, or any media that needs to be posted to social platforms. Accepts local file paths (in MCP stdio mode) or public URLs. Max 10MB for base64 upload — larger files return an error with guidance.
Upload a local file or external URL to persistent R2 storage. › Request Body
sourceLocal file path (e.g. "/Users/me/image.png") or public URL (e.g. "https://example.com/photo.jpg"). ' + 'Local files are read and uploaded as base64. URLs are fetched by the server.
content_typeMIME type (e.g. "image/png", "video/mp4"). Auto-detected from file extension if omitted.
project_idProject ID for R2 path organization.
response_formatResponse format. Default: text.
Upload a local file or external URL to persistent R2 storage. › Responses
Successful tool execution.
Get a fresh signed URL for an R2 media key.
Get a fresh signed URL for an R2 media key. Use when a previously returned signed URL has expired (they last 1 hour). Pass the r2_key from upload_media or check_status.
Get a fresh signed URL for an R2 media key. › Request Body
r2_keyThe R2 object key (e.g. "org_x/user_y/images/2026-04-03/abc.png").
response_formatResponse format. Default: text.
Get a fresh signed URL for an R2 media key. › Responses
Successful tool execution.