Control AI Voice Tone with Expressive Markup

LiveKit
10,027 views August 12, 2026

Voice agents know what to say. They are still flat in how they say it. Expressive Mode in LiveKit Agents is a single flag that makes your agent sound emotionally alive. It sits between your LLM and your TTS, injecting provider-specific instructions so the model emits expressive markup inline with its response. You never write the tags yourself, and they are stripped from the user-facing transcript. It works at launch with Fish Audio, Inworld, and Cartesia, with other TTS providers coming soon. Sign up for LiveKit Cloud: https://cloud.livekit.io/signup?utm_source=youtube&utm_medium=video&utm_campaign=devrel&utm_content=KjLS2gCQed4 Two presets ship today. CASUAL mirrors and amplifies the user's energy. CUSTOMER_SERVICE stays calm and empathetic and deliberately does not mirror anger. Both are provider-agnostic and customizable. For frontends, the leading delivery tag is published as an lk.expression attribute on the lk.transcription text stream, so a visualizer or mood indicator can follow the agent's emotional state. Live demo in the blog: https://livekit.com/blog/making-voice-agents-sound-human-with-expressive-mode/?utm_source=youtube&utm_medium=video&utm_campaign=devrel&utm_content=KjLS2gCQed4 📚 Resources 📚 Agent docs: https://docs.livekit.io/agents/?utm_source=youtube&utm_medium=video&utm_campaign=devrel&utm_content=KjLS2gCQed4 🤝 Join the Community: https://community.livekit.io/?utm_source=youtube&utm_medium=video&utm_campaign=devrel&utm_content=KjLS2gCQed4 #livekit #ai #voiceai

Keyboard shortcuts

On. Switch them off if they collide with your assistive tools; ? still opens this sheet.

Go to

Press g then the letter.

  • gh Latest
  • gs Sources
  • gm Media
  • gv Videos
  • gp Podcasts
  • gc Calendar
  • gd Decoder
  • gz Dataviz
  • ga Datasets
  • gb Blog
  • gk Markets
  • gj Careers
  • gn Prompt Notebook

On this page

  • / Focus search, where there is one
  • t Back to top
  • ? This list
  • Esc Close