Skip to main content
Media is one catalogue, one library and five routes, shared by the REST API and an agent’s tools:
There is no fixed list of generation models. The catalogue is read from the provider on every call, so a model published today is callable today. Search it here; pass what you find as model to POST /v1/media/images / POST /v1/media/videos or to generate_image / generate_video, or pin it on an agent with tools.configs.<tool>.config.models.

The media model object

string
Always media_model.
string
The model’s id. This is what model takes, on the generation routes and on the tools.
string
The model’s display name.
string
image · video · stt · tts · s2s. The three audio kinds are the audio catalogues.
string
What the model is good at, in the model author’s own words.
No price is published here, for the same reason GET /v1/models publishes none: a generation job is billed what it actually cost, and that is only knowable once the job has finished. See Pricing.

Search models

GET /v1/media/models — scope agents:read
string
required
image · video · stt · tts · s2s. Required: each is its own capability with its own catalogue — the audio ones are described on Audio.
Matches a model’s id, name or description. Omit it to list them all.
number
Page size, 1–100.
string
The next_cursor of the previous page. Opaque — it is not a row id.
Ordering is cheapest-first where the provider publishes a per-output price, which today is the image catalogue only. That is why an image request can leave model out and a video request must name one. A deploy with no generation provider configured answers 501 feature_not_configured rather than an empty list — “nothing is configured here” and “the provider has no models” are different facts.