#I use dinamic variables (collected at Initiation Data request), and I the HTTP body I construct the
1 messages · Page 1 of 1 (latest)
Short answer: yes—natural, “non‑robotic” delivery and good reasoning come from the combination of your prompt/context (including dynamic variables) plus the TTS voice and its settings.
What the docs confirm
- You can pass conversation initiation data that includes both dynamic_variables and conversation_config_override. The override can change the agent prompt/first message/LLM and TTS fields like voice_id. (elevenlabs.io)
- Overrides currently support voice_id, stability, speed, and similarity_boost for TTS. Style is not listed among overridable fields in Agents; if you need style, change the voice’s settings at the voice level via the Voices API. (elevenlabs.io)
- Dynamic variables are the recommended way to personalize prompts and tool calls; they’re injected at start (for prompts) and kept up to date for tools. (elevenlabs.io)
What affects “intonation” (prosody) and perceived naturalness
- Stability: Lower values introduce a broader emotional range; higher values can sound more monotonous. This is often the first knob to reduce “robotic” delivery. (elevenlabs.io)
- Speed: Keep near 1.0; the supported range is roughly 0.7–1.2, and extreme values can degrade quality. (elevenlabs.io)
- Similarity boost and Speaker boost: Increase adherence to the reference voice; speaker boost can add latency. Use judiciously. (elevenlabs.io)
- Style (voice-level setting): Controls style exaggeration and may add latency when >0. Adjust via the Voices API if needed. (elevenlabs.io)
- If output sounds too monotone or chaotic, ElevenLabs recommends tweaking voice settings and notes that different voice types vary in emotional range. (help.elevenlabs.io)
- TTS is non-deterministic; sliders define ranges rather than fixed outcomes, so expect to iterate. (elevenlabs.io)
What affects “smartness”
- Your LLM choice, system prompt, knowledge base, and tools drive reasoning quality; the Agents Platform composes ASR + LLM + TTS + turn‑taking. Use overrides/dynamic variables to supply the right context, and a knowledge base/tools for grounding. (elevenlabs.io)
Bottom line: your approach—feeding dynamic variables into the system prompt and selectively overriding voice settings—matches how ElevenLabs intends agents to be personalized. Tune stability/speed/similarity (and style via the Voices API if needed), while iterating on prompts and context, to reach natural
Soo ... OK, it means I just "suck" at constructing the system prompt.
Any tips and tricks for a "fixed" conversation?
Here are the levers ElevenLabs documents for making an Agent feel natural and stay on‑script in a “fixed” conversation:
- Use the System prompt and First message to set behavior, style, and opening line. The system prompt directly controls the agent’s demeanor; pair it with a constrained knowledge base if you need tighter scope. RAG can further focus answers if you add source docs. (help.elevenlabs.io)
- Pick the right model for conversational use. For real‑time/voice agent flows, use v2.5 Turbo or Flash; v3 (Alpha) is more expressive but not recommended for real‑time conversations due to reliability/latency. (help.elevenlabs.io)
- Tune delivery with voice Speed. Set speed between 0.7 and 1.2; extremes can degrade quality. This is available in Agents and TTS. (help.elevenlabs.io)
- Add natural pauses. In TTS/Agents, use SSML <break time="Xs" /> (up to 3s) for consistent, natural pauses; don’t overuse to avoid artifacts. If you generate with v3 specifically, use its pause tags instead. (help.elevenlabs.io)
- Ensure clean pronunciation and intonation.
- Specify language via API with language_code for short/ambiguous text. Choose a voice trained on that language/accent for better pronunciation/intonation. (help.elevenlabs.io)
- For numbers, dates, acronyms: either have the LLM spell them out in words or enable text normalization (apply_text_normalization) when using the API. (help.elevenlabs.io)
- Keep responses “fixed” by limiting what the model can reference. Populate an Agent knowledge base with only the content you want it to use; enable RAG to bias answers toward those documents. Mind size limits and the 500‑byte minimum per item for RAG. (help.elevenlabs.io)
- Orchestrate the flow with Tools. System Tools let you end or transfer calls or switch languages at defined points. Webhooks can call your own APIs to fetch/update state as the conversation progresses. (help.elevenlabs.io)
- If something goes off, check Call History. It surfaces issues such as “Missing required dynamic variables …” or “Override is not allowed for this AI agent,” which commonly block
Rules on how to construct the system prompt?