Customise Characters
Configure avatars, voices, and agents in your experience.
Character model
Each character in an experience combines:
- Avatar — visual identity and animation rig (
avatarId) - Voice — TTS voice and settings (
voiceId) - Agent — conversational intelligence (
agentId) - STT language — speech recognition locale (
sttLang)
Inside the experience (Studio)
Characters are authored on the experience; the player receives them inside opaque launch (not a public Session field). Illustrative shape only — do not parse launch:
"characters": [{
"characterId": "char_…",
"displayName": "Sofia",
"avatarId": "ava_c4e71fe5",
"voiceId": "es-ES-ElviraNeural",
"sttLang": "es-ES",
"agentId": "agt_spanish_tutor"
}] Authoring
Create and edit characters in Experience Studio on app.liforma.ai. Published experiences expose character
fields inside opaque launch consumed by the player — not public Session fields.
Multi-character experiences
Experiences may define multiple characters on a node. Host apps can call speak({ text, characterId }) for scripted lines. On multi-Character nodes, focusCharacter(characterId) is presentation-only (tile or focused-avatar emphasis)
and a no-op when the active node has one Character. Conversational speakers come from the
engine-validated cast turn, not from host focus. Subscribe to characterFocusChanged for focus updates.