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.