Skip to main content
New Features

Voice agent endpoints and Cartesia agents

  • Voice agent endpoints. You can now list, retrieve, and delete your stored voice agents: GET /v1/voice_agents, GET /v1/voice_agents/{agent_id}, and DELETE /v1/voice_agents/{agent_id}.
  • Cartesia voice agents. A voice agent can now be backed by a Cartesia-hosted agent, using the new cartesia_agent type. In LITE Mode, pass cartesia_agent_config on POST /v1/sessions/token with your agent_id and the secret_id of a stored CARTESIA_API_KEY.
New Features

Cartesia TTS support

  • Cartesia is now available as a voice provider. The voice_settings object on avatar_persona accepts a new CartesiaVoiceSettings variant (discriminated by provider: "cartesia"), with speed (0.6–1.5, default 1.0) and model.
  • New CartesiaModelEnum: sonic-3.5 (default), sonic-3, sonic-2, sonic-turbo.
  • SecretTypeEnum — Added CARTESIA_API_KEY and FISH_API_KEY for bring-your-own-key configuration via POST /v1/secrets.
  • GET /v1/sessions — Session list entries (ListSessionEntrySchema, ListHistoricEntrySchema) now include api_key_id, identifying the API key that created the session.
Deprecation

VP8 video encoding deprecated

  • VideoEncodingEnum — The VP8 value is deprecated and will be removed in a future release. Use H264 (the default). Sessions that still request VP8 continue to work for now, but should migrate to H264. Affects the encoding field of video_settings on session token requests.
New Features

Introducing Voice Agents

Voice agents are a new primitive for defining how your avatar converses. A voice agent bundles the conversational configuration into a single stored resource you reference by id — no need to wire up voice, context, and language on every request. See Voice Agents for the full concept.
  • Two agent types. A liveavatar_agent runs LiveAvatar’s managed FULL Mode pipeline (composed from a voice and a context). An elevenlabs_agent is backed by an ElevenLabs-hosted agent and produces a LITE Mode session — even when referenced from a FULL Mode token request.
  • POST /v1/sessions/token (FULL Mode) — New optional voice_agent object referencing a stored voice agent by id. Mutually exclusive with avatar_persona.
  • Per-session overrides for a liveavatar_agent: language and dynamic_variables, layered over the agent’s stored config for that session only. Both are rejected with a 400 for an elevenlabs_agent. dynamic_variables is mutually exclusive with the top-level field, capped at 50 entries (keys ≤ 64 chars, string values ≤ 1000 chars).
  • POST /v2/embeddings — New optional voice_agent_id to resolve voice and context from a stored voice agent. Mutually exclusive with voice_id / context_id.
  • New schema: VoiceAgentRef.
New Features

Attach memory when creating a session token

  • POST /v1/sessions/token — FULL Mode tokens now accept an optional memory object. Provide prev_session_id to seed or reuse memory from a prior session, session_memory_id to attach an existing memory, or both (they must resolve to the same memory). Sessions started without it are unaffected.
New Endpoint

Session Memory endpoints

  • POST /v1/memory — Create a memory from a completed session. Accepts memory_type (session) and session_id.
  • GET /v1/memory — List memories with type, page, and page_size query parameters. Each item returns a memory_content_preview.
  • GET /v1/memory/{memory_id} — Fetch a single memory, including its rolled-up memory_content and the per-session session_episodes that compose it.
  • DELETE /v1/memory/{memory_id} — Delete a memory and its episodes.
  • New schemas: MemoryResponse, MemoryWithEpisodesResponse, MemoryListItemResponse, MemoryEpisodeSchema (each episode carries a session_id, sequence_num, and summary), and MemoryTypeEnum (currently session).
API Changes

ElevenLabs Japanese text normalization

  • ElevenLabsVoiceSettings — New optional apply_language_text_normalization boolean (default false). Enables ElevenLabs language-specific text normalization to improve pronunciation. Currently only Japanese (ja) is supported; valid only when the session language is set to ja. Adds latency, so it is opt-in.
New Endpoint

Delete Session Events endpoint

  • DELETE /v1/sessions/{session_id}/events — New endpoint to hard-delete all events for a given session. Accepts session_id path parameter; authenticated via API key or bearer token.
SDK Update

JavaScript SDK v0.0.18 — ElevenLabs Agent improvements

API Changes

1080p avatars, ElevenLabs voice override & expanded Gemini voices

  • 1080p avatars — Added support for 1080p avatars on the new payment plan. AvatarSchema exposes an is_1080p boolean to identify them.
  • Session token improvements — Hardened JWT payload to strip sensitive fields from the token, also reducing payload size. Sandbox Mode keeps fields visible for testing.
  • ElevenLabs voice overrideElevenLabsAgentConfigSchema accepts an optional voice_id that is forwarded as conversation_config_override.tts.voice_id to the ElevenLabs Agent WebSocket, overriding the agent’s default voice for the session.
  • Expanded Gemini Realtime voicesGeminiVoiceEnum adds Achernar, Achird, Algenib, Algieba, Alnilam, Autonoe, Callirrhoe, Despina, Enceladus, Erinome, Gacrux, Iapetus, Laomedeia, Pulcherrima, Rasalgethi, Sadachbia, Sadaltager, Schedar, Sulafat, Umbriel, Vindemiatrix, and Zubenelgenubi.
New Features

Gemini Realtime, Vertical Embeds & Dynamic Variables

  • Gemini Realtime agent — LITE sessions can now be configured with gemini_realtime_config, running on Gemini Live API with configurable model, voice, and temperature. Supported voices include Aoede, Charon, Fenrir, Kore, Leda, Orus, Puck, and Zephyr. Requires a new GEMINI_API_KEY secret type.
  • Embed orientation/v2/embeddings now accepts an orientation field (horizontal for 16:9 or vertical for 9:16). The response also returns the new embed_id field.
  • Session dynamic variables — Session creation now accepts a dynamic_variables object for filling ${var} placeholders in the context’s opening text and prompt (max 50 entries).
  • New session filtersGET /v1/sessions now supports embed_id and context_id query parameters.
  • New AGENT_HANG_UP session end reason — Added to SessionEndReasonEnum to indicate the agent itself terminated the call. Currently only emitted by the ElevenLabs agent.
New Features

ElevenLabs Events, Embed Transcripts & SDK Update

  • ElevenLabs agent events — underlying ElevenLabs server events are now forwarded via the elevenlabs_agent_event event type, giving you access to raw ElevenLabs Conversational AI events
  • Transcript on embed — Transcripts are now available directly on embed sessions
  • JavaScript SDK updated — Updated the @heygen/liveavatar-web-sdk package with new event types and improvements
API Changes

Auth Simplification & Session Filtering

  • Authentication — Cleaned up documentation for which endpoints require which auth specifications
  • New avatar_id filter on /v1/sessions — List sessions can now be filtered by an optional avatar_id query parameter
New Features

Embeds, Image Avatars & More

  • New /v2/embeddings endpoint with sandbox support — Embeds can now be created with Sandbox Mode available
  • Built Image Avatar pipeline — Create a fully animated avatar from just a photo using the new validate and submit endpoints

Improvements

  • Update avatar endpoint — You can now change an avatar’s default voice
  • Avatar and voice deletion untangled — Deleting a voice no longer affects its associated avatar, and vice versa
  • ElevenLabs agent dynamic variables — Configure dynamic variables for ElevenLabs-powered agents that get replaced at session start
  • Source events fixed in FULL Modeavatar.say and avatar.repeat events now correctly return source_event_id
New Features

ElevenLabs Scribe, Embed Improvements

  • Added support for ElevenLabs Scribe, expanding ASR capabilities
  • Embed Improvements
    • Default language selection, letting users set the language for their embed experience
    • Time limits, giving creators control over session duration
API Changes

Voice Settings & Fish Audio

  • Added additional voice settings for more granular control over avatar speech
  • Added access to Fish Audio as a TTS provider
  • New [GET] /v1/languages endpoint to clarify which languages are currently supported
We will continue clarifying how the language parameter interacts with FULL Mode systems.
API Changes

ElevenLabs Integration

  • The v1/secrets endpoint now accepts ElevenLabs API keys
  • FULL Mode sessions can now start with your own ElevenLabs keys and voices
  • Added integration with ElevenLabs Agent functionality
API Changes

LLM Plugin & Session Controls

  • Introduced LLM Plugin for custom LLM configurations
  • Added customizable session duration controls
  • Transcription chunk events are now emitted in real time
  • New endpoint to track user credit balances
API Changes

Session Configuration & LITE Mode

  • New session configuration options for video codec selection (H.264 / VP8)
  • Added video quality control settings
  • Added voice customization options
  • CUSTOM Mode has been renamed to LITE Mode (backward-compatible)
  • Bug fix: resolved opening line speech issues
API Changes

Push-to-Talk

  • Released Push-to-Talk functionality for avatar sessions
  • Added accompanying documentation and integration guides
API Changes

Sandbox Mode & FULL Mode Improvements

  • Introduced Sandbox Mode for testing without credit charges
  • Made context optional in FULL Mode configurations, reducing required setup
API Changes

Custom Mode & Session List Updates

  • Custom Mode now exposes LiveKit Agent token for developers to integrate their own agents
  • Session List endpoint updated to use query parameters
New Endpoint

Transcription Endpoint

  • New [GET] /v1/sessions/{session_id}/transcript endpoint
  • Enables developers to retrieve transcriptions between users and avatars in FULL Mode sessions
New Endpoint

Sessions List Endpoint

  • New [GET] /v1/sessions endpoint
  • Allows listing of both active and previously active sessions