openapi: 3.2.0 info: version: 2.0.0 x-latency-category: responsive x-endpoint-cost: light title: Telnyx Speech To Text Capabilities API description: SIP trunking, SMS, MMS, Call Control and Telephony Data Services. contact: email: support@telnyx.com servers: - url: https://api.telnyx.com/v2 description: Version 2.0.0 of the Telnyx API security: - bearerAuth: [] tags: - name: Speech To Text Capabilities description: Discover available speech-to-text providers, models, and supported languages. paths: /speech-to-text/providers: get: summary: List supported STT providers description: 'Retrieve the canonical list of supported speech-to-text providers, models, accepted language codes, and the service types each model supports. Service types: * `streaming` — standalone WebSocket transcription via `/speech-to-text/transcription`. * `file_based` — file-based transcription via `/ai/audio/transcriptions`. * `in_call` — live call transcription via Call Control `transcription_start`. * `ai_assistant` — STT configured on a Call Control AI Assistant via voice-assistant `TranscriptionConfig` (covers both live-streaming and non-streaming/batch models). Use this endpoint to discover which (provider, model) combinations are available for the surface you need, and which language codes each accepts. `auto` in a `languages` array indicates the provider performs language detection.' operationId: listSttProviders servers: - url: https://api.telnyx.com/v2 description: Telnyx API v2 tags: - Speech To Text Capabilities parameters: - name: service_type in: query required: false description: Filter to entries that support the given service type. For backward compatibility with the values that briefly shipped before the product-aligned rename, the legacy aliases `file_transcription`, `in_call_transcription`, and `ai_assistant_transcription` are silently accepted and normalized to `file_based`, `in_call`, and `ai_assistant` respectively. The response always emits the canonical (post-rename) values. schema: $ref: '#/components/schemas/STTServiceType' - name: provider in: query required: false description: Filter to entries for a specific STT provider. The enum mirrors the providers advertised across the speech-to-text spec (including `google` and `telnyx`, which are accepted as WebSocket transcription engines). A provider that has no models currently registered for any service type will return an empty `data` array rather than an error. schema: type: string enum: - deepgram - speechmatics - assemblyai - xai - soniox - parakeet - humain - reson8 - cohere - azure - openai - google - telnyx responses: '200': description: List of supported STT providers and models. content: application/json: schema: $ref: '#/components/schemas/STTProvidersResponse' '400': description: Bad request — invalid filter value. content: application/json: schema: $ref: '#/components/schemas/speech-to-text_Errors' example: errors: - code: '10015' title: Bad Request detail: The request failed because it was not well-formed. '401': description: Authentication failed — missing or invalid API key. '422': $ref: '#/components/responses/speech-to-text_UnprocessableEntityResponse' x-latency-category: responsive components: schemas: STTProvidersMeta: type: object properties: total: type: integer description: Total number of entries returned. example: 12 required: - total speech-to-text_Errors: properties: errors: type: array items: $ref: '#/components/schemas/speech-to-text_Error' speech-to-text_Error: required: - code - title properties: code: type: string format: integer title: type: string detail: type: string source: type: object properties: pointer: description: JSON pointer (RFC6901) to the offending entity. type: string format: json-pointer parameter: description: Indicates which query parameter caused the error. type: string meta: type: object STTServiceType: type: string description: Service surface a model is available on. `ai_assistant` is the STT surface configured via Call Control voice-assistant transcription; it covers both live-streaming and non-streaming/batch models (matching the `TranscriptionConfig.model` enum on `call-control` voice assistants). enum: - streaming - file_based - in_call - ai_assistant STTProvider: type: object description: A (provider, model) tuple along with the service surfaces it supports. Each entry in `service_types` describes one surface and the languages accepted on it. properties: provider: type: string description: STT provider name. example: deepgram model: type: string description: Provider-scoped model name. example: deepgram/nova-3 hosted: type: boolean description: Whether this model runs on Telnyx-hosted infrastructure (`true`) or is provided by a third-party vendor (`false`). service_types: type: array description: Service surfaces this (provider, model) supports. When the request filters by `service_type`, only the matching nested entry is returned for each matching model. items: $ref: '#/components/schemas/STTProviderServiceType' required: - provider - model - hosted - service_types STTProviderServiceType: type: object description: A supported service surface for a given (provider, model), along with the language codes accepted on that surface. Language support can differ per surface — for example, a model may accept a narrower language set for streaming than for file transcription. properties: type: $ref: '#/components/schemas/STTServiceType' languages: type: array description: Languages accepted on this service surface, in the provider's native code format. `auto` indicates the provider performs language detection. items: type: string example: - en - es - fr required: - type - languages STTProvidersResponse: type: object description: List of supported STT providers and models. properties: data: type: array items: $ref: '#/components/schemas/STTProvider' meta: $ref: '#/components/schemas/STTProvidersMeta' required: - data - meta responses: speech-to-text_UnprocessableEntityResponse: description: Unprocessable entity. The request was well-formed but could not be processed due to semantic errors. This includes validation errors, invalid parameter values and business logic violations. content: application/json: schema: $ref: '#/components/schemas/speech-to-text_Errors' examples: missing_required_parameter: summary: Missing required parameter value: errors: - code: '10004' title: Missing required parameter detail: The 'transcription_engine' parameter is required and cannot be blank. source: pointer: /transcription_engine securitySchemes: BearerAuth: type: http scheme: bearer bearerFormat: API key description: 'Telnyx API key supplied as `Authorization: Bearer `. In production, auth may be validated by the API gateway and forwarded via Telnyx auth headers.' Payment: type: apiKey in: header name: Authorization description: 'Machine Payment Protocol credential used on paid retries, sent as `Authorization: Payment ...`. Obtained by paying a challenge returned in the `WWW-Authenticate` header of a 402 response. This is not a Telnyx API key; initial challenge requests use standard bearer authentication instead.' agent-memory_bearerAuth: type: http scheme: bearer description: Telnyx API key bearerAuth: type: http scheme: bearer branded-calling_bearerAuth: type: http scheme: bearer description: Telnyx API key. Generate one at https://portal.telnyx.com/#/app/api-keys. collections_bearerAuth: type: http scheme: bearer description: Telnyx API key. Collections and results are automatically scoped to the authenticated user's organization. number-reputation_bearerAuth: type: http scheme: bearer description: Telnyx API key. Generate one at https://portal.telnyx.com/#/app/api-keys. oauthClientAuth: type: oauth2 flows: clientCredentials: tokenUrl: https://api.telnyx.com/v2/oauth/token scopes: admin: Administrative access to Telnyx resources authorizationCode: authorizationUrl: https://api.telnyx.com/v2/oauth/authorize tokenUrl: https://api.telnyx.com/v2/oauth/token refreshUrl: https://api.telnyx.com/v2/oauth/token scopes: admin: Administrative access to Telnyx resources description: OAuth 2.0 authentication for Telnyx API and MCP integrations outbound-voice-profiles_bearerAuth: type: http scheme: bearer bearerFormat: JWT pronunciation-dicts_bearerAuth: type: http scheme: bearer description: Telnyx API v2 key. Obtain from https://portal.telnyx.com rcs-registration_bearerAuth: type: http scheme: bearer bearerFormat: API key stored-payment-transactions_bearerAuth: type: http scheme: bearer bearerFormat: JWT transcriptions-search_bearerAuth: type: http scheme: bearer description: Telnyx API key. Results are automatically scoped to the authenticated user's organization. web-search_bearerAuth: type: http scheme: bearer description: Telnyx API key x-service-info: categories: - communication - developer-tools docs: apiReference: https://developers.telnyx.com homepage: https://telnyx.com llms: https://telnyx.com/llms.txt