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

# List synthesizer providers

> Retrieve available TTS (text-to-speech) synthesizer providers

This endpoint returns a list of available synthesizer providers that can be used when creating or updating assistants. Use the returned `id` as `synthesizer_provider_id` in the assistant configuration.

### Query parameters

<ParamField query="language_id" type="integer">
  Filter providers by language support. Only providers that support the given language are returned. Use the [Get Languages](/en/api-reference/assistants/languages) endpoint to fetch available language IDs.
</ParamField>

### Response fields

<ResponseField name="data" type="array">
  <Expandable title="Properties">
    <ResponseField name="id" type="integer">
      Unique identifier of the provider. Use this as `synthesizer_provider_id` when creating or updating assistants.
    </ResponseField>

    <ResponseField name="name" type="string">
      Display name of the provider (e.g. "ElevenLabs", "Azure", "Cartesia").
    </ResponseField>

    <ResponseField name="code" type="string">
      Internal code of the provider.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseExample>
  ```json 200 Response theme={null} theme={null}
  [
    {
      "id": 1,
      "name": "ElevenLabs",
      "code": "elevenlabs"
    },
    {
      "id": 2,
      "name": "Azure",
      "code": "azure"
    },
    {
      "id": 3,
      "name": "Cartesia",
      "code": "cartesia"
    }
  ]
  ```

  ```json 200 Filtered by language theme={null} theme={null}
  [
    {
      "id": 1,
      "name": "ElevenLabs",
      "code": "elevenlabs"
    },
    {
      "id": 3,
      "name": "Cartesia",
      "code": "cartesia"
    }
  ]
  ```
</ResponseExample>

### Notes

* If `language_id` is not provided, all providers are returned.
* Not every provider supports all languages – use the `language_id` filter to find compatible providers.
* Synthesizer providers are only relevant for the `pipeline` and `dualplex` modes (in `multimodal` mode, TTS is handled internally).
* If you do not set `synthesizer_provider_id` when creating an assistant, the default provider for the language is used.
