---
title: "List Cartesia voices"
method: GET
path: "/test_framework/v1/personalities/cartesia_voices/"
tags: ["test_framework"]
---

# List Cartesia voices

`GET /test_framework/v1/personalities/cartesia_voices/`

## Request

- Base URL: `https://api.cekura.ai`
- URL: `https://api.cekura.ai/test_framework/v1/personalities/cartesia_voices/`
- Auth: one of:
  - API key in header `X-CEKURA-API-KEY`
  - HTTP bearer
  - HTTP bearer

List the public Cartesia voices available for a personality's `voice_id`, with each voice's language, gender, description and preview URL. Use this to pick a voice with the accent you want to test: a personality's accent comes from its voice. Cartesia publishes no accent label, so judge accent from the voice's name and description, or use `personalities_elevenlabs_voices` when you need a labelled accent. Filter with `language` (e.g. `en`, `es`).

Pair the id you pick with `provider: "cartesia"` and voice model `sonic-3.5`.

The catalog is not a hard limit: if no listed voice has the accent, language or timbre a test needs, Cekura can add one on request — point the user at support@cekura.ai or their dedicated Slack support channel rather than reporting the accent as unsupported.

## Query parameters

- `language` string

## Response `200`

- CreatePersonality
  - `id` integer
  - `project` integer: Project that will own the personality. Optional when using a project-scoped API key (it is inferred from the key); required otherwise. Example: `1`
  - `name` string, required: Name of the personality Example: `"Customer Service"`
  - `prompt` string: Prompt of the personality Example: `"You are a friendly and helpful customer service agent who is always willing to help"`
  - `language` 'af' | 'ar' | 'bn' | 'bg' | 'zh' | 'cs' | 'da' | 'nl' | 'en' | 'et' | 'fi' | 'fr' | 'de' | 'el' | 'gu' | 'hi' | 'he' | 'hu' | 'id' | 'it' | 'ja' | 'kn' | 'kk' | 'ko' | 'ms' | 'ml' | 'mr' | 'multi' | 'no' | 'pl' | 'pa' | 'pt' | 'ro' | 'ru' | 'sk' | 'es' | 'sv' | 'th' | 'tr' | 'tl' | 'ta' | 'te' | 'uk' | 'uz' | 'vi': Language of the personality * `af` - Afrikaans * `ar` - Arabic * `bn` - Bengali * `bg` - Bulgarian * `zh` - Chinese Simplified * `cs` - Czech * `da` - Danish * `nl` - Dutch * `en` - English * `et` - Estonian * `fi` - Finnish * `fr` - French * `de` - German * `el` - Greek * `gu` - Gujarati * `hi` - Hindi * `he` - Hebrew * `hu` - Hungarian * `id` - Indonesian * `it` - Italian * `ja` - Japanese * `kn` - Kannada * `kk` - Kazakh * `ko` - Korean * `ms` - Malay * `ml` - Malayalam * `mr` - Marathi * `multi` - Multilingual * `no` - Norwegian * `pl` - Polish * `pa` - Punjabi * `pt` - Portuguese * `ro` - Romanian * `ru` - Russian * `sk` - Slovak * `es` - Spanish * `sv` - Swedish * `th` - Thai * `tr` - Turkish * `tl` - Tagalog * `ta` - Tamil * `te` - Telugu * `uk` - Ukrainian * `uz` - Uzbek * `vi` - Vietnamese
  - `accent` string: Read-only label describing the accent of this personality's voice, as reported by the voice provider. It is derived from `voice_id` and cannot be set directly: speech is synthesised from `voice_id` alone, so changing the accent of a personality means choosing a different voice. Empty when the provider publishes no accent for the voice.
  - `background_noise` string, required: Background noise
  - `voice_model` string, required: Voice model name
  - `voice_id` string: Voice ID Example: `"TX3LPaxmHKxFdv7VOQHJ"`
  - `interruption_level` string: Interruption level
  - `speed` number: Speed of the voice
  - `generation_config` object: Generation config for Cartesia Sonic-3 voice model. Only valid when provider is "cartesia" and voice_model is "sonic-3.5". Supports volume and emotion Example: {"volume": 1.5, "emotion": "happy"}
    - `volume` number
    - `emotion` 'neutral' | 'happy' | 'excited' | 'enthusiastic' | 'elated' | 'euphoric' | 'triumphant' | 'amazed' | 'surprised' | 'flirtatious' | 'joking/comedic' | 'curious' | 'content' | 'peaceful' | 'serene' | 'calm' | 'grateful' | 'affectionate' | 'trust' | 'sympathetic' | 'anticipation' | 'mysterious' | 'angry' | 'mad' | 'outraged' | 'frustrated' | 'agitated' | 'threatened' | 'disgusted' | 'contempt' | 'envious' | 'sarcastic' | 'ironic' | 'sad' | 'dejected' | 'melancholic' | 'disappointed' | 'hurt' | 'guilty' | 'bored' | 'tired' | 'rejected' | 'nostalgic' | 'wistful' | 'apologetic' | 'hesitant' | 'insecure' | 'confused' | 'resigned' | 'anxious' | 'panicked' | 'alarmed' | 'scared' | 'proud' | 'confident' | 'distant' | 'skeptical' | 'contemplative' | 'determined'
  - `network_simulation` object: Network simulation configuration for testing network impairments.
    - `packet_loss` number
    - `jitter` number
    - `latency` number
  - `message_plan` object: Message plan configuration for idle timeout behavior. Supports idle_messages_enabled (boolean), idle_timeout_seconds (positive int), and idle_message_max_spoken_count (positive int). Set idle_messages_enabled to false to disable check-ins. Omitted fields preserve existing settings. Example: {"idle_messages_enabled": false, "idle_timeout_seconds": 15}
    - `idle_messages_enabled` boolean: False disables idle check-ins; true restores the default check-in for the personality language. Omit to preserve the current setting.
    - `idle_timeout_seconds` integer
    - `idle_message_max_spoken_count` integer
  - `start_speaking_plan` number: Wait seconds before the bot starts speaking (float >= 0). Ignored if interruption_level is also set in the same request (preset takes precedence). Example: 0.7
  - `stop_speaking_plan` object, nullable: Stop speaking plan configuration. Controls when the bot stops speaking. Supports num_words (int >= 0), voice_seconds (float >= 0), backoff_seconds (float >= 0). Ignored if interruption_level is also set in the same request (preset takes precedence). Example: {"num_words": 3, "voice_seconds": 0.3, "backoff_seconds": 0}
    - `num_words` integer
    - `voice_seconds` number
    - `backoff_seconds` number
  - `background_sound_volume` object, nullable: Background sound volume levels (0.0 to 1.0). base sets both the base and normal volume; reduced sets the quieter level during bot speech. Example: {"base": 0.05, "reduced": 0.02}
    - `base` number
    - `reduced` number
  - `voice_volume` string, nullable: Speech volume of the testing agent (0.01 to 2.0, default 1.0). Works on every voice provider — it is amplitude scaling applied after synthesis, so it reaches far quieter levels than generation_config.volume, which is a Cartesia-native parameter limited to Cartesia's own 0.5-2.0. Setting this clears any generation_config.volume so the ratio is never applied twice. Send null to remove it. Example: 0.05 for a barely-audible caller.
  - `effective_voice_volume` string: Read-only. The volume the call will actually play at: voice_volume if set, else a legacy generation_config.volume, else 1.0. Use this to populate a volume control.
  - `patronus_settings` unknown
  - `provider_agent_id` string: Provider agent ID Example: `"assistant_123"`
  - `end_call_enabled` boolean: Whether the end call is enabled
  - `provider` '11labs' | 'cartesia': Provider of the voice * `11labs` - Elevenlabs * `cartesia` - Cartesia

## Changes

- **2026-11-03** `a6fb6a739212`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/cekura/apis/cekura-api/changes/test_framework/v1/personalities/cartesia_voices/get.md)

---

[API](https://skmtc.dev/cekura/apis/cekura-api.md) - [All operations](https://skmtc.dev/cekura/apis/cekura-api/llms.txt) - [OpenAPI document](https://skmtc.dev/cekura/apis/cekura-api/revisions/a6fb6a739212?raw)
