> ## Documentation Index
> Fetch the complete documentation index at: https://docs.slng.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Reson8 STT v1

> Real-time speech-to-text transcription using Reson8 via WebSocket. Supports streaming audio with word-level timestamps, confidence scores, and partial results.



## AsyncAPI

````yaml api-reference/asyncapi/stt-reson8.asyncapi.yaml /v1/stt/reson8/reson8stt:v1
id: /v1/stt/reson8/reson8stt:v1
title: Reson8 STT v1
description: >-
  Real-time speech-to-text transcription using Reson8 via WebSocket. Supports
  streaming audio with word-level timestamps, confidence scores, and partial
  results.
servers:
  - id: production
    protocol: wss
    host: api.slng.ai
    bindings: []
    variables: []
  - id: staging
    protocol: wss
    host: stageapi.slng.ai
    bindings: []
    variables: []
address: /v1/stt/reson8/reson8stt:v1
parameters: []
bindings:
  - protocol: ws
    version: latest
    value:
      method: GET
      headers:
        type: object
        properties:
          X-World-Part-Override:
            type: string
            description: >-
              Target world part override. Auto-selected if not provided.
              Available world parts: `eu`.
            enum:
              - eu
            x-parser-schema-id: <anonymous-schema-40>
        x-parser-schema-id: WebsocketHeadersReson8
    schemaProperties:
      - name: method
        type: string
        description: GET
        required: false
      - name: headers
        type: object
        required: false
        properties:
          - name: X-World-Part-Override
            type: string
            description: >-
              Target world part override. Auto-selected if not provided.
              Available world parts: `eu`.
            enumValues:
              - eu
            required: false
operations:
  - &ref_1
    id: sttReson8Reson8sttV1ReceiveInit
    title: Stt reson8 reson8stt v1 receive init
    description: Initialize session on Reson8 STT v1
    type: receive
    messages:
      - &ref_11
        id: Reson8SttInitRequest
        contentType: application/json
        payload:
          - name: Init Request (Reson8)
            description: >-
              Initialize a Reson8 STT session with provider-specific recognition
              configuration.
            type: object
            properties:
              - name: type
                type: string
                description: init
                required: true
              - name: config
                type: object
                description: Reson8 recognition configuration options
                required: false
                properties:
                  - name: encoding
                    type: string
                    description: Audio encoding format.
                    enumValues:
                      - pcm_s16le
                    required: false
                  - name: sample_rate
                    type: integer
                    description: Audio sample rate in Hz.
                    required: false
                  - name: channels
                    type: integer
                    description: Number of audio channels.
                    required: false
                  - name: custom_model_id
                    type: string
                    description: ID of a custom model to bias transcription.
                    required: false
                  - name: include_timestamps
                    type: boolean
                    description: >-
                      Add start_ms and duration_ms to transcript and word
                      objects.
                    required: false
                  - name: include_words
                    type: boolean
                    description: Add word-level detail array to transcript responses.
                    required: false
                  - name: include_confidence
                    type: boolean
                    description: Add confidence score (0-1) to each word object.
                    required: false
                  - name: enable_partials
                    type: boolean
                    description: >-
                      Enable interim (partial) results and the is_final flag on
                      transcripts.
                    required: false
        headers: []
        jsonPayloadSchema:
          type: object
          description: >-
            Initialize a Reson8 STT session with provider-specific configuration
            options before streaming audio.
          required:
            - type
          properties:
            type:
              type: string
              const: init
              x-parser-schema-id: <anonymous-schema-2>
            config:
              type: object
              description: Reson8 recognition configuration options
              properties:
                encoding:
                  type: string
                  description: Audio encoding format.
                  default: pcm_s16le
                  enum:
                    - pcm_s16le
                  x-parser-schema-id: <anonymous-schema-4>
                sample_rate:
                  type: integer
                  description: Audio sample rate in Hz.
                  default: 16000
                  x-parser-schema-id: <anonymous-schema-5>
                channels:
                  type: integer
                  description: Number of audio channels.
                  default: 1
                  x-parser-schema-id: <anonymous-schema-6>
                custom_model_id:
                  type: string
                  description: ID of a custom model to bias transcription.
                  x-parser-schema-id: <anonymous-schema-7>
                include_timestamps:
                  type: boolean
                  description: Add start_ms and duration_ms to transcript and word objects.
                  default: false
                  x-parser-schema-id: <anonymous-schema-8>
                include_words:
                  type: boolean
                  description: Add word-level detail array to transcript responses.
                  default: false
                  x-parser-schema-id: <anonymous-schema-9>
                include_confidence:
                  type: boolean
                  description: Add confidence score (0-1) to each word object.
                  default: false
                  x-parser-schema-id: <anonymous-schema-10>
                enable_partials:
                  type: boolean
                  description: >-
                    Enable interim (partial) results and the is_final flag on
                    transcripts.
                  default: true
                  x-parser-schema-id: <anonymous-schema-11>
              x-parser-schema-id: <anonymous-schema-3>
          x-parser-schema-id: <anonymous-schema-1>
        title: Init Request (Reson8)
        description: >-
          Initialize a Reson8 STT session with provider-specific recognition
          configuration.
        example: |-
          {
            "type": "init",
            "config": {
              "encoding": "pcm_s16le",
              "sample_rate": 16000,
              "channels": 1,
              "enable_partials": true
            }
          }
        bindings: []
        extensions:
          - id: x-parser-unique-object-id
            value: Reson8SttInitRequest
    bindings: []
    extensions: &ref_0
      - id: x-parser-unique-object-id
        value: /v1/stt/reson8/reson8stt:v1
  - &ref_2
    id: sttReson8Reson8sttV1ReceiveAudio
    title: Stt reson8 reson8stt v1 receive audio
    description: Send audio frame to Reson8 STT v1
    type: receive
    messages:
      - &ref_12
        id: SttAudioMessage
        contentType: application/json
        payload:
          - name: Audio Message
            description: Stream an audio frame to be transcribed.
            type: object
            properties:
              - name: type
                type: string
                description: audio
                required: true
              - name: data
                type: string
                description: Base64-encoded audio data
                required: true
        headers: []
        jsonPayloadSchema:
          type: object
          description: Stream an audio frame to be transcribed.
          required:
            - type
            - data
          properties:
            type:
              type: string
              const: audio
              x-parser-schema-id: <anonymous-schema-13>
            data:
              type: string
              format: byte
              description: Base64-encoded audio data
              x-parser-schema-id: <anonymous-schema-14>
          x-parser-schema-id: <anonymous-schema-12>
        title: Audio Message
        description: Stream an audio frame to be transcribed.
        example: |-
          {
            "type": "audio",
            "data": "UklGRiQAAABXQVZFZm10IBAAAAABAAEA..."
          }
        bindings: []
        extensions:
          - id: x-parser-unique-object-id
            value: SttAudioMessage
    bindings: []
    extensions: *ref_0
  - &ref_3
    id: sttReson8Reson8sttV1ReceiveFinalize
    title: Stt reson8 reson8stt v1 receive finalize
    description: Force-finalize buffered audio on Reson8 STT v1
    type: receive
    messages:
      - &ref_13
        id: SttFinalizeMessage
        contentType: application/json
        payload:
          - name: Finalize Message
            description: >-
              Force-finalize buffered audio tokens without closing the
              connection.
            type: object
            properties:
              - name: type
                type: string
                description: finalize
                required: true
        headers: []
        jsonPayloadSchema:
          type: object
          description: >-
            Mid-stream flush — forces the server to finalize any buffered audio
            and return results. The connection remains open for further audio.
          required:
            - type
          properties:
            type:
              type: string
              const: finalize
              x-parser-schema-id: <anonymous-schema-16>
          x-parser-schema-id: <anonymous-schema-15>
        title: Finalize Message
        description: Force-finalize buffered audio tokens without closing the connection.
        example: |-
          {
            "type": "finalize"
          }
        bindings: []
        extensions:
          - id: x-parser-unique-object-id
            value: SttFinalizeMessage
    bindings: []
    extensions: *ref_0
  - &ref_4
    id: sttReson8Reson8sttV1ReceiveClose
    title: Stt reson8 reson8stt v1 receive close
    description: Close audio stream on Reson8 STT v1
    type: receive
    messages:
      - &ref_14
        id: SttCloseMessage
        contentType: application/json
        payload:
          - name: Close Message
            description: Signal end of audio stream and close the connection.
            type: object
            properties:
              - name: type
                type: string
                description: close
                required: true
        headers: []
        jsonPayloadSchema:
          type: object
          description: >-
            Signal that no more audio will be sent. The server processes
            remaining audio, sends final results, then closes the connection.
          required:
            - type
          properties:
            type:
              type: string
              const: close
              x-parser-schema-id: <anonymous-schema-18>
          x-parser-schema-id: <anonymous-schema-17>
        title: Close Message
        description: Signal end of audio stream and close the connection.
        example: |-
          {
            "type": "close"
          }
        bindings: []
        extensions:
          - id: x-parser-unique-object-id
            value: SttCloseMessage
    bindings: []
    extensions: *ref_0
  - &ref_5
    id: sttReson8Reson8sttV1ReceiveKeepalive
    title: Stt reson8 reson8stt v1 receive keepalive
    description: Send keepalive on Reson8 STT v1
    type: receive
    messages:
      - &ref_15
        id: KeepaliveMessage
        contentType: application/json
        payload:
          - name: Keepalive Message
            description: Keep the WebSocket connection alive during silence.
            type: object
            properties:
              - name: type
                type: string
                description: keepalive
                required: true
        headers: []
        jsonPayloadSchema:
          type: object
          description: >-
            Prevents the connection from being closed due to inactivity. Send
            periodically during silence to maintain the session.
          required:
            - type
          properties:
            type:
              type: string
              const: keepalive
              x-parser-schema-id: <anonymous-schema-20>
          x-parser-schema-id: <anonymous-schema-19>
        title: Keepalive Message
        description: Keep the WebSocket connection alive during silence.
        example: |-
          {
            "type": "keepalive"
          }
        bindings: []
        extensions:
          - id: x-parser-unique-object-id
            value: KeepaliveMessage
    bindings: []
    extensions: *ref_0
  - &ref_6
    id: sttReson8Reson8sttV1SendReady
    title: Stt reson8 reson8stt v1 send ready
    description: Receive ready signal from Reson8 STT v1
    type: send
    messages:
      - &ref_16
        id: SttReadyResponse
        contentType: application/json
        payload:
          - name: Ready Response
            description: Indicates the session is ready to receive audio.
            type: object
            properties:
              - name: type
                type: string
                description: ready
                required: true
              - name: session_id
                type: string
                description: Unique session identifier
                required: true
        headers: []
        jsonPayloadSchema:
          type: object
          description: Indicates the session is ready to receive audio.
          required:
            - type
            - session_id
          properties:
            type:
              type: string
              const: ready
              x-parser-schema-id: <anonymous-schema-22>
            session_id:
              type: string
              description: Unique session identifier
              x-parser-schema-id: <anonymous-schema-23>
          x-parser-schema-id: <anonymous-schema-21>
        title: Ready Response
        description: Indicates the session is ready to receive audio.
        example: |-
          {
            "type": "ready",
            "session_id": "sess_abc123"
          }
        bindings: []
        extensions:
          - id: x-parser-unique-object-id
            value: SttReadyResponse
    bindings: []
    extensions: *ref_0
  - &ref_7
    id: sttReson8Reson8sttV1SendPartialTranscript
    title: Stt reson8 reson8stt v1 send partial transcript
    description: Receive partial transcript from Reson8 STT v1
    type: send
    messages:
      - &ref_17
        id: SttPartialTranscript
        contentType: application/json
        payload:
          - name: Partial Transcript
            description: Interim transcription result (when enable_partials is true).
            type: object
            properties:
              - name: type
                type: string
                description: partial_transcript
                required: true
              - name: transcript
                type: string
                description: Transcribed text so far
                required: true
              - name: confidence
                type: number
                description: Confidence score (0-1)
                required: false
        headers: []
        jsonPayloadSchema:
          type: object
          description: Interim transcription result (when enable_partials is true).
          required:
            - type
            - transcript
          properties:
            type:
              type: string
              const: partial_transcript
              x-parser-schema-id: <anonymous-schema-25>
            transcript:
              type: string
              description: Transcribed text so far
              x-parser-schema-id: <anonymous-schema-26>
            confidence:
              type: number
              description: Confidence score (0-1)
              x-parser-schema-id: <anonymous-schema-27>
          x-parser-schema-id: <anonymous-schema-24>
        title: Partial Transcript
        description: Interim transcription result (when enable_partials is true).
        example: |-
          {
            "type": "partial_transcript",
            "transcript": "Hello wor",
            "confidence": 0.85
          }
        bindings: []
        extensions:
          - id: x-parser-unique-object-id
            value: SttPartialTranscript
    bindings: []
    extensions: *ref_0
  - &ref_8
    id: sttReson8Reson8sttV1SendFinalTranscript
    title: Stt reson8 reson8stt v1 send final transcript
    description: Receive final transcript from Reson8 STT v1
    type: send
    messages:
      - &ref_18
        id: SttFinalTranscript
        contentType: application/json
        payload:
          - name: Final Transcript
            description: Final transcription result with optional metadata.
            type: object
            properties:
              - name: type
                type: string
                description: final_transcript
                required: true
              - name: transcript
                type: string
                description: Complete transcribed text
                required: true
              - name: confidence
                type: number
                description: Overall confidence score (0-1)
                required: false
              - name: language
                type: string
                description: ISO-639-1 language code.
                enumValues:
                  - en
                  - ja
                  - zh
                  - de
                  - hi
                  - fr
                  - ko
                  - pt
                  - it
                  - es
                  - id
                  - nl
                  - tr
                  - fil
                  - pl
                  - sv
                  - bg
                  - ro
                  - ar
                  - cs
                  - el
                  - fi
                  - hr
                  - ms
                  - sk
                  - da
                  - ta
                  - uk
                  - ru
                  - hu
                  - 'no'
                  - vi
                required: false
              - name: duration
                type: number
                description: Audio duration
                required: false
        headers: []
        jsonPayloadSchema:
          type: object
          description: Final transcription result with optional metadata.
          required:
            - type
            - transcript
          properties:
            type:
              type: string
              const: final_transcript
              x-parser-schema-id: <anonymous-schema-29>
            transcript:
              type: string
              description: Complete transcribed text
              x-parser-schema-id: <anonymous-schema-30>
            confidence:
              type: number
              description: Overall confidence score (0-1)
              x-parser-schema-id: <anonymous-schema-31>
            language:
              type: string
              description: ISO-639-1 language code.
              enum:
                - en
                - ja
                - zh
                - de
                - hi
                - fr
                - ko
                - pt
                - it
                - es
                - id
                - nl
                - tr
                - fil
                - pl
                - sv
                - bg
                - ro
                - ar
                - cs
                - el
                - fi
                - hr
                - ms
                - sk
                - da
                - ta
                - uk
                - ru
                - hu
                - 'no'
                - vi
              x-parser-schema-id: LanguageCode
            duration:
              type: number
              description: Audio duration
              x-parser-schema-id: <anonymous-schema-32>
          x-parser-schema-id: <anonymous-schema-28>
        title: Final Transcript
        description: Final transcription result with optional metadata.
        example: |-
          {
            "type": "final_transcript",
            "transcript": "Hello world, this is a test.",
            "confidence": 0.95,
            "language": "en",
            "duration": 2.5
          }
        bindings: []
        extensions:
          - id: x-parser-unique-object-id
            value: SttFinalTranscript
    bindings: []
    extensions: *ref_0
  - &ref_9
    id: sttReson8Reson8sttV1SendFlushConfirmation
    title: Stt reson8 reson8stt v1 send flush confirmation
    description: Receive flush confirmation from Reson8 STT v1
    type: send
    messages:
      - &ref_19
        id: Reson8SttFlushConfirmation
        contentType: application/json
        payload:
          - name: Flush Confirmation (Reson8)
            description: Acknowledges flush completion from Reson8.
            type: object
            properties:
              - name: type
                type: string
                description: flush_confirmation
                required: true
              - name: id
                type: string
                description: Caller-defined identifier echoed back from the flush request.
                required: false
        headers: []
        jsonPayloadSchema:
          type: object
          description: >-
            Acknowledges that a flush request has been processed by the Reson8
            server.
          required:
            - type
          properties:
            type:
              type: string
              const: flush_confirmation
              x-parser-schema-id: <anonymous-schema-34>
            id:
              type: string
              description: Caller-defined identifier echoed back from the flush request.
              x-parser-schema-id: <anonymous-schema-35>
          x-parser-schema-id: <anonymous-schema-33>
        title: Flush Confirmation (Reson8)
        description: Acknowledges flush completion from Reson8.
        example: |-
          {
            "type": "flush_confirmation",
            "id": "flush-001"
          }
        bindings: []
        extensions:
          - id: x-parser-unique-object-id
            value: Reson8SttFlushConfirmation
    bindings: []
    extensions: *ref_0
  - &ref_10
    id: sttReson8Reson8sttV1SendError
    title: Stt reson8 reson8stt v1 send error
    description: Receive error from Reson8 STT v1
    type: send
    messages:
      - &ref_20
        id: SttErrorResponse
        contentType: application/json
        payload:
          - name: Error Response
            description: Indicates an error occurred during recognition.
            type: object
            properties:
              - name: type
                type: string
                description: error
                required: true
              - name: code
                type: string
                description: >-
                  Error code (e.g., auth_error, config_error, rate_limit,
                  provider_error)
                required: true
              - name: message
                type: string
                description: Human-readable error description
                required: true
        headers: []
        jsonPayloadSchema:
          type: object
          description: Indicates an error occurred during recognition.
          required:
            - type
            - code
            - message
          properties:
            type:
              type: string
              const: error
              x-parser-schema-id: <anonymous-schema-37>
            code:
              type: string
              description: >-
                Error code (e.g., auth_error, config_error, rate_limit,
                provider_error)
              x-parser-schema-id: <anonymous-schema-38>
            message:
              type: string
              description: Human-readable error description
              x-parser-schema-id: <anonymous-schema-39>
          x-parser-schema-id: <anonymous-schema-36>
        title: Error Response
        description: Indicates an error occurred during recognition.
        example: |-
          {
            "type": "error",
            "code": "auth_error",
            "message": "Invalid or expired API key"
          }
        bindings: []
        extensions:
          - id: x-parser-unique-object-id
            value: SttErrorResponse
    bindings: []
    extensions: *ref_0
sendOperations:
  - *ref_1
  - *ref_2
  - *ref_3
  - *ref_4
  - *ref_5
receiveOperations:
  - *ref_6
  - *ref_7
  - *ref_8
  - *ref_9
  - *ref_10
sendMessages:
  - *ref_11
  - *ref_12
  - *ref_13
  - *ref_14
  - *ref_15
receiveMessages:
  - *ref_16
  - *ref_17
  - *ref_18
  - *ref_19
  - *ref_20
extensions:
  - id: x-parser-unique-object-id
    value: /v1/stt/reson8/reson8stt:v1
securitySchemes:
  - id: bearer
    name: bearer
    type: http
    description: >
      API key issued by SLNG. Pass as `Authorization: Bearer <token>` in the
      WebSocket upgrade request headers.
    scheme: bearer
    extensions: []

````