List the catalog
modality (image, video, audio, 3d or text) or by tasks, such as text-to-image, image-to-video or text-to-speech. Without a key, GET /v1/public/models returns the same list.
Some entries carry more fields, which Leap’s own pages use and your code can ignore: added, the day the entry joined the catalog; cover and gallery, reviewed examples of what it makes, as links to pictures and, for video, clips; and guide, a preset’s pitch, its steps and the IDs a result can go to next.
Models and presets
A model’s ID iscreator/name, such as google/veo-3.1-fast or elevenlabs/eleven-v3. A new version of a model gets a new name, so the model behind an ID doesn’t change under you.
A preset is a ready-made recipe: a model with an expert prompt and a few typed inputs, such as leap/restore-photo@1 or leap/headshot@1. Its type is preset, and its ID ends in a version. A new version of a preset is published alongside the old one, and the bare ID without @N (leap/restore-photo) runs whichever version has latest: true. Pin the version in production; use the bare ID to always get the newest.
Read an input schema
input_schema, a JSON Schema (2020-12) of the input object the model takes. Trimmed, it looks like this:
title, length limits such as minLength and maxLength on the prompt, and x-leap-ui hints.
What the schema means for your request:
- Required fields must be there. Fields you leave out take their
default. - Unknown fields are refused: the schema sets
additionalProperties: false, so a typo is a400that names the field inparam. - An
enumlists the only values a field takes. Some fields list their choices asoneOfinstead, each aconstto send and atitleto show, such ascoloronleap/restore-photo@1, shown below. - A field that takes a photo, video or sound has the pattern
^file_[0-9A-Za-z]{24}$. Upload the file first and pass its ID. x-leap-uion a field is a hint for rendering a form, such as a widget or an order. You can ignore it.
Lifecycle
A model’sstatus says where it is in its life:
A retired model’s entry,
GET /v1/models/{creator}/{name}, is that 410 too, so read the replacement from its message, which names it when there is one: {id} was retired on {sunset}. Use {replacement} instead.
Deprecation
While a model is deprecated, itsdeprecation says what happens next. It’s null for every other status.
When you start a generation, get a quote or read a model that’s deprecated, the answer carries the same facts in headers. Log them, and you’ll see a sunset coming.
revision is the date of the model’s current schema and price. A generation records the revision it ran on.
Prices
Each entry carries itspricing. Pricing and credits explains how to read it, and how to price any input before you run it.