Reference

clientConfiguration fields (per-session agent config)

← Back to Wire Protocol

These flags shape runtime behavior:

Field Value Meaning
languageCode "en" conversation language
interruptionsEnabled true barge-in allowed (user can talk over the avatar)
isTapToTalk false push-to-talk vs open-mic. A fixed, per-agent config choice, not a live per-session toggle. Exposed read-only via KalturaAvatarSession#capabilities.tapToTalk, and gates startTapToTalk()/endTapToTalk() client-side (see the tapToTalkStart/tapToTalkEnd row in the events catalog for why mixing modes is unsafe)
showTranscription false surface live captions in UI
isWebSearchEnabled false gates real web-search tools (→ tool/tool_response deltas). When false, the agent can still say it will "look that up" but no tool segment fires — the search doesn't happen.
isScreenShareEnabled / isCameraAnalysisEnabled false screen-share / camera-vision features
audioMode / phoneMode false audio-only / telephony modes
pauseConversationEnabled false can pause the conversation
shouldAggregateCurrentTurn false turn-aggregation behavior
forwardLoopMode / imaginativeAiMode false server-side conversation modes
initialHtml, youtubeUrl, visualPhotos[], visualVideos[] empty initial GenUI content the agent ships with
agentPersonaName, userName null display names
configuration, nluFeatures {} extension buckets

Structured experiences (force_experience + unisphere-tool)

Scope: the structured-experience behavior below applies to the HTTP /assistant/converse path (headless/text integrations). The avatar runtime does not use it. A live avatar session always runs as force_experience: 'avatar_only' and model_type: 'fast' regardless of what's configured, so it never emits flashcards/summarization widgets. Use the HTTP converse path (or a custom client) to drive structured experiences.

force_experience on converse (e.g. "flashcards") is a hint, not a guarantee. The brain decides which structured widget(s) to emit based on the prompt and the intellect (the agent's brain configuration — its prompts, tools, and capabilities). Each comes back as unisphere-tool segments. The first carries metadata:{ widgetName, runtimeName }, then the content streams as a YAML-ish block (e.g. title: / questions:). For example:

Doc Covers
Wire Protocol · Events Catalog The join/clientConfiguration events these fields ride on
Wire Protocol Back to the index
Click to talk with Nova — she knows this whole SDK.
Nova AI assistant — knows this whole site

Reloading starts a fresh chat. “New conversation” does the same without leaving the drawer.