---
title: "GET /assets/generations"
method: GET
path: "/assets/generations"
tags: ["Generations"]
---

# GET /assets/generations

`GET /assets/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).

## Query parameters

- `type` 'image' | 'spritesheet' | 'video' | 'audio' | '3d', required
- `search` string
- `source` 'api' | 'web' | 'all'
- `date_from` integer
- `date_to` integer
- `page_size` integer
- `page_number` integer
- `request_id` string

## Response `200`

Success

- GenerationList
  - `items` GenerationListItem[] — This page of results, newest first.
    - `id` string — Generation-history id of this item, identifying it across these listings. API-originated results expire after 7 days - download anything you want to retain. (Assets can be kept permanently from the Ludo web app.)
    - `type` 'image' | 'spritesheet' | 'video' | 'audio' | '3d' — The media type of this item, echoing the requested `type`.
    - `request_id` string
    - `created_at` integer — When the item was generated (unix seconds).
    - `url` string — image / video / audio: URL to the generated file.
    - `duration` number, float — video / audio / spritesheet: duration in seconds.
    - `has_audio` boolean — video only.
    - `audio_type` string — audio only: the kind of audio (sfx, music, speech). Named `audio_type` here, not `type`, because `type` reports the media type on every item.
    - `spritesheet_url` string — spritesheet only.
    - `video_url` string — spritesheet only: preview video.
    - `audio_b64` string — spritesheet only.
    - `num_frames` integer — spritesheet only.
    - `model_url` string — 3d only: URL to the generated model file.
    - `snapshots` string[] — 3d only: preview snapshot URLs.
  - `page` integer — The 1-based page number these items came from.
  - `page_size` integer — The page size actually applied (your page_size, clamped to 1-100).
  - `has_more` boolean — Whether at least one more page exists after this one. Page until this is false rather than until you get a short page.

## Other responses

- `400` — Error

## Changes

- **2026-08-30** `a8a0b85d1839` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/ludo/apis/ludo-ai-api/changes/assets/generations/get.md)

---

[API](https://skmtc.dev/ludo/apis/ludo-ai-api.md) · [All operations](https://skmtc.dev/ludo/apis/ludo-ai-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/ludo/ludo-ai-api/revisions/37a21589e770/schema)
