Upload Creative Studio media inline
Prefer letting the Creative Studio widget collect local/attached files in Claude Connectors — it uploads without using your context (call create_creative_generation with mediaIntent / omit mediaUploads instead of this tool). Only call this tool yourself when you have literal file bytes AND you can pass dataBase64 as a tool argument without ever cat/echo/print/pasting the base64 into your response or reasoning (max 8MB decoded). Never dump base64 into the chat transcript. For files over 8MB, or coding agents with unrestricted outbound network, prefer request_creative_media_upload (presigned PUT). Returns uploadId for mediaUploads on create_creative_generation. Requires creative:generate scope.
Upload Creative Studio media inline
Tool name: upload_creative_media
Required scope: creative:generate
Prefer letting the Creative Studio widget collect local/attached files in Claude Connectors — it uploads without using your context (call create_creative_generation with mediaIntent / omit mediaUploads instead of this tool). Only call this tool yourself when you have literal file bytes AND you can pass dataBase64 as a tool argument without ever cat/echo/print/pasting the base64 into your response or reasoning (max 8MB decoded). Never dump base64 into the chat transcript. For files over 8MB, or coding agents with unrestricted outbound network, prefer request_creative_media_upload (presigned PUT). Returns uploadId for mediaUploads on create_creative_generation. Requires creative:generate scope.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
fileName | string | required | Original file name including extension. |
contentType | string | required | MIME type (for example image/jpeg, image/png, video/mp4). |
dataBase64 | string | required | Base64-encoded file bytes (a data: URI prefix is also accepted and stripped). Limited to 8MB decoded — for larger files use request_creative_media_upload from a client with direct network access instead. |
List Creative Studio generations
List recent API/MCP-sourced Creative Studio generations for this account. Use when the user asks what they generated recently, or to reuse a completed outputUrl as mediaUrls input. Requires creative:generate scope.
Request Creative Studio media upload (presigned PUT)
Request a presigned PUT URL for a local reference file, then PUT bytes from a client with unrestricted outbound network access (Claude Code, Cursor, Codex). **Do not use in Claude Connectors** — its sandboxed bash/curl will fail with host-not-allowed on *.r2.cloudflarestorage.com. In Connectors, use upload_creative_media instead. After a successful PUT, pass uploadId in mediaUploads on create_creative_generation. Requires creative:generate scope.