Skip to main content
Media is one catalogue, one library and six 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 · mesh · 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.
object[]
Mesh models only. One entry per option the model offers: texture (boolean), rig (boolean), and micro_usd (integer, what that combination costs). Image, video and audio rows omit it.
Image, video and audio rows publish no price, for the same reason GET /v1/models publishes none: those jobs are billed what they actually cost, and that is only knowable once the job has finished. A mesh row publishes prices, because that job’s price is fixed by the model and its texture and rig switches. See Pricing.

Search models

GET /v1/media/models — scope agents:read
string
required
image · video · mesh · 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 the platform’s own models first, then the rest; within each, cheapest-first where a per-output price is published. That is why an image request can leave model out: it runs the first entry that takes what it carries. A video request can leave it out too: it runs the first of the platform’s video defaults the catalogue publishes — minimax/hailuo-3, bytedance/seedance-2.5, then alibaba/wan-3.0/text-to-video (for an edit, only one the catalogue says takes a video; the platform’s per-second video models take a first frame, not a clip to edit); otherwise name one. Every model listed is callable by its id, whichever backend renders it. 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.