Browse docs

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 required

Response

200 OK

An OpenAI-style list containing only enabled and provider-ready catalog models.

FieldTypeDescription
data[].idrequiredstringCatalog namespace used in session creation. It is not a provider URL.
data[].display_namerequiredstringHuman-readable model name.
data[].capabilitiesrequiredobjectSpeech-to-speech, VAD, barge-in, and transcription capability flags.
data[].audiorequiredobjectPublic input/output audio format contract.
data[].pricingrequiredobjectRuntime selling rate. Use these values for display, never a hard-coded example.
json
{
  "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 codes
200Public 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.

FieldTypeDescription
idrequiredstringStable catalog id for POST /v1/voice/sessions.
display_namerequiredstringHuman-readable model name.
owned_byrequiredstringCatalog owner label.
modalitiesrequiredobjectInput and output modality arrays.
capabilitiesrequiredobjectspeech_to_speech, server_vad, barge_in, and optional transcription flags.
audiorequiredobjectNegotiated public audio format for input and output.
pricingrequiredobjectUpstream-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 fieldCanonical fieldMigration note
namedisplay_nameUse the descriptive model label.
createdcreation timestamp when neededRetained as a Unix-seconds compatibility field.
pricing_unitpricing.unitRead the nested pricing object for new integrations.
price_*_milli_centspricingFlattened aliases are retained only while consumers migrate.