> ## 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.

# Orpheus (English)

> Stream English speech synthesis from SLNG-hosted Canopy Labs Orpheus over WebSocket with emotion control and SLNG's unified low-latency TTS protocol.



## AsyncAPI

````yaml api-reference/asyncapi/tts-slng.asyncapi.yaml /v1/tts/slng/canopylabs/orpheus:en
id: /v1/tts/slng/canopylabs/orpheus:en
title: Orpheus (English)
description: >-
  Stream English speech synthesis from SLNG-hosted Canopy Labs Orpheus over
  WebSocket with emotion control and SLNG's unified low-latency TTS protocol.
servers:
  - id: production
    protocol: wss
    host: api.slng.ai
    bindings: []
    variables: []
address: /v1/tts/slng/canopylabs/orpheus:en
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-211>
        x-parser-schema-id: WebsocketHeadersSlngOrpheus
    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: ttsOrpheusEnReceiveInit
    title: Tts orpheus en receive init
    description: Initialize session on Orpheus (English)
    type: receive
    messages:
      - &ref_14
        id: TtsInitRequest
        contentType: application/json
        payload:
          - name: Init Request
            description: Initialize a TTS session with model and voice configuration.
            type: object
            properties:
              - name: type
                type: string
                description: init
                required: true
              - name: model
                type: string
                description: TTS model identifier.
                enumValues:
                  - aura:2
                  - eleven:3
                  - eleven-flash:2
                  - eleven-flash:2.5
                  - eleven-multilingual:2
                  - canopylabs/orpheus:en
                  - deepgram/aura:2
                  - deepgram/aura:2-en
                  - deepgram/aura:2-es
                  - rime/arcana:3-en
                  - rime/arcana:3-es
                  - rime/arcana:3-hi
                  - rime/arcana:ar
                  - rime/arcana:de
                  - rime/arcana:en
                  - rime/arcana:es
                  - rime/arcana:fr
                required: true
              - name: voice
                type: string
                description: Voice identifier
                required: false
              - name: config
                type: object
                description: Synthesis configuration options
                required: false
                properties:
                  - name: sample_rate
                    type: integer
                    description: Audio sample rate in Hz.
                    enumValues:
                      - 8000
                      - 16000
                      - 22050
                      - 24000
                      - 32000
                      - 44100
                      - 48000
                    required: false
                  - name: encoding
                    type: string
                    description: Audio encoding format
                    enumValues:
                      - linear16
                      - mp3
                      - opus
                    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: speed
                    type: number
                    description: Speech speed multiplier (e.g., 1.0 for normal)
                    required: false
        headers: []
        jsonPayloadSchema:
          type: object
          description: >-
            Initialize a session with model and voice configuration before
            sending text.
          required:
            - type
            - model
          properties:
            type:
              type: string
              const: init
              default: init
              x-parser-schema-id: <anonymous-schema-2>
            model:
              type: string
              description: TTS model identifier.
              enum:
                - aura:2
                - eleven:3
                - eleven-flash:2
                - eleven-flash:2.5
                - eleven-multilingual:2
                - canopylabs/orpheus:en
                - deepgram/aura:2
                - deepgram/aura:2-en
                - deepgram/aura:2-es
                - rime/arcana:3-en
                - rime/arcana:3-es
                - rime/arcana:3-hi
                - rime/arcana:ar
                - rime/arcana:de
                - rime/arcana:en
                - rime/arcana:es
                - rime/arcana:fr
              x-parser-schema-id: TtsModel
            voice:
              type: string
              description: Voice identifier
              x-parser-schema-id: <anonymous-schema-3>
            config:
              type: object
              description: Synthesis configuration options
              properties:
                sample_rate:
                  type: integer
                  description: Audio sample rate in Hz.
                  enum:
                    - 8000
                    - 16000
                    - 22050
                    - 24000
                    - 32000
                    - 44100
                    - 48000
                  x-parser-schema-id: SampleRate
                encoding:
                  type: string
                  description: Audio encoding format
                  enum:
                    - linear16
                    - mp3
                    - opus
                  x-parser-schema-id: <anonymous-schema-5>
                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
                speed:
                  type: number
                  description: Speech speed multiplier (e.g., 1.0 for normal)
                  x-parser-schema-id: <anonymous-schema-6>
              x-parser-schema-id: <anonymous-schema-4>
          x-parser-schema-id: <anonymous-schema-1>
        title: Init Request
        description: Initialize a TTS session with model and voice configuration.
        example: |-
          {
            "type": "init",
            "model": "eleven-flash:2.5",
            "voice": "astra",
            "config": {
              "sample_rate": 24000,
              "encoding": "mp3"
            }
          }
        bindings: []
        extensions:
          - id: x-parser-unique-object-id
            value: TtsInitRequest
    bindings: []
    extensions: &ref_0
      - id: x-parser-unique-object-id
        value: /v1/tts/slng/canopylabs/orpheus:en
  - &ref_2
    id: ttsOrpheusEnReceiveText
    title: Tts orpheus en receive text
    description: Send text to Orpheus (English)
    type: receive
    messages:
      - &ref_15
        id: TtsTextMessage
        contentType: application/json
        payload:
          - name: Text Message
            description: Send text to synthesize into audio output.
            type: object
            properties:
              - name: type
                type: string
                description: text
                required: true
              - name: text
                type: string
                description: Text to synthesize
                required: true
              - name: flush
                type: boolean
                description: Whether to flush remaining audio immediately after this text
                required: false
        headers: []
        jsonPayloadSchema:
          type: object
          description: Send text to synthesize into audio output.
          required:
            - type
            - text
          properties:
            type:
              type: string
              const: text
              x-parser-schema-id: <anonymous-schema-8>
            text:
              type: string
              description: Text to synthesize
              x-parser-schema-id: <anonymous-schema-9>
            flush:
              type: boolean
              description: Whether to flush remaining audio immediately after this text
              x-parser-schema-id: <anonymous-schema-10>
          x-parser-schema-id: <anonymous-schema-7>
        title: Text Message
        description: Send text to synthesize into audio output.
        example: |-
          {
            "type": "text",
            "text": "Hello, this is a test of text-to-speech synthesis."
          }
        bindings: []
        extensions:
          - id: x-parser-unique-object-id
            value: TtsTextMessage
    bindings: []
    extensions: *ref_0
  - &ref_3
    id: ttsOrpheusEnReceiveFlush
    title: Tts orpheus en receive flush
    description: Flush buffered output on Orpheus (English)
    type: receive
    messages:
      - &ref_16
        id: TtsFlushMessage
        contentType: application/json
        payload:
          - name: Flush Message
            description: Force any buffered text/audio to be finalized and delivered.
            type: object
            properties:
              - name: type
                type: string
                description: flush
                required: true
        headers: []
        jsonPayloadSchema:
          type: object
          description: Force any buffered text/audio to be finalized and delivered.
          required:
            - type
          properties:
            type:
              type: string
              const: flush
              x-parser-schema-id: <anonymous-schema-12>
          x-parser-schema-id: <anonymous-schema-11>
        title: Flush Message
        description: Force any buffered text/audio to be finalized and delivered.
        example: |-
          {
            "type": "flush"
          }
        bindings: []
        extensions:
          - id: x-parser-unique-object-id
            value: TtsFlushMessage
    bindings: []
    extensions: *ref_0
  - &ref_4
    id: ttsOrpheusEnReceiveClear
    title: Tts orpheus en receive clear
    description: Clear queued output on Orpheus (English)
    type: receive
    messages:
      - &ref_17
        id: TtsClearMessage
        contentType: application/json
        payload:
          - name: Clear Message
            description: Clear any queued text/audio from the current session.
            type: object
            properties:
              - name: type
                type: string
                description: clear
                required: true
        headers: []
        jsonPayloadSchema:
          type: object
          description: Clear any queued text/audio from the current session.
          required:
            - type
          properties:
            type:
              type: string
              const: clear
              x-parser-schema-id: <anonymous-schema-14>
          x-parser-schema-id: <anonymous-schema-13>
        title: Clear Message
        description: Clear any queued text/audio from the current session.
        example: |-
          {
            "type": "clear"
          }
        bindings: []
        extensions:
          - id: x-parser-unique-object-id
            value: TtsClearMessage
    bindings: []
    extensions: *ref_0
  - &ref_5
    id: ttsOrpheusEnReceiveClose
    title: Tts orpheus en receive close
    description: Close session on Orpheus (English)
    type: receive
    messages:
      - &ref_18
        id: TtsCloseMessage
        contentType: application/json
        payload:
          - name: Close Message
            description: Close the session and stop any further audio.
            type: object
            properties:
              - name: type
                type: string
                description: close
                required: true
        headers: []
        jsonPayloadSchema:
          type: object
          description: Close the session and stop any further audio.
          required:
            - type
          properties:
            type:
              type: string
              const: close
              x-parser-schema-id: <anonymous-schema-16>
          x-parser-schema-id: <anonymous-schema-15>
        title: Close Message
        description: Close the session and stop any further audio.
        example: |-
          {
            "type": "close"
          }
        bindings: []
        extensions:
          - id: x-parser-unique-object-id
            value: TtsCloseMessage
    bindings: []
    extensions: *ref_0
  - &ref_6
    id: ttsOrpheusEnSendReady
    title: Tts orpheus en send ready
    description: Receive ready signal from Orpheus (English)
    type: send
    messages:
      - &ref_19
        id: TtsReadyResponse
        contentType: application/json
        payload:
          - name: Ready Response
            description: Indicates the session is ready to receive messages.
            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 messages.
          required:
            - type
            - session_id
          properties:
            type:
              type: string
              const: ready
              x-parser-schema-id: <anonymous-schema-18>
            session_id:
              type: string
              description: Unique session identifier
              x-parser-schema-id: <anonymous-schema-19>
          x-parser-schema-id: <anonymous-schema-17>
        title: Ready Response
        description: Indicates the session is ready to receive messages.
        example: |-
          {
            "type": "ready",
            "session_id": "sess_tts_abc123"
          }
        bindings: []
        extensions:
          - id: x-parser-unique-object-id
            value: TtsReadyResponse
    bindings: []
    extensions: *ref_0
  - &ref_7
    id: ttsOrpheusEnSendAudioChunk
    title: Tts orpheus en send audio chunk
    description: Receive audio chunk from Orpheus (English)
    type: send
    messages:
      - &ref_20
        id: TtsAudioChunk
        contentType: application/json
        payload:
          - name: Audio Chunk
            description: Chunk of base64-encoded audio data.
            type: object
            properties:
              - name: type
                type: string
                description: audio_chunk
                required: true
              - name: data
                type: string
                description: Base64-encoded audio data
                required: true
              - name: sequence
                type: integer
                description: Sequence number for ordering chunks
                required: false
        headers: []
        jsonPayloadSchema:
          type: object
          description: Chunk of base64-encoded audio data.
          required:
            - type
            - data
          properties:
            type:
              type: string
              const: audio_chunk
              x-parser-schema-id: <anonymous-schema-21>
            data:
              type: string
              format: byte
              description: Base64-encoded audio data
              x-parser-schema-id: <anonymous-schema-22>
            sequence:
              type: integer
              description: Sequence number for ordering chunks
              x-parser-schema-id: <anonymous-schema-23>
          x-parser-schema-id: <anonymous-schema-20>
        title: Audio Chunk
        description: Chunk of base64-encoded audio data.
        example: |-
          {
            "type": "audio_chunk",
            "data": "UklGRiQAAABXQVZFZm10IBAAAAABAAEA...",
            "sequence": 1
          }
        bindings: []
        extensions:
          - id: x-parser-unique-object-id
            value: TtsAudioChunk
    bindings: []
    extensions: *ref_0
  - &ref_8
    id: ttsOrpheusEnSendSegmentStart
    title: Tts orpheus en send segment start
    description: Receive segment start from Orpheus (English)
    type: send
    messages:
      - &ref_21
        id: TtsSegmentStart
        contentType: application/json
        payload:
          - name: Segment Start
            description: Signals the start of a synthesized segment.
            type: object
            properties:
              - name: type
                type: string
                description: segment_start
                required: true
              - name: segment_id
                type: string
                description: Unique segment identifier
                required: true
        headers: []
        jsonPayloadSchema:
          type: object
          description: Signals the start of a synthesized segment.
          required:
            - type
            - segment_id
          properties:
            type:
              type: string
              const: segment_start
              x-parser-schema-id: <anonymous-schema-25>
            segment_id:
              type: string
              description: Unique segment identifier
              x-parser-schema-id: <anonymous-schema-26>
          x-parser-schema-id: <anonymous-schema-24>
        title: Segment Start
        description: Signals the start of a synthesized segment.
        example: |-
          {
            "type": "segment_start",
            "segment_id": "seg_001"
          }
        bindings: []
        extensions:
          - id: x-parser-unique-object-id
            value: TtsSegmentStart
    bindings: []
    extensions: *ref_0
  - &ref_9
    id: ttsOrpheusEnSendSegmentEnd
    title: Tts orpheus en send segment end
    description: Receive segment end from Orpheus (English)
    type: send
    messages:
      - &ref_22
        id: TtsSegmentEnd
        contentType: application/json
        payload:
          - name: Segment End
            description: Signals the end of a synthesized segment.
            type: object
            properties:
              - name: type
                type: string
                description: segment_end
                required: true
              - name: segment_id
                type: string
                description: Unique segment identifier
                required: true
        headers: []
        jsonPayloadSchema:
          type: object
          description: Signals the end of a synthesized segment.
          required:
            - type
            - segment_id
          properties:
            type:
              type: string
              const: segment_end
              x-parser-schema-id: <anonymous-schema-28>
            segment_id:
              type: string
              description: Unique segment identifier
              x-parser-schema-id: <anonymous-schema-29>
          x-parser-schema-id: <anonymous-schema-27>
        title: Segment End
        description: Signals the end of a synthesized segment.
        example: |-
          {
            "type": "segment_end",
            "segment_id": "seg_001"
          }
        bindings: []
        extensions:
          - id: x-parser-unique-object-id
            value: TtsSegmentEnd
    bindings: []
    extensions: *ref_0
  - &ref_10
    id: ttsOrpheusEnSendFlushed
    title: Tts orpheus en send flushed
    description: Receive flushed confirmation from Orpheus (English)
    type: send
    messages:
      - &ref_23
        id: TtsFlushed
        contentType: application/json
        payload:
          - name: Flushed
            description: Acknowledges that buffered output was flushed.
            type: object
            properties:
              - name: type
                type: string
                description: flushed
                required: true
        headers: []
        jsonPayloadSchema:
          type: object
          description: Acknowledges that buffered output was flushed.
          required:
            - type
          properties:
            type:
              type: string
              const: flushed
              x-parser-schema-id: <anonymous-schema-31>
          x-parser-schema-id: <anonymous-schema-30>
        title: Flushed
        description: Acknowledges that buffered output was flushed.
        example: |-
          {
            "type": "flushed"
          }
        bindings: []
        extensions:
          - id: x-parser-unique-object-id
            value: TtsFlushed
    bindings: []
    extensions: *ref_0
  - &ref_11
    id: ttsOrpheusEnSendCleared
    title: Tts orpheus en send cleared
    description: Receive cleared confirmation from Orpheus (English)
    type: send
    messages:
      - &ref_24
        id: TtsCleared
        contentType: application/json
        payload:
          - name: Cleared
            description: Acknowledges that queued output was cleared.
            type: object
            properties:
              - name: type
                type: string
                description: cleared
                required: true
        headers: []
        jsonPayloadSchema:
          type: object
          description: Acknowledges that queued output was cleared.
          required:
            - type
          properties:
            type:
              type: string
              const: cleared
              x-parser-schema-id: <anonymous-schema-33>
          x-parser-schema-id: <anonymous-schema-32>
        title: Cleared
        description: Acknowledges that queued output was cleared.
        example: |-
          {
            "type": "cleared"
          }
        bindings: []
        extensions:
          - id: x-parser-unique-object-id
            value: TtsCleared
    bindings: []
    extensions: *ref_0
  - &ref_12
    id: ttsOrpheusEnSendAudioEnd
    title: Tts orpheus en send audio end
    description: Receive audio end from Orpheus (English)
    type: send
    messages:
      - &ref_25
        id: TtsAudioEnd
        contentType: application/json
        payload:
          - name: Audio End
            description: Signals the end of audio generation.
            type: object
            properties:
              - name: type
                type: string
                description: audio_end
                required: true
              - name: duration
                type: number
                description: Total audio duration
                required: false
        headers: []
        jsonPayloadSchema:
          type: object
          description: Signals the end of audio generation.
          required:
            - type
          properties:
            type:
              type: string
              const: audio_end
              x-parser-schema-id: <anonymous-schema-35>
            duration:
              type: number
              description: Total audio duration
              x-parser-schema-id: <anonymous-schema-36>
          x-parser-schema-id: <anonymous-schema-34>
        title: Audio End
        description: Signals the end of audio generation.
        example: |-
          {
            "type": "audio_end",
            "duration": 3.5
          }
        bindings: []
        extensions:
          - id: x-parser-unique-object-id
            value: TtsAudioEnd
    bindings: []
    extensions: *ref_0
  - &ref_13
    id: ttsOrpheusEnSendError
    title: Tts orpheus en send error
    description: Receive error from Orpheus (English)
    type: send
    messages:
      - &ref_26
        id: TtsErrorResponse
        contentType: application/json
        payload:
          - name: Error Response
            description: Indicates an error occurred during synthesis.
            type: object
            properties:
              - name: type
                type: string
                description: error
                required: true
              - name: code
                type: string
                description: Error code.
                enumValues:
                  - 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 synthesis.
          required:
            - type
            - code
            - message
          properties:
            type:
              type: string
              const: error
              x-parser-schema-id: <anonymous-schema-38>
            code:
              type: string
              description: Error code.
              enum:
                - auth_error
                - config_error
                - rate_limit
                - provider_error
              x-parser-schema-id: <anonymous-schema-39>
            message:
              type: string
              description: Human-readable error description
              x-parser-schema-id: <anonymous-schema-40>
          x-parser-schema-id: <anonymous-schema-37>
        title: Error Response
        description: Indicates an error occurred during synthesis.
        example: |-
          {
            "type": "error",
            "code": "provider_error",
            "message": "Provider returned an unexpected error"
          }
        bindings: []
        extensions:
          - id: x-parser-unique-object-id
            value: TtsErrorResponse
    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
  - *ref_11
  - *ref_12
  - *ref_13
sendMessages:
  - *ref_14
  - *ref_15
  - *ref_16
  - *ref_17
  - *ref_18
receiveMessages:
  - *ref_19
  - *ref_20
  - *ref_21
  - *ref_22
  - *ref_23
  - *ref_24
  - *ref_25
  - *ref_26
extensions:
  - id: x-parser-unique-object-id
    value: /v1/tts/slng/canopylabs/orpheus:en
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: []

````