API reference · Catalog
Models
Discover the catalog models that are enabled, speech-to-speech capable, priced, and approved for the current environment.
GET
List models
List enabled speech-to-speech models available to your application.
/v1/modelsNo authentication requiredResponse
200 OKAn OpenAI-style list containing only enabled and provider-ready catalog models.
| Field | Type | Description |
|---|---|---|
data[].idrequired | string | Catalog namespace used in session creation. It is not a provider URL. |
data[].display_namerequired | string | Human-readable model name. |
data[].capabilitiesrequired | object | Speech-to-speech, VAD, barge-in, and transcription capability flags. |
data[].audiorequired | object | Public input/output audio format contract. |
data[].pricingrequired | object | Runtime selling rate. Use these values for display, never a hard-coded example. |
{
"object": "list",
"data": [
{
"id": "xai/grok-voice-latest",
"object": "model",
"display_name": "Grok Voice Latest",
"owned_by": "xai",
"modalities": {
"input": ["audio"],
"output": ["audio", "text"]
},
"capabilities": {
"speech_to_speech": true,
"server_vad": true,
"barge_in": true,
"input_transcription": "optional",
"output_transcription": "optional"
},
"audio": {
"input": {
"type": "audio/pcm",
"encoding": "pcm16le",
"sample_rate_hz": 24000,
"channels": 1
},
"output": {
"type": "audio/pcm",
"encoding": "pcm16le",
"sample_rate_hz": 24000,
"channels": 1
}
},
"pricing": {
"source": "upstream_derived",
"currency": "cent",
"unit": "milli_cents",
"per_minute": 6000,
"audio_in_token": 10,
"audio_out_token": 10,
"relay_fee_milli_cents": 0,
"rate_snapshot_id": "rate_EXAMPLE"
}
}
]
}Responses
status codes200Public model catalog returned.503Model catalog or readiness store is unavailable.service_unavailable- A registered model that is not explicitly approved as provider-ready is fail-closed and is not listed.
- Clients must use a returned model id when creating a session; the gateway never silently substitutes another model.
Model object
The nested fields clients need to render capabilities and price information.
| Field | Type | Description |
|---|---|---|
idrequired | string | Stable catalog id for POST /v1/voice/sessions. |
display_namerequired | string | Human-readable model name. |
owned_byrequired | string | Catalog owner label. |
modalitiesrequired | object | Input and output modality arrays. |
capabilitiesrequired | object | speech_to_speech, server_vad, barge_in, and optional transcription flags. |
audiorequired | object | Negotiated public audio format for input and output. |
pricingrequired | object | Upstream-derived selling rate and rate_snapshot_id. |
Compatibility fields
Legacy aliases may remain during catalog migration, but new clients should use the canonical nested fields.
| Legacy field | Canonical field | Migration note |
|---|---|---|
name | display_name | Use the descriptive model label. |
created | creation timestamp when needed | Retained as a Unix-seconds compatibility field. |
pricing_unit | pricing.unit | Read the nested pricing object for new integrations. |
price_*_milli_cents | pricing | Flattened aliases are retained only while consumers migrate. |