Why should I query models first?
Because Xenodia exposes model availability, async support, pricing mode, parameters, and reference-input rules through discovery instead of expecting clients to guess them.
Use `GET /v1/models` to discover currently enabled models, public pricing, modalities, request modes, parameters, and reference-input constraints.
Query GET /v1/models before sending requests. Xenodia returns the currently enabled model list, modalities, public pricing, and media capability metadata in one place.
GET https://api.xenodia.xyz/v1/modelsInspect data[].modalities. If the array includes image or video, treat it as a media model.
{
"id": "nano-banana-pro",
"modalities": ["image"],
"price_input_per_m": 90000,
"price_output_per_m": 120000,
"capabilities": {
"async_supported": true,
"request_mode": ["sync", "task"],
"parameters": [
{ "name": "aspect_ratio", "enum": ["1:1", "16:9", "auto"] },
{ "name": "resolution", "enum": ["1K", "2K", "4K"] },
{ "name": "output_format", "enum": ["png", "jpg"] }
],
"reference_input": {
"supported": true,
"transport": ["url", "multipart_file"],
"max_items": 8
}
}
}capabilities.async_supported: whether task mode is available.capabilities.request_mode: sync, task, or both.capabilities.parameters: model-controlled request fields.capabilities.reference_input: reference upload support, transport modes, and limits.Because Xenodia exposes model availability, async support, pricing mode, parameters, and reference-input rules through discovery instead of expecting clients to guess them.
Look at `modalities` for `image` or `video`, then inspect `capabilities` for request modes, parameters, and reference input rules.