Images
Listing images
Fetch images you've previously generated, filtered by bucket and ordered newest first. Useful for building galleries, picking a recent generation to re-post, or paginating through history.
Endpoint
GET https://qaves.me/api/v1/images/generations
Query parameters
bucketstringoptionalBucket to read from. Auto-normalized the same way as on creation. Defaults to
default.limitintegeroptionalHow many to return. Between 1 and 100. Defaults to 50.
pageintegeroptionalPage number (1-based). Defaults to
1. Use with limit to paginate through results. Keep limit stable while paging.Response
bucketstringoptionalThe normalized bucket you queried.
limitintegeroptionalThe effective limit applied to this query.
countintegeroptionalNumber of items returned in
data.on_pageintegeroptionalThe current page number.
total_pagesintegeroptionalTotal number of pages available at the current
limit.has_next_pagebooleanoptionalWhether another page exists after this one.
has_prev_pagebooleanoptionalWhether a previous page exists before this one.
bucket_idstring | nulloptionalThe bucket's unique ID, or
null if the bucket has no metadata row yet.is_publicbooleanoptionalWhether the bucket is publicly browsable.
bucket_linkstring | nulloptionalPublic URL for the bucket (only set when
is_public is true).dataarrayoptionalArray of images, each with
id, url, prompt, bucket, and created_at (Unix epoch).{
"bucket": "default",
"bucket_id": "8f1c…",
"is_public": true,
"bucket_link": "https://qaves.me/api/b/8f1c…",
"limit": 50,
"count": 2,
"bucket_total": 2,
"on_page": 1,
"total_pages": 1,
"has_next_page": false,
"has_prev_page": false,
"data": [
{
"id": "f0c8…",
"url": "https://qaves.me/api/i/<id>.png",
"prompt": "A neon orange fox",
"bucket": "default",
"created_at": 1778833800
}
]
}Examples
Latest 10 images in the default bucket
curl "https://qaves.me/api/v1/images/generations?limit=10" \ -H "Authorization: Bearer sk_qu_YOUR_KEY"
Read from a specific bucket
curl "https://qaves.me/api/v1/images/generations?bucket=client-acme&limit=50" \ -H "Authorization: Bearer sk_qu_YOUR_KEY"
Paginate through history
async function* allImages(bucket = "default") {
let page = 1;
while (true) {
const url = new URL("https://qaves.me/api/v1/images/generations");
url.searchParams.set("bucket", bucket);
url.searchParams.set("limit", "100");
url.searchParams.set("page", String(page));
const res = await fetch(url, {
headers: { Authorization: `Bearer ${process.env.QAVES_KEY}` },
});
const json = await res.json();
for (const img of json.data) yield img;
if (!json.has_next_page) return;
page++;
}
}Image URLs are permanent
URLs returned here are the same ones returned by creating images — safe to embed long-term.