Inworld AI Speech To Text API

Transcribe audio to text.

Documentation

📖
Documentation
https://docs.inworld.ai/tts/tts
📖
GettingStarted
https://docs.inworld.ai/quickstart-tts
📖
Documentation
https://docs.inworld.ai/api-reference/ttsAPI/texttospeech/synthesize-speech
📖
Documentation
https://docs.inworld.ai/api-reference/ttsAPI/texttospeech/synthesize-speech-stream
📖
Documentation
https://docs.inworld.ai/api-reference/ttsAPI/texttospeech/synthesize-speech-websocket
📖
Documentation
https://docs.inworld.ai/tts/voice-cloning
📖
Documentation
https://docs.inworld.ai/tts/voice-design
📖
Documentation
https://docs.inworld.ai/tts/on-premises
📖
Documentation
https://docs.inworld.ai/api-reference/voiceAPI/voiceservice/clone-voice
📖
Documentation
https://docs.inworld.ai/api-reference/voiceAPI/voiceservice/design-voice
📖
Documentation
https://docs.inworld.ai/api-reference/voiceAPI/voiceservice/publish-voice
📖
Documentation
https://docs.inworld.ai/api-reference/voiceAPI/voiceservice/list-voices
📖
Documentation
https://docs.inworld.ai/stt/overview
📖
GettingStarted
https://docs.inworld.ai/stt/quickstart
📖
Documentation
https://docs.inworld.ai/api-reference/sttAPI/speechtotext/transcribe
📖
Documentation
https://docs.inworld.ai/api-reference/sttAPI/speechtotext/transcribe-stream-websocket
📖
Documentation
https://docs.inworld.ai/stt/voice-profiles
📖
Documentation
https://docs.inworld.ai/realtime/overview
📖
GettingStarted
https://docs.inworld.ai/realtime/quickstart-websocket
📖
GettingStarted
https://docs.inworld.ai/realtime/quickstart-webrtc
📖
Documentation
https://docs.inworld.ai/api-reference/realtimeAPI/realtime/realtime-websocket
📖
Documentation
https://docs.inworld.ai/api-reference/realtimeAPI/realtime/realtime-webrtc
📖
Documentation
https://docs.inworld.ai/realtime/openai-migration
📖
Documentation
https://docs.inworld.ai/realtime/usage/twilio
📖
Documentation
https://docs.inworld.ai/api-reference/modelsAPI/modelservice/list-models

Specifications

Schemas & Data

Other Resources

OpenAPI Specification

inworld-ai-speech-to-text-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Inworld Models Speech To Text API
  description: 'List every model available behind the Inworld platform — first-party TTS, STT, and Realtime models plus all third-party LLMs reachable through the LLM Router. Returns provider, model id, capabilities (chat, vision, tool use, speech, streaming), and pricing tier metadata for runtime discovery.

    '
  version: v1
  contact:
    name: Inworld Support
    url: https://docs.inworld.ai/tts/resources/support
  license:
    name: Inworld Terms of Service
    url: https://inworld.ai/legal/terms-of-service
servers:
- url: https://api.inworld.ai
  description: Inworld Production API
security:
- BasicAuth: []
tags:
- name: Speech To Text
  description: Transcribe audio to text.
paths:
  /stt/v1/transcribe:
    post:
      summary: Transcribe Audio
      description: 'Transcribe a base64-encoded audio payload to text. Optionally returns word timestamps and routes through the requested provider/model id.

        '
      operationId: transcribeAudio
      tags:
      - Speech To Text
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TranscribeRequest'
            examples:
              Default:
                $ref: '#/components/examples/TranscribeExample'
      responses:
        '200':
          description: Transcription returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TranscribeResponse'
        4XX:
          $ref: '#/components/responses/ErrorResponse'
  /stt/v1/transcribe:stream:
    get:
      summary: Streaming Transcribe (WebSocket)
      description: 'Upgrade to a WebSocket. Send PCM/Opus audio chunks and receive interim and final transcripts with word timestamps. Auth via `Authorization: Basic` on the upgrade.

        '
      operationId: streamTranscribe
      tags:
      - Speech To Text
      responses:
        '101':
          description: Switching protocols to WebSocket.
components:
  schemas:
    TranscribeResponse:
      type: object
      properties:
        transcription:
          type: object
          properties:
            transcript:
              type: string
            isFinal:
              type: boolean
            wordTimestamps:
              type: array
              items:
                type: object
                properties:
                  word:
                    type: string
                  startTimeSeconds:
                    type: number
                  endTimeSeconds:
                    type: number
                  confidence:
                    type: number
        usage:
          type: object
          properties:
            transcribedAudioMs:
              type: integer
            modelId:
              type: string
    TranscribeRequest:
      type: object
      required:
      - transcribeConfig
      - audioData
      properties:
        transcribeConfig:
          $ref: '#/components/schemas/TranscribeConfig'
        audioData:
          type: object
          required:
          - content
          properties:
            content:
              type: string
              format: byte
              description: Base64-encoded audio in the configured encoding.
    TranscribeConfig:
      type: object
      required:
      - modelId
      - audioEncoding
      properties:
        modelId:
          type: string
          description: provider/model identifier, e.g. `groq/whisper-large-v3`.
        audioEncoding:
          type: string
          enum:
          - LINEAR16
          - MP3
          - OGG_OPUS
          - FLAC
          - AUTO_DETECT
        language:
          type: string
          description: BCP-47 language tag.
        sampleRateHertz:
          type: integer
          default: 16000
        numberOfChannels:
          type: integer
          default: 1
        inactivityTimeoutSeconds:
          type: integer
        endOfTurnConfidenceThreshold:
          type: number
          minimum: 0
          maximum: 1
          default: 0.5
        prompts:
          type: array
          items:
            type: string
          description: Contextual hint strings to bias recognition.
        includeWordTimestamps:
          type: boolean
        voiceProfileConfig:
          type: object
          properties:
            enabled:
              type: boolean
            profileId:
              type: string
    Error:
      type: object
      properties:
        code:
          type: integer
        message:
          type: string
  examples:
    TranscribeExample:
      summary: Transcribe English audio via Whisper Large v3 on Groq.
      value:
        transcribeConfig:
          modelId: groq/whisper-large-v3
          audioEncoding: LINEAR16
          language: en-US
          sampleRateHertz: 16000
          numberOfChannels: 1
        audioData:
          content: <base64-encoded-audio>
  responses:
    ErrorResponse:
      description: Error response.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    BasicAuth:
      type: http
      scheme: basic