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

# list voices and languages

> what an agent's `ttsConfig.model`, `ttsConfig.voice`, `ttsConfig.description` and `language` may be set to, per voice engine — the menus the dashboard's voice picker renders. `phoneCalls` says whether agents on that engine can take phone calls.



## OpenAPI

````yaml /openapi.json get /v1/voices
openapi: 3.1.0
info:
  title: silk api
  version: 1.0.0
  description: >-
    rumik ai's speech api. synthesize speech with the expressive `muga` model,
    the faster `mulberry` model or the multilingual `mulberry-1.6` model over
    http or a streaming websocket session, run conversational voice agents over
    webrtc, a realtime pcm socket or the phone, and manage everything the agents
    playground does — agents, voices, variables, tools, phone numbers, sip
    trunks and outbound calls — with the same api key.
  contact:
    name: rumik ai
    url: https://rumik.ai
servers:
  - url: https://silk-api.rumik.ai
    description: production
security:
  - bearerAuth: []
tags:
  - name: speech
    description: text-to-speech over HTTP and WebSocket.
  - name: voice agents
    description: start calls with a deployed agent from your own app.
  - name: agents
    description: build, configure, deploy and inspect your agents.
  - name: calls
    description: place outbound phone calls and read call history.
  - name: voices
    description: the voices, languages and styles an agent may use.
  - name: variables
    description: account-wide `{name}` prompt variables and their defaults.
  - name: tools
    description: HTTP tools agents call before or during a call.
  - name: phone numbers
    description: 'numbers rented through rumik: search, rent, connect, release.'
  - name: sip trunks
    description: bring your own numbers over SIP.
paths:
  /v1/voices:
    get:
      tags:
        - voices
      summary: list voices and languages
      description: >-
        what an agent's `ttsConfig.model`, `ttsConfig.voice`,
        `ttsConfig.description` and `language` may be set to, per voice engine —
        the menus the dashboard's voice picker renders. `phoneCalls` says
        whether agents on that engine can take phone calls.
      operationId: listVoices
      responses:
        '200':
          description: ok.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VoiceCatalog'
              examples:
                default:
                  value:
                    defaultModel: muga
                    models:
                      - id: muga
                        label: silk muga 1
                        disabled: false
                        badge: null
                        voices: []
                        languages:
                          - id: hinglish
                            label: Hinglish
                            disabled: false
                          - id: english
                            label: English
                            disabled: false
                        defaultLanguage: hinglish
                        descriptions: []
                        phoneCalls: true
                      - id: mulberry
                        label: silk mulberry 1.5
                        disabled: false
                        badge: null
                        voices:
                          - Emma
                          - Mia
                          - Sophia
                          - Ava
                          - speaker_1
                          - speaker_2
                          - speaker_3
                          - speaker_4
                          - Lucas
                          - Noah
                          - Theo
                          - Adam
                        languages:
                          - id: english
                            label: English (US)
                            disabled: false
                          - id: hinglish
                            label: Hinglish
                            disabled: false
                          - id: hindi
                            label: Hindi (IN)
                            disabled: false
                        defaultLanguage: english
                        descriptions:
                          - id: warm-support-us
                            label: Warm Support
                            subtitle: American · 30s · conversational
                            description: >-
                              a female 30s american voice, normal pitch, warm
                              timbre, conversational pacing, calm and
                              reassuring, professional register, like a customer
                              support agent.
                        phoneCalls: true
        '401':
          description: >-
            `unauthorized` — key missing, malformed, unknown, revoked or
            expired.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                unauthorized:
                  value:
                    error: Invalid API key
                    code: unauthorized
        '403':
          description: '`forbidden_scope` — the key was created without the `agent` scope.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                forbidden_scope:
                  value:
                    error: This API key lacks the 'agent' scope
                    code: forbidden_scope
        '429':
          description: >-
            `rate_limited` — the key's per-minute budget is spent. `Retry-After`
            says how long to wait; the body carries `limit` and `current`.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                rate_limited:
                  value:
                    error: Rate limit exceeded
                    code: rate_limited
                    limit: 100
                    current: 101
          headers:
            Retry-After:
              description: seconds to wait before retrying (per-key rate limit only).
              schema:
                type: integer
components:
  schemas:
    VoiceCatalog:
      properties:
        models:
          items:
            $ref: '#/components/schemas/VoiceModelOption'
          type: array
          description: one entry per voice engine.
        defaultModel:
          type: string
          description: the engine used when `ttsConfig.model` is omitted.
      type: object
      required:
        - models
        - defaultModel
      title: VoiceCatalog
      description: >-
        the voice engines, named voices, languages and style presets an agent
        may use.
    Error:
      type: object
      properties:
        error:
          type: string
          description: human-readable error message.
        code:
          type: string
          description: machine-readable error code.
    VoiceModelOption:
      properties:
        id:
          type: string
          description: the value for `ttsConfig.model`.
        label:
          type: string
          description: display name.
        disabled:
          type: boolean
          default: false
          description: listed but not selectable.
        badge:
          anyOf:
            - type: string
            - type: 'null'
          description: a short label like `beta`, or null.
        voices:
          items:
            type: string
          type: array
          description: values for `ttsConfig.voice` (mulberry only; empty otherwise).
        languages:
          items:
            $ref: '#/components/schemas/VoiceLanguageOption'
          type: array
          description: values for the agent's `language`.
        defaultLanguage:
          anyOf:
            - type: string
            - type: 'null'
          description: the language used when none is set.
        descriptions:
          items:
            $ref: '#/components/schemas/VoiceStylePreset'
          type: array
          description: >-
            curated voice-style presets for `ttsConfig.description` (mulberry
            only).
        phoneCalls:
          type: boolean
          default: true
          description: whether agents on this engine can take phone calls.
      type: object
      required:
        - id
        - label
      title: VoiceModelOption
      description: |-
        One selectable voice engine, with the languages and named voices it
        offers — what the dashboard's voice picker renders.
    VoiceLanguageOption:
      properties:
        id:
          type: string
          description: the value for `language`.
        label:
          type: string
          description: display name.
        disabled:
          type: boolean
          description: listed but not selectable yet.
      type: object
      title: VoiceLanguageOption
      description: A selectable conversation language for one TTS voice.
    VoiceStylePreset:
      properties:
        id:
          type: string
        label:
          type: string
        subtitle:
          type: string
        description:
          type: string
      type: object
      required:
        - id
        - label
        - subtitle
        - description
      title: VoiceStylePreset
      description: |-
        A curated mulberry voice-style description an agent can use as its
        ``ttsConfig.description``.
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        your rumik api key, e.g. `rk_live_...`. create one in the rumik
        dashboard.

````