The Media API
Images, video, speech, transcription and embeddings on the same token you already use for chat. 33 of the 81 catalogued media models are live today, and every one of them tells you exactly which parameters it accepts.
Stop running a second vendor for pictures and speech
You already route text through one gateway, with one key, one bill and one trace view. The moment you need an image or a voiceover, most teams open a second account, store a second key and reconcile a second invoice. Media now arrives on the token you already have.
client_id:api_key:api_secret triple, or the same PAT, that signs your chat calls.Every model publishes the parameters it accepts
This is the part that matters for agents. Media models do not share a parameter set: one wants an aspect ratio from a fixed list, another needs a source image, another needs audio. An API that pretends otherwise forces a guess, and a wrong guess costs a generation. So the parameters are published as data.
// GET /media/models -> what kie/veo-3-fast actually accepts
{
"prompt": { "type": "string", "required": true },
"aspect_ratio": { "type": "enum", "default": "16:9",
"enum": ["16:9", "9:16", "1:1"] }
}
A wrong value fails before it costs you anything
The obvious failure of forwarding whatever you were sent is that a typo reaches the provider, the provider answers with a bare 502, and you are left guessing. Two rules run before a provider key is ever selected, so a mistake is caught while it is still free.
ignored_params so nothing is silent.422 invalid_param, naming the field and listing what it accepts.504 generation_timeout and writes a typed row, so a degraded model shows up as a number.33 of 81 live, and all of them on your own key
Coverage stated as a fraction rather than a headline. 33 of the 81 media models in the catalogue are active and callable right now: 16 of 34 image, 15 of 36 video, 2 of 11 audio. The remaining 48 are registered with a recorded reason and are not yet servable. Media is also bring your own key: every active model is paid tier and none run on the shared pool, so you register a provider key and we supply the routing, the schema, the guards, the metering and the storage.