blob_put
Upload a file or inline text to project storage via direct-to-S3. Set visibility to public (CDN) or private, and use immutable mode for permanent, cache-proof URLs.
Instructions
Upload a blob (file or inline content) to project storage via direct-to-S3. Accepts local_path (any size up to 5 TiB) or content (≤ 1 MB inline). Public blobs get a CDN URL; private blobs require authenticated reads. Use immutable: true to produce a content-addressed URL that never needs cache invalidation.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes | Project ID | |
| key | Yes | Destination key (path in the project's blob namespace). No leading slash. Example: 'images/logo.png' or 'circuits/v1.zkey'. | |
| local_path | No | Path to a local file to upload. Mutually exclusive with `content`. | |
| content | No | Inline content to upload (UTF-8 string). For small blobs ≤ 1 MB. Mutually exclusive with `local_path`. | |
| content_type | No | MIME type (auto-detected from file extension if omitted). | |
| visibility | No | Default: public. Public blobs get a CDN URL; private blobs require authenticated reads. | |
| immutable | No | When true, the returned URL includes a content-hash suffix so overwrites produce distinct URLs. CLI auto-computes sha256. |