Generations

List your generation history - everything you have generated, through the API or in the Ludo web studio - most recent first. This is a free read-only lookup (no credits, no generation); it does not create anything. Pick a media type (image, spritesheet, video, audio, or 3d) and optionally narrow by free-text search (matched against tags, prompts and the other text on the asset), source, a date_from/date_to range (unix seconds), or the request_id you passed when you generated. Results are paginated with page_size (default 20, max 100) and 1-based page_number, and come back as an object: items (this page), plus page, page_size and has_more. Page until has_more is false rather than until you get a short page. has_more is computed by reading one row beyond the page, so it costs no extra query; there is deliberately no total count.

source selects the surface an item came from: api returns only your API/MCP generations, web only your web-studio ones, all (the default) both. API-originated items expire 7 days after creation - their files live under a lifecycle-pruned storage prefix - so source=api never returns anything older than 7 days, while web items are kept indefinitely and are not time-bounded. API-originated results expire after 7 days - download anything you want to retain. (Assets can be kept permanently from the Ludo web app.) Each item carries an id, its generation-history id, which identifies the item across these listings. Every item also carries type, echoing the media type you asked for; on audio items the kind of audio (sfx, music, speech) is reported as audio_type so it does not collide with it.

This lists work that has already FINISHED. To follow a generation that is still queued or running, poll getApiJob with the job id you were given instead. Requires an API key (user scope).

get/assets/generations

Query parameters

type'image' | 'spritesheet' | 'video' | 'audio' | '3d' required

Which kind of generation to list

searchstring

Free-text search. Every whitespace-separated term must match (case-insensitive substring) the item's tags or one of its text fields (prompt, hints, style, label, ...), so "dwarf axe" narrows to items matching both.

source'api' | 'web' | 'all'

Which surface the items were generated from: api (your API/MCP generations, last 7 days only), web (your Ludo web studio generations, no time limit), or all (default, both)

date_frominteger

Only return items generated at or after this time (unix seconds)

date_tointeger

Only return items generated at or before this time (unix seconds)

page_sizeinteger

Items per page (1-100)

page_numberinteger

1-based page number

request_idstring

Only return items tagged with this request_id when you generated them

Response

Success

pageinteger

The 1-based page number these items came from.

page_sizeinteger

The page size actually applied (your page_size, clamped to 1-100).

has_moreboolean

Whether at least one more page exists after this one. Page until this is false rather than until you get a short page.

Changes

Changed in 1 of the 8 revisions of this API.1