create_bucket
Create a new Qencode Media Storage bucket.
Call this ONLY on an explicit request to create a bucket or to keep a
result long-term. Do NOT call it just because a transcoding request lacks a
`destination`, or because the user says they have no bucket / nowhere to
save the output — that is the default temp-storage case: omit `destination`
(24-hour temp storage) and disclose it, do not provision an account-level
bucket the user did not ask for.
Args:
name: 6–63 chars, lowercase letters / digits / hyphens
(`^[a-z0-9][a-z0-9-]{4,61}[a-z0-9]$`) — no underscores or uppercase.
A name that breaks this pattern is rejected (`invalid_bucket_name`).
region: one of us-west, eu-central.
Returns `{bucket, region, status}`:
- `status: "created"` — a new bucket was provisioned.
- `status: "exists"` — you already own a bucket with this name (no-op).
A name already taken by another account fails with `bucket_conflict`.
The bucket's CDN endpoint is provisioned asynchronously, so a new bucket is
usually usable within a few seconds but may not appear in `list_buckets`
immediately — poll `list_buckets` if you need to confirm it before using it.
During that same async window the bucket reports `public: false` and then
flips to `public: true` within a few seconds up to ~a minute as CDN
provisioning completes; the `public` value read right after creation is not
stable (see qencode://docs/storage).
This tool does not make the bucket public; visibility is otherwise managed in
the Qencode portal.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| region | Yes |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| bucket | Yes | ||
| region | Yes | ||
| status | Yes |