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

> Synthesize speech using Orpheus with emotion control.

export const HostingBanner = ({type = "slng", provider, regions = []}) => {
  const isSlng = type === "slng";
  const regionLabel = regions.map(r => r.toUpperCase()).join(", ");
  return <div className={`hosting-banner ${isSlng ? "hosting-banner--slng" : "hosting-banner--thirdparty"}`}>
      <span className="hosting-banner__label">
        {isSlng ? "SLNG Sovereign Hosting" : `3rd Party API Hosted by ${provider}`}
      </span>
      <span className="hosting-banner__text">
        {isSlng ? <>
            On demand in: {regionLabel}.{" "}
            <a href="mailto:support@slng.ai">Request here</a> if you want access
            in any other of our 11 regions.
          </> : <>
            For SLNG Sovereign Hosting in any of our 11 regions{" "}
            <a href="mailto:support@slng.ai">contact us</a>.
          </>}
      </span>
    </div>;
};

<HostingBanner type="slng" regions={["EU"]} />


## OpenAPI

````yaml POST /v1/tts/slng/canopylabs/orpheus:en
openapi: 3.0.3
info:
  title: SLNG Gateway API - SLNG TTS
  version: 0.1.0
  description: Unified API for speech-to-text and text-to-speech services.
  contact:
    name: SLNG Support
    email: support@slng.ai
servers:
  - url: https://api.slng.ai
    description: Production
  - url: https://stageapi.slng.ai
    description: Staging
security:
  - BearerAuth: []
tags:
  - name: Deepgram Aura 2
    description: Deepgram Aura 2 for conversational voice agents.
  - name: Orpheus English
    description: Orpheus TTS with emotion control.
  - name: Rime Arcana v2
    description: Rime Arcana v2 TTS with multi-language support.
  - name: Rime Arcana v3
    description: Rime Arcana v3 TTS with multilingual support (English, Hindi).
  - name: Rime Coda
    description: Rime Coda TTS for Bahasa Indonesian.
  - name: Inworld Max 1.5
    description: Inworld Max 1.5 for multilingual, expressive synthesis.
paths:
  /v1/tts/slng/canopylabs/orpheus:en:
    post:
      tags:
        - Orpheus English
      summary: Orpheus (English)
      description: Synthesize speech using Orpheus with emotion control.
      operationId: slng/canopylabs/orpheus:en
      parameters:
        - $ref: '#/components/parameters/XWorldPartSlngOrpheus'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OrpheusTtsRequest'
            examples:
              basic:
                summary: Basic synthesis
                value:
                  voice: tara
                  prompt: Hello, this is a test of text to speech synthesis.
      responses:
        '200':
          $ref: '#/components/responses/TtsSynthesisSuccess'
        '400':
          $ref: '#/components/responses/ProviderBadRequest'
        '401':
          $ref: '#/components/responses/ProviderUnauthorized'
        '500':
          $ref: '#/components/responses/ProviderInternalServerError'
        '503':
          $ref: '#/components/responses/ProviderServiceUnavailable'
components:
  parameters:
    XWorldPartSlngOrpheus:
      name: X-World-Part-Override
      in: header
      required: false
      description: Target world part override. Auto-selected if not provided.
      schema:
        type: string
        enum:
          - eu
  schemas:
    OrpheusTtsRequest:
      allOf:
        - $ref: '#/components/schemas/TtsVoiceSpeedRequestBase'
        - type: object
          properties:
            prompt:
              $ref: '#/components/schemas/TextToSynthesize'
            text:
              allOf:
                - $ref: '#/components/schemas/TextToSynthesize'
              description: Text to synthesize (legacy, use prompt).
            voice:
              type: string
              description: Voice identifier.
              enum:
                - tara
                - leah
                - jess
                - leo
                - dan
                - mia
                - zac
                - zoe
              default: tara
            stream:
              type: boolean
              description: Enable streaming response.
            emotion:
              type: string
              description: Emotion to apply.
              enum:
                - neutral
                - happy
                - sad
                - angry
                - surprised
    TtsVoiceSpeedRequestBase:
      allOf:
        - $ref: '#/components/schemas/TtsVoiceRequestBase'
        - type: object
          properties:
            speed:
              $ref: '#/components/schemas/SpeechSpeedMultiplier'
    TextToSynthesize:
      type: string
      minLength: 1
      description: Text to synthesize.
    AudioBinary:
      type: string
      format: binary
      description: Binary audio data.
    ProviderErrorResponse:
      type: object
      description: >
        Provider error response. Contains error information from the upstream
        provider.

        Common errors include invalid speakers, unsupported languages, or
        malformed requests.
      properties:
        error:
          type: string
          description: >-
            Error type or category (e.g., "TTS service error", "Validation
            error").
          example: TTS service error
        status:
          type: number
          description: >-
            Original HTTP status code from the provider (may differ from gateway
            response code).
          example: 400
        details:
          type: string
          description: >
            Detailed error message from the provider. For TTS errors, this
            typically includes

            the specific validation failure (e.g., invalid speaker ID for the
            selected model/language).
          example: >-
            Rime TTS API error: 400 Bad Request - Invalid argument: Invalid
            speaker: aurelie
      required:
        - error
    TtsVoiceRequestBase:
      type: object
      properties:
        text:
          $ref: '#/components/schemas/TextToSynthesize'
        voice:
          type: string
          description: Voice identifier.
    SpeechSpeedMultiplier:
      type: number
      minimum: 0.5
      maximum: 2
      description: Speed multiplier (0.5-2.0).
  responses:
    TtsSynthesisSuccess:
      description: Synthesis successful.
      content:
        audio/*:
          schema:
            $ref: '#/components/schemas/AudioBinary'
    ProviderBadRequest:
      description: Bad request - invalid parameters provided.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ProviderErrorResponse'
          examples:
            validation-error:
              summary: Validation error
              value:
                error: Validation error
                details: 'Missing required field: text'
    ProviderUnauthorized:
      description: Invalid or missing API key.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ProviderErrorResponse'
    ProviderInternalServerError:
      description: Internal server error from the provider.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ProviderErrorResponse'
          examples:
            processing-error:
              summary: Processing error
              value:
                error: Service error
                details: Internal processing error
    ProviderServiceUnavailable:
      description: Service unavailable.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ProviderErrorResponse'
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      description: |
        API key issued by SLNG. Pass as `Authorization: Bearer <token>`.

````