API Changes
GPT-Live and OpenAI voice agents, new TTS models, and voice engine details
- GPT-Live in OpenAI Realtime mode.
openai_realtime_config.modelis now an enum:gpt-realtime(default),gpt-realtime-mini,gpt-realtime-2.1,gpt-realtime-2.1-mini, andgpt-live-1. GPT-Live models run full-duplex and use their own voice set (aster,beacon,cinder,marin,stone,vesper; defaultmarin).temperatureapplies to Realtime models only. openai_agentvoice agent type.agent_typeaddsopenai_agent, which runs OpenAI Realtime or GPT-Live on your own OpenAI API key. Itsagent_configurationtakesmodel,voice,temperature,secret_id(required), andcontext_id, and is returned byGET /v1/voice_agents/{agent_id}.- New TTS models.
- Cartesia:
sonic-3.6, now the default. - ElevenLabs:
eleven_v4_turbo. Like the v3 models, it honors onlystabilityfrom the voice settings. - Fish Audio:
s2-proands2.1-pro.s2.1-prois the new default.latency_modeaddslowfor the lowest latency.
- Cartesia:
GET /v1/voices/{voice_id}now returnsvoice_engines, the TTS providers that can voice the voice (elevenLabs,fish,cartesia).PATCH /v1/avatars/{avatar_id}acceptsis_deactivatedto deactivate or reactivate an avatar.nameis limited to 64 characters.
Bug Fixes
ElevenLabs EU data residency
- Fixed an issue where ElevenLabs API keys from EU data residency workspaces were rejected by
POST /v1/secrets.
API Changes
ElevenLabs v3 models, new default LLM, and new avatar status values
- ElevenLabs v3 voice models.
voice_settings.modelfor theelevenlabsprovider now acceptseleven_v3andeleven_v3_conversationalalongsideeleven_flash_v2_5(default) andeleven_multilingual_v2. The v3 models are the most expressive but honor onlystabilityfrom the voice settings;similarity_boost,style, anduse_speaker_boostare ignored. - Default LLM is now
gpt-5.4-nano.llm_settings.modeldefaults togpt-5.4-nanoinstead ofgpt-4o-mini.llm_settingsis no longer nullable onagent_configuration: agents stored without it resolve to the default model on read, so every agent now reports an explicit model. - Avatar status adds
DEACTIVATEDandDELETEDvalues.is_expiredis now read-only and always present.
SDK Update
JavaScript SDK v0.0.19: automatic keep-alive and voice chat config
@heygen/liveavatar-web-sdkv0.0.19 adds anautoKeepAlivesession option. Whentrue, the SDK sends a keep-alive request every 60 seconds while the session is connected and stops on disconnect. Defaults tofalse; without it, callkeepAlive()yourself.voiceChatnow takes aVoiceChatConfigobject only. The default{}starts the microphone unmuted; pass{ defaultMuted: true }for a text-only session. Passingtrueorfalseis deprecated, logs a console warning, and is mapped to the closest object form. The boolean shim is removed in 0.0.20.
API Changes
Avatar Only (LITE Mode) WebSocket events
The Avatar Only WebSocket protocol now uses the same event envelope as FULL Mode. See the updated Events reference.- Event correlation. Every server event now carries
event_idandsource_event_id. Setevent_idon the firstagent.speakchunk of an utterance and all events for that utterance (agent.speak_started,agent.speak_ended,agent.speak_interrupted, and buffer acks) return it assource_event_id. The unusedtask.idfield has been removed. - New server events.
agent.state_updatedreports avatar state transitions (idle,listening,talking). Addedagent.audio_buffer_appended,agent.audio_buffer_committed, andagent.audio_buffer_clearedacks, pluserrorandwarningevents. session.state_updatedstates are nownew,connected,disconnected.agent.speak_endaccepts an optional trailingaudiochunk.
New Features
Managed LLM selection, public voice agents, and context copying
- LLM model selection. New
llm_settingsfield onavatar_personaand on aliveavatar_agent’sagent_configurationselects the managed model (provider+model). Currently supports OpenAIgpt-4o-mini(default),gpt-4o,gpt-5-nano, andgpt-5.4-nano; omit to use the default. See Configuring LLM Settings. - New endpoint
GET /v1/llm-modelslists the managed models available per provider. - Public voice agents. All accounts now have access to a set of read-only preset voice agents. List them with
GET /v1/voice_agents?scope=public; the defaultscope=privatestill returns only your own agents. Responses now includeis_public. - Copy contexts. New endpoint
POST /v1/contexts/{context_id}/copyhard-copies a readable context into your space as a new private context. Optionalnamein the body overrides the copy’s name; default is"{original name} (Copy)". - Rate limits. Public endpoints now enforce per-caller limits (10 requests/second per API key on most endpoints; 5 requests/second per session token on
POST /v1/sessions/start,stop, andkeep-alive). Over-limit requests return429withRetry-AfterandX-RateLimit-*headers. See Rate Limits.
Bug Fixes
Connector fixes
- ElevenLabs Agent connector. Fixed an issue where the avatar kept speaking after the user interrupted. The connector now stops playback and flushes buffered audio as soon as ElevenLabs reports an interruption.
- Bring-your-own LiveKit. Fixed an issue where sessions joining your own LiveKit room occasionally produced no avatar audio. The avatar now waits for its audio and video tracks to be fully bound before streaming, and retries the connection once if binding does not complete.
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}, andDELETE /v1/voice_agents/{agent_id}. - Cartesia voice agents. A voice agent can now be backed by a Cartesia-hosted agent, using the new
cartesia_agenttype. In LITE Mode, passcartesia_agent_configonPOST /v1/sessions/tokenwith youragent_idand thesecret_idof a storedCARTESIA_API_KEY.
New Features
Cartesia TTS support
- Cartesia is now available as a voice provider. The
voice_settingsobject onavatar_personaaccepts a newCartesiaVoiceSettingsvariant (discriminated byprovider: "cartesia"), withspeed(0.6–1.5, default1.0) andmodel. - New
CartesiaModelEnum:sonic-3.5(default),sonic-3,sonic-2,sonic-turbo. SecretTypeEnum— AddedCARTESIA_API_KEYandFISH_API_KEYfor bring-your-own-key configuration viaPOST /v1/secrets.GET /v1/sessions— Session list entries (ListSessionEntrySchema,ListHistoricEntrySchema) now includeapi_key_id, identifying the API key that created the session.
Deprecation
VP8 video encoding deprecated
VideoEncodingEnum— TheVP8value is deprecated and will be removed in a future release. UseH264(the default). Sessions that still requestVP8continue to work for now, but should migrate toH264. Affects theencodingfield ofvideo_settingson session token requests.
New Features
Voice agents
Voice agents are a new primitive for defining how your avatar converses. A voice agent stores the conversational configuration (voice, context, and language) as a single resource you reference byid, instead of passing each one on every request. See Voice Agents for the full concept.- Two agent types. A
liveavatar_agentruns LiveAvatar’s managed FULL Mode pipeline (composed from a voice and a context). Anelevenlabs_agentis 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 optionalvoice_agentobject referencing a stored voice agent byid. Mutually exclusive withavatar_persona.- Per-session overrides for a
liveavatar_agent:languageanddynamic_variables, layered over the agent’s stored config for that session only. Both are rejected with a400for anelevenlabs_agent.dynamic_variablesis mutually exclusive with the top-level field, capped at 50 entries (keys ≤ 64 chars, string values ≤ 1000 chars). POST /v2/embeddings— New optionalvoice_agent_idto resolve voice and context from a stored voice agent. Mutually exclusive withvoice_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 optionalmemoryobject. Provideprev_session_idto seed or reuse memory from a prior session,session_memory_idto 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. Acceptsmemory_type(session) andsession_id.GET /v1/memory— List memories withtype,page, andpage_sizequery parameters. Each item returns amemory_content_preview.GET /v1/memory/{memory_id}— Fetch a single memory, including its rolled-upmemory_contentand the per-sessionsession_episodesthat compose it.DELETE /v1/memory/{memory_id}— Delete a memory and its episodes.- New schemas:
MemoryResponse,MemoryWithEpisodesResponse,MemoryListItemResponse,MemoryEpisodeSchema(each episode carries asession_id,sequence_num, andsummary), andMemoryTypeEnum(currentlysession).
API Changes
ElevenLabs Japanese text normalization
ElevenLabsVoiceSettings— New optionalapply_language_text_normalizationboolean (defaultfalse). Enables ElevenLabs language-specific text normalization to improve pronunciation. Currently only Japanese (ja) is supported; valid only when the session language is set toja. 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. Acceptssession_idpath parameter; authenticated via API key or bearer token.
SDK Update
JavaScript SDK v0.0.18: ElevenLabs Agent improvements
@heygen/liveavatar-web-sdkv0.0.18 — Includes a set of ElevenLabs Agent connector improvements, notably bidirectional passthrough of raw ElevenLabs Conversational AI events. Frontends can now both receive every ElevenLabs server event (viaelevenlabs_agent_event) and send raw ElevenLabs client events (viaelevenlabs_agent_command) without per-feature plumbing.
API Changes
1080p avatars, ElevenLabs voice override, and more Gemini voices
- 1080p avatars — Added support for 1080p avatars on the new payment plan.
AvatarSchemaexposes anis_1080pboolean to identify them. - Smaller session tokens — The session token JWT no longer includes sensitive fields, which also reduces its size. Sandbox Mode tokens keep these fields for testing.
- ElevenLabs voice override —
ElevenLabsAgentConfigSchemaaccepts an optionalvoice_idthat is forwarded asconversation_config_override.tts.voice_idto the ElevenLabs Agent WebSocket, overriding the agent’s default voice for the session. - Expanded Gemini Realtime voices —
GeminiVoiceEnumadds 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, and 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 newGEMINI_API_KEYsecret type. - Embed orientation —
/v2/embeddingsnow accepts anorientationfield (horizontalfor 16:9 orverticalfor 9:16). The response also returns the newembed_idfield. - Session dynamic variables — Session creation now accepts a
dynamic_variablesobject for filling${var}placeholders in the context’s opening text and prompt (max 50 entries). - New session filters —
GET /v1/sessionsnow supportsembed_idandcontext_idquery parameters. - New
AGENT_HANG_UPsession end reason — Added toSessionEndReasonEnumto indicate the agent itself terminated the call. Currently only emitted by the ElevenLabs agent.
New Features
ElevenLabs events, embed transcripts, and SDK update
- ElevenLabs agent events — underlying ElevenLabs server events are now forwarded via the
elevenlabs_agent_eventevent 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-sdkpackage with new event types and improvements
API Changes
Authentication docs and session filtering
- Authentication — Each endpoint now documents which authentication it accepts (API key or session token)
- New
avatar_idfilter on/v1/sessions— List sessions can now be filtered by an optional avatar_id query parameter
New Features
Embeds v2 and image avatars
/v2/embeddings— New endpoint for creating embeds, with Sandbox Mode support- Image avatars — Create an animated avatar from a single photo using the new validate and submit endpoints
Improvements
- Update avatar endpoint — You can now change an avatar’s default voice
- Independent avatar and voice deletion — 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 Mode —
avatar.sayandavatar.repeatevents now correctly returnsource_event_id
New Features
ElevenLabs Scribe and embed settings
- 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 and 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/languagesendpoint to clarify which languages are currently supported
API Changes
ElevenLabs integration
- The
v1/secretsendpoint 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 and 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 and 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 and optional FULL Mode context
- Introduced Sandbox Mode for testing without credit charges
- Made
contextoptional in FULL Mode configurations, reducing required setup
API Changes
Custom Mode LiveKit token and session list parameters
- Custom Mode now exposes LiveKit Agent token for developers to integrate their own agents
- Session List endpoint updated to use query parameters
New Endpoint
Transcript endpoint
- New
[GET] /v1/sessions/{session_id}/transcriptendpoint - Enables developers to retrieve transcriptions between users and avatars in FULL Mode sessions