Customise Characters
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.