test_framework

Create a personality

Changed on

Create a personality — the simulated caller your evaluators run as. A personality carries the caller's voice, language, speaking speed, interruption behavior, background noise and idle timing; an evaluator carries what that caller is trying to do. Evaluator instructions cannot override any of it, so a call-wide trait belongs here and nowhere else.

voice_id and provider decide how the caller actually sounds, including its accent — list the catalog with personalities_elevenlabs_voices or personalities_cartesia_voices (both filter by language) and pass an id from there. accent is a read-only label derived from that voice and cannot be set.

To reuse a predefined personality with one thing changed, fork it instead of building a new one: forks inherit every setting.

post/test_framework/v1/personalities/

Request

  • Base URL
    https://api.cekura.ai
  • URL
    https://api.cekura.ai/test_framework/v1/personalities/
  • Auth
    • API key in header X-CEKURA-API-KEY
    • or HTTP bearer
    • or HTTP bearer

Request body

idinteger
projectinteger

Project that will own the personality. Optional when using a project-scoped API key (it is inferred from the key); required otherwise. Example: 1

namestring required

Name of the personality Example: "Customer Service"

promptstring

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
accentstring

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_noisestring required

Background noise

voice_modelstring required

Voice model name

voice_idstring

Voice ID Example: "TX3LPaxmHKxFdv7VOQHJ"

interruption_levelstring

Interruption level

speednumber

Speed of the voice

start_speaking_plannumber

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

voice_volumestring 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_volumestring

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_settingsunknown
provider_agent_idstring

Provider agent ID Example: "assistant_123"

end_call_enabledboolean

Whether the end call is enabled

provider'11labs' | 'cartesia'

Provider of the voice

  • 11labs - Elevenlabs
  • cartesia - Cartesia

Response

idinteger
projectinteger

Project that will own the personality. Optional when using a project-scoped API key (it is inferred from the key); required otherwise. Example: 1

namestring required

Name of the personality Example: "Customer Service"

promptstring

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
accentstring

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_noisestring required

Background noise

voice_modelstring required

Voice model name

voice_idstring

Voice ID Example: "TX3LPaxmHKxFdv7VOQHJ"

interruption_levelstring

Interruption level

speednumber

Speed of the voice

start_speaking_plannumber

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

voice_volumestring 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_volumestring

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_settingsunknown
provider_agent_idstring

Provider agent ID Example: "assistant_123"

end_call_enabledboolean

Whether the end call is enabled

provider'11labs' | 'cartesia'

Provider of the voice

  • 11labs - Elevenlabs
  • cartesia - Cartesia

Changes