SLNG Rime Arcana v2 API

Rime Arcana v2 TTS with multi-language support.

OpenAPI Specification

slng-rime-arcana-v2-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: SLNG Voice Agents Account Rime Arcana v2 API
  version: 1.0.0
  description: 'Public API for managing Voice Agents, dispatching outbound calls, and creating web (non-telephony) sessions.


    Base URL: `https://api.agents.slng.ai`

    '
  contact:
    name: SLNG Support
    email: support@slng.ai
servers:
- url: https://api.agents.slng.ai
  description: Production
security:
- bearerAuth: []
tags:
- name: Rime Arcana v2
  description: Rime Arcana v2 TTS with multi-language support.
paths:
  /v1/tts/slng/rime/arcana:ar:
    post:
      operationId: rime/arcana:ar
      summary: Arcana v2 (Arabic)
      description: Synthesize Arabic speech using Rime Arcana TTS model.
      tags:
      - Rime Arcana v2
      parameters:
      - $ref: '#/components/parameters/XRegionSlngArcanaV1Ar'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RimeArcanaTtsRequestAr'
            examples:
              basic:
                summary: Basic Arabic synthesis
                value:
                  text: مرحبا من رايم أركانا العربية. اختبار تحويل النص إلى كلام.
                  speaker: sakina
      responses:
        '200':
          $ref: '#/components/responses/TtsSynthesisSuccess'
        '400':
          $ref: '#/components/responses/RimeArcanaBadRequest'
        '401':
          $ref: '#/components/responses/ProviderUnauthorized'
        '500':
          $ref: '#/components/responses/RimeArcanaInternalServerError'
        '503':
          $ref: '#/components/responses/ProviderServiceUnavailable'
  /v1/tts/slng/rime/arcana:de:
    post:
      operationId: rime/arcana:de
      summary: Arcana v2 (German)
      description: Synthesize German speech using Rime Arcana TTS model.
      tags:
      - Rime Arcana v2
      parameters:
      - $ref: '#/components/parameters/XRegionSlngArcanaV1De'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RimeArcanaTtsRequestDe'
            examples:
              basic:
                summary: Basic German synthesis
                value:
                  text: Hallo von Rime Arcana Deutsch. Test der Sprachsynthese.
                  speaker: lorelei
      responses:
        '200':
          $ref: '#/components/responses/TtsSynthesisSuccess'
        '400':
          $ref: '#/components/responses/RimeArcanaBadRequest'
        '401':
          $ref: '#/components/responses/ProviderUnauthorized'
        '500':
          $ref: '#/components/responses/RimeArcanaInternalServerError'
        '503':
          $ref: '#/components/responses/ProviderServiceUnavailable'
  /v1/tts/slng/rime/arcana:en:
    post:
      operationId: rime/arcana:en
      summary: Arcana v2 (English)
      description: Synthesize English speech using Rime Arcana TTS model.
      tags:
      - Rime Arcana v2
      parameters:
      - $ref: '#/components/parameters/XRegionSlngArcanaV1En'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RimeArcanaTtsRequestEn'
            examples:
              basic:
                summary: Basic English synthesis
                value:
                  text: Hello from Rime Arcana English. Testing text to speech synthesis.
                  speaker: astra
      responses:
        '200':
          $ref: '#/components/responses/TtsSynthesisSuccess'
        '400':
          $ref: '#/components/responses/RimeArcanaBadRequest'
        '401':
          $ref: '#/components/responses/ProviderUnauthorized'
        '500':
          $ref: '#/components/responses/RimeArcanaInternalServerError'
        '503':
          $ref: '#/components/responses/ProviderServiceUnavailable'
  /v1/tts/slng/rime/arcana:es:
    post:
      operationId: rime/arcana:es
      summary: Arcana v2 (Spanish)
      description: Synthesize Spanish speech using Rime Arcana TTS model.
      tags:
      - Rime Arcana v2
      parameters:
      - $ref: '#/components/parameters/XRegionSlngArcanaV1Es'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RimeArcanaTtsRequestEs'
            examples:
              basic:
                summary: Basic Spanish synthesis
                value:
                  text: Hola desde Rime Arcana Español. Probando la síntesis de texto a voz.
                  speaker: seraphina
      responses:
        '200':
          $ref: '#/components/responses/TtsSynthesisSuccess'
        '400':
          $ref: '#/components/responses/RimeArcanaBadRequest'
        '401':
          $ref: '#/components/responses/ProviderUnauthorized'
        '500':
          $ref: '#/components/responses/RimeArcanaInternalServerError'
        '503':
          $ref: '#/components/responses/ProviderServiceUnavailable'
  /v1/tts/slng/rime/arcana:fr:
    post:
      operationId: rime/arcana:fr
      summary: Arcana v2 (French)
      description: Synthesize French speech using Rime Arcana TTS model.
      tags:
      - Rime Arcana v2
      parameters:
      - $ref: '#/components/parameters/XRegionSlngArcanaV1Fr'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RimeArcanaTtsRequestFr'
            examples:
              basic:
                summary: Basic French synthesis
                value:
                  text: Bonjour depuis Rime Arcana Français. Test de la synthèse vocale.
                  speaker: destin
      responses:
        '200':
          $ref: '#/components/responses/TtsSynthesisSuccess'
        '400':
          $ref: '#/components/responses/RimeArcanaBadRequest'
        '401':
          $ref: '#/components/responses/ProviderUnauthorized'
        '500':
          $ref: '#/components/responses/RimeArcanaInternalServerError'
        '503':
          $ref: '#/components/responses/ProviderServiceUnavailable'
components:
  schemas:
    RimeArcanaSpeakerAr:
      type: string
      description: Voice speaker ID (Arabic voices).
      default: sakina
      enum:
      - haqq
      - layla
      - qadir
      - sakina
      - shams
    RimeArcanaTtsRequestAr:
      description: Rime Arcana TTS request for Arabic.
      allOf:
      - type: object
        required:
        - speaker
        properties:
          speaker:
            $ref: '#/components/schemas/RimeArcanaSpeakerAr'
      - $ref: '#/components/schemas/RimeArcanaTtsRequestBase'
    RimeArcanaSpeakerFr:
      type: string
      description: Voice speaker ID (French voices).
      default: livet_aurelie
      enum:
      - destin
      - livet_aurelie
      - morel_marianne
      - serrin_joseph
      - solstice
    RimeArcanaTtsRequestEs:
      description: Rime Arcana TTS request for Spanish.
      allOf:
      - type: object
        required:
        - speaker
        properties:
          speaker:
            $ref: '#/components/schemas/RimeArcanaSpeakerEs'
      - $ref: '#/components/schemas/RimeArcanaTtsRequestBase'
    RimeArcanaTtsRequestFr:
      description: Rime Arcana TTS request for French.
      allOf:
      - type: object
        required:
        - speaker
        properties:
          speaker:
            $ref: '#/components/schemas/RimeArcanaSpeakerFr'
      - $ref: '#/components/schemas/RimeArcanaTtsRequestBase'
    RimeArcanaSpeakerEs:
      type: string
      description: Voice speaker ID (Spanish voices).
      default: seraphina
      enum:
      - eris
      - lark
      - nova
      - pola
      - seraphina
      - sirius
      - ursa
    RimeArcanaTtsRequestBase:
      description: Base schema for language-specific Rime Arcana TTS requests.
      allOf:
      - $ref: '#/components/schemas/RimeArcanaTtsRequestCommon'
    RimeArcanaTtsRequestEn:
      description: Rime Arcana TTS request for English.
      allOf:
      - type: object
        required:
        - speaker
        properties:
          speaker:
            $ref: '#/components/schemas/RimeArcanaSpeakerEn'
      - $ref: '#/components/schemas/RimeArcanaTtsRequestBase'
    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
    RimeArcanaTtsRequestCommon:
      type: object
      description: Common Rime Arcana TTS options.
      properties:
        text:
          type: string
          minLength: 1
          description: Text to synthesize.
        modelId:
          $ref: '#/components/schemas/RimeArcanaModelId'
        repetition_penalty:
          type: number
          format: float
          default: 1.5
          description: The repetition penalty. We do not recommend changing this from the default value. Typical range is 1 to 2. Float that penalizes new tokens based on whether they appear in the prompt and the generated text so far. Values > 1 encourage the model to use new tokens, while values < 1 encourage the model to repeat tokens.
        temperature:
          type: number
          format: float
          default: 0.5
          description: The temperature. We do not recommend changing this from the default value. Typical range is 0 to 1. Float that controls the randomness of the sampling. Lower values make the model more deterministic, while higher values make the model more random. Zero means greedy sampling.
        top_p:
          type: number
          format: float
          default: 1
          description: The top p. We do not recommend changing this from the default value. Typical range is 0 to 1. Float that controls the cumulative probability of the top tokens to consider. Must be in (0, 1]. Set to 1 to consider all tokens.
        audioFormat:
          $ref: '#/components/schemas/RimeArcanaAudioFormat'
        sample_rate:
          $ref: '#/components/schemas/RimeArcanaSampleRate'
        speed:
          type: number
          description: Speech rate multiplier (0.25 = half speed, 2.0 = double speed).
          minimum: 0.25
          maximum: 2
          default: 1
      required:
      - text
    RimeArcanaAudioFormat:
      type: string
      description: Output audio format as MIME type.
      enum:
      - audio/webm;codecs=opus
      - audio/ogg;codecs=opus
      - audio/mp3
      - audio/wav
      - audio/pcm
      - audio/x-mulaw
      default: audio/wav
    AudioBinary:
      type: string
      format: binary
      description: Binary audio data.
    RimeArcanaSampleRate:
      type: integer
      description: Output sample rate in Hz. Values above 24000 are upsampled.
      default: 24000
      enum:
      - 8000
      - 16000
      - 22050
      - 24000
      - 44100
      - 48000
      - 96000
    RimeArcanaModelId:
      type: string
      description: 'Model: arcana (most realistic, ~150ms), mistv2 (speed & control, ~70ms).'
      enum:
      - arcana
      - arcana-3
      - mistv2
      - mist
      default: arcana
    RimeArcanaTtsRequestDe:
      description: Rime Arcana TTS request for German.
      allOf:
      - type: object
        required:
        - speaker
        properties:
          speaker:
            $ref: '#/components/schemas/RimeArcanaSpeakerDe'
      - $ref: '#/components/schemas/RimeArcanaTtsRequestBase'
    RimeArcanaSpeakerEn:
      type: string
      description: Voice speaker ID (English voices).
      default: astra
      enum:
      - ahmed_mohamed
      - albion
      - andersen_johan
      - anderson_emily
      - anderson_jake
      - anderson_james
      - anderson_kevin
      - andromeda
      - arcade
      - astra
      - atrium
      - bauer_felix
      - bennett_emily
      - bennett_ryan
      - biondi_paul
      - bond
      - brooks_jordan
      - brown_alex
      - brown_joshua
      - brown_liam
      - brown_madison
      - brown_matthew
      - brown_sophia
      - brown_steven
      - brunetti_tony
      - bruno_katie
      - carter_colin
      - celeste
      - chatterjee_rini
      - chen_david
      - chen_mei
      - clark_tyler
      - cohen_emily
      - cohen_jared
      - collins_emily
      - cooper_logan
      - cupola
      - das_sourav
      - davies_james
      - dela cruz_maria
      - dela_cristina
      - diallo_amara
      - dubois_emma
      - duncan_colin
      - duval_pierre
      - eliphas
      - estelle
      - esther
      - eucalyptus
      - evans_jason
      - fern
      - fernandez_carlos
      - goldberg_ryan
      - gomez_daniela
      - gomez_diego
      - gomez_isabel
      - gomez_isabella
      - gomez_javon
      - gonzalez_maya
      - gonzalez_michael
      - gonzalez_ryan
      - grayson_avery
      - hanson_ryan
      - harris_luke
      - harris_lynette
      - harrison_brianna
      - harrison_joey
      - harrison_mary
      - hassan_omar
      - henderson_brittney
      - hernandez_juanita
      - holliday_jewel
      - iyer_arun
      - jensen_mikkel
      - johnny_jackson
      - johnson_amber
      - johnson_angela
      - johnson_asha
      - johnson_avery
      - johnson_brianna
      - johnson_cynthia
      - johnson_elijah
      - johnson_james
      - johnson_jessica
      - johnson_joshua
      - johnson_latisha
      - johnson_lisa
      - johnson_madison
      - johnson_malachi
      - johnson_marcel
      - johnson_mary
      - johnson_matt
      - johnson_matthew
      - johnson_melissa
      - johnson_monique
      - johnson_nia
      - johnson_tasha
      - johnson_tia
      - johnson_walter
      - kelly_aoife
      - kelly_jennifer
      - kelly_john
      - kelly_maureen
      - khan_fatima
      - khan_umar
      - kim_ashley
      - kim_daniel
      - kim_jaehyun
      - kim_sunny
      - kima
      - lee_sarah
      - levi_david
      - levine_emily
      - levine_joshua
      - levy_hannah
      - li_michael
      - li_wei
      - li_xiao
      - lintel
      - luna
      - lyra
      - maddox_emily
      - maguire_jason
      - malik_ahmad
      - marinelli_giulia
      - marlu
      - martinez_amber
      - martinez_ana
      - martinez_dylan
      - martinez_jaime
      - martinez_leticia
      - martinez_rosa
      - martinez_ryan
      - masonry
      - mbunda_james
      - mccarthy_james
      - mccarthy_teresa
      - mcdowell_peter
      - mckinley_robert
      - mendoza_alonzo
      - mendoza_jesus
      - mendoza_luz
      - merritt_jimmy
      - miller_cameron
      - miller_dylan
      - miller_judy
      - miller_kelsey
      - miller_lisa
      - miller_logan
      - miyamoto_akari
      - montgomery_elise
      - montgomery_emily
      - morgan_brianna
      - morgan_charles
      - morgan_jeremy
      - morris_colin
      - morris_james
      - morris_leticia
      - morris_melvin
      - morton_daine
      - moss
      - moyo_david
      - murphy_colin
      - murphy_emily
      - murphy_grace
      - murphy_hannah
      - murphy_liam
      - murphy_nolan
      - murphy_sean
      - neal_colin
      - novak_emily
      - nowak_joanna
      - nowak_michal
      - o'connor_brian
      - oculus
      - olsson_erik
      - orion
      - parapet
      - park_minseo
      - park_somin
      - park_sumin
      - parker_chloe
      - patel_amit
      - patel_asha
      - pham_daniel
      - pilaster
      - pola
      - ramirez_maya
      - ramos_raul
      - reddy_arjun
      - reddy_sunil
      - ricci_giulia
      - ricci_lorenzo
      - rodrigues_miguel
      - rodriguez_carla
      - rodriguez_carlos
      - rodriguez_eduardo
      - rodriguez_isabela
      - rodriguez_miguel
      - rossi_matteo
      - santos_angelica
      - schmidt_joshua
      - schmidt_julia
      - schmidt_sophie
      - schneider_eric
      - schneider_jack
      - sharma_amit
      - silva_ana
      - singh_anjali
      - sirius
      - smith_heather
      - smith_lisa
      - smith_michael
      - smith_mike
      - stucco
      - tauro
      - thalassa
      - thomas_sarah
      - thompson_kevin
      - torres_miguel
      - tran_david
      - tran_jessica
      - tran_tu
      - transom
      - truss
      - tupou_leilani
      - ursa
      - vashti
      - vespera
      - walnut
      - wang_mei
      - watson_emily
      - williams_anna
      - williams_brian
      - williams_darnell
      - williams_jennifer
      - williams_jordan
      - williams_nathan
      - williams_ryan
      - williams_terence
      - williams_tiffany
      - wilson_emma
      - wong_kenny
      - wright_cooper
      - wright_jason
      - wright_julianne
      - wright_michael
      - zhang_mei
    RimeArcanaSpeakerDe:
      type: string
      description: Voice speaker ID (German voices).
      default: sigurd
      enum:
      - bergmann_katharina
      - lorelei
      - rosenfeld_steffi
      - runa
      - sigurd
  parameters:
    XRegionSlngArcanaV1Fr:
      name: X-Region-Override
      in: header
      required: false
      description: Target region override. Auto-selected if not provided.
      schema:
        type: string
        enum:
        - eu-north-1
    XRegionSlngArcanaV1Ar:
      name: X-Region-Override
      in: header
      required: false
      description: Target region override. Auto-selected if not provided.
      schema:
        type: string
        enum:
        - eu-north-1
    XRegionSlngArcanaV1Es:
      name: X-Region-Override
      in: header
      required: false
      description: Target region override. Auto-selected if not provided.
      schema:
        type: string
        enum:
        - eu-north-1
    XRegionSlngArcanaV1En:
      name: X-Region-Override
      in: header
      required: false
      description: Target region override. Auto-selected if not provided.
      schema:
        type: string
        enum:
        - ap-southeast-2
    XRegionSlngArcanaV1De:
      name: X-Region-Override
      in: header
      required: false
      description: Target region override. Auto-selected if not provided.
      schema:
        type: string
        enum:
        - eu-north-1
  responses:
    ProviderUnauthorized:
      description: Invalid or missing API key.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ProviderErrorResponse'
    TtsSynthesisSuccess:
      description: Synthesis successful.
      content:
        audio/*:
          schema:
            $ref: '#/components/schemas/AudioBinary'
    ProviderServiceUnavailable:
      description: Service unavailable.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ProviderErrorResponse'
    RimeArcanaBadRequest:
      description: 'Rime Arcana TTS bad request. Common causes include invalid speaker ID for the

        selected language variant, unsupported model, unsupported audio format, or malformed request body.

        '
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ProviderErrorResponse'
          examples:
            invalid-speaker:
              summary: Invalid speaker ID
              description: 'Speaker ID not available for this language variant. Each Arcana language

                has specific voices - check the endpoint schema for valid speakers.

                '
              value:
                error: TTS service error
                details: 'Rime TTS API error: 400 Bad Request - Invalid argument: Invalid speaker: aurelie'
            invalid-speaker-for-language:
              summary: Speaker not available for language
              description: Using a speaker from a different language variant.
              value:
                error: TTS service error
                details: 'Rime TTS API error: 400 Bad Request - Invalid argument: Invalid speaker: astra'
            missing-text:
              summary: Missing text field
              value:
                error: Validation error
                details: 'Missing required field: text'
            unsupported-model:
              summary: Unsupported model
              description: The specified modelId is not supported by Rime Arcana.
              value:
                error: TTS service error
                details: 'Rime TTS API error: 400 Bad Request - Unsupported model'
    RimeArcanaInternalServerError:
      description: 'Rime Arcana TTS internal error. Note: Some validation errors (e.g., invalid speaker)

        may currently return 500 instead of 400. Check the error details for specifics.

        '
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ProviderErrorResponse'
          examples:
            processing-error:
              summary: Processing error
              value:
                error: TTS service error
                details: Internal processing error
            invalid-speaker-as-500:
              summary: Invalid speaker (returned as 500)
              description: 'Invalid speaker errors may currently return 500 instead of 400.

                The details field will indicate the actual validation error.

                '
              value:
                error: TTS service error
                details: 'Rime TTS API error: 400 Bad Request - Invalid argument: Invalid speaker: aurelie'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API key