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.
Request Creative Studio media upload (presigned PUT)
Tool name: request_creative_media_upload
Required scope: creative:generate
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.
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). |
fileSizeBytes | number | required | Exact file size in bytes. Required for presigned PUT signing. |
modelId | string | optional | Optional model ID to enforce that minimum credits are available before issuing an upload URL. |