Buckets
Working with buckets
A bucket is a label attached to each image. Use them to separate generations by Discord server, customer, project, or anything else you want to filter on later.
How buckets work
- Every image belongs to exactly one bucket. If you don't pass
bucket, it goes intodefault. - Buckets are created automatically the first time you use them — no setup endpoint required.
- Buckets are scoped to your account. Two different users can both have a bucket called
memeswithout conflict. - You can browse and toggle bucket visibility on the public gallery from the gallery page.
Naming rules
Bucket names are normalized server-side. The final stored name always matches /^[a-z0-9-]+$/ and is at most 64 characters.
- Lowercased.
- Trimmed.
- Any run of non-alphanumerics becomes a single
-. - Leading and trailing dashes are stripped.
- Truncated to 64 characters.
Examples
"Cats And Dogs" → "cats-and-dogs" "client_acme/v2" → "client-acme-v2" " HELLO " → "hello" "!!!" → 400 (must contain at least one alphanumeric)
Pre-normalize for predictable names
If you want a stable name (e.g. a Discord guild ID), pass it already lowercase / kebab-case so the value you send equals the value you get back.
Putting an image into a bucket
Pass bucket when creating an image. See Creating images for the full schema.
POST https://qaves.me/api/v1/images/generations
Authorization: Bearer sk_qu_YOUR_KEY
Content-Type: application/json
{
"model": "gpt-image-2",
"prompt": "A neon orange fox",
"bucket": "client-acme"
}Reading images from a bucket
Use the listing endpoint with ?bucket=. See Listing images for query params and pagination.
GET https://qaves.me/api/v1/images/generations?bucket=client-acme&limit=50 Authorization: Bearer sk_qu_YOUR_KEY
Common patterns
One bucket per Discord server
{
"model": "gpt-image-2",
"prompt": userPrompt,
"bucket": interaction.guildId
}One bucket per customer or project
Use a stable identifier (database ID, slug) so you can later list all images you've generated for that customer.
{ "bucket": `customer-${customerId}` }