Skip to content

Live2D Getting Started

AnySoul’s Live2D workflow now has two editing surfaces:

  • Live2D Settings for import, baseline tuning, lip sync, and quick access
  • Full Editor for the real authoring flow: Clips, Rules, Base Behaviors, Sequence Tester, Timeline, and Graph Editor

This guide follows the current workflow and playback model used by the app today.

AnySoul does not drive Live2D from webcam tracking. Instead, your agent runtime produces structured state such as:

  • emotion
  • action
  • tool_call
  • thinking
  • optional text matches

Live2D playback translates that state into:

  • reusable clips
  • scheduled base behaviors
  • matched rules
  • lip sync and virtual focus output

Use the settings panel when you want to:

  • upload or replace the model ZIP
  • tune the neutral pose in Parameters
  • configure lip sync targets
  • preview model-authored motions / expressions / parts
  • launch the Full Editor

/live2d-editor/:agentId is the recommended place for day-to-day authoring. It has four tabs:

  • Model
  • Parameters
  • Clips
  • Rules

And it exposes the tools that matter for current authoring:

  • timeline + graph editor
  • inspector
  • clip templates
  • expression / motion import
  • sequence tester
  • base behaviors
  • preview-base switching (Baseline, Idle Base, Active Base)

It helps to think of playback as a stack:

  1. The model restores its authored neutral pose from the Parameters tab.
  2. Optional background sources can still participate, such as the selected legacy idle motion.
  3. Exactly one base-behavior scope is active at a time: idle or active.
  4. All currently matching rules overlay on top of that base scope.
  5. For any shared parameter, writes are resolved by priority tier.
  6. Inside one priority tier, Multiply and Add are evaluated before Override.
  7. A higher-tier Override with full weight can completely suppress lower-tier motion on that parameter.
  8. Lip sync and virtual focus are dispatched after the animation stack is resolved.

Open Live2D SettingsModel and upload a ZIP containing:

my-model.zip
├── model.model3.json
├── textures/
├── motions/
└── expressions/

After import you can also:

  • enable or disable Mouse Tracking
  • calibrate Standing Framing
  • temporarily toggle Base Behaviors in the editor preview

Open Parameters and set the model’s baseline:

  • eye openness
  • mouth shape
  • head angle
  • body angle
  • any other authored neutral pose values

This baseline is what the editor and runtime return toward when clips release.

The same tab is also where you:

  • configure Lip Sync Mapping
  • preview bundled Motions
  • preview bundled Expressions
  • show / hide Parts

3. Configure Lip Sync Before Authoring Speech Clips

Section titled “3. Configure Lip Sync Before Authoring Speech Clips”

The current lip sync tooling supports three target modes:

  • Use model defaults
  • Use one custom parameter
  • Use advanced custom targets

You can validate it with:

  • live microphone input
  • uploaded audio playback
  • recorded test audio

For most models, get lip sync right first, then build speaking clips around it.

In Clips, create reusable animation assets in one of four ways:

  1. Add Clip for manual authoring
  2. Create From Expression to turn .exp3.json presets into editable clips
  3. Import Motion As Clip to convert .motion3.json into editable tracks
  4. Template for common starting points such as:
    • Virtual Focus
    • Body Sway + Breathing

Each clip can contain:

  • parameter tracks
  • keyframes
  • per-track blend modes
  • per-track modifiers
  • playback mode (one-shot, loop, repeat)
  • end behavior / release settings

In Rules, you author two different systems:

Rules define when clips should play. Current condition types include:

  • emotion
  • action
  • tool call
  • text
  • thinking
  • idle

All matching rules fire together. This is all-match, not first-match-wins.

Base behaviors are long-lived schedulers for background playback. They are scoped to either:

  • Idle Base
  • Active Base

Use them for breathing, gaze wander, idle sway, and other always-on layers.

They also support:

  • playlist modes
  • scope transitions
  • handoff transitions
  • optional participation from the selected legacy idle motion

Use the Sequence Tester in the Rules tab to simulate realistic runtime steps such as:

  • emotion changes
  • actions
  • tool calls
  • text input
  • thinking state
  • explicit idle steps

The tester drives the same playback arbitration path used by the runtime and shows:

  • current state
  • current base scope
  • rule overlay status
  • matched rules and matched base behaviors

In the timeline / inspector, switch Preview Base between:

  • Baseline
  • Idle Base
  • Active Base

This is the fastest way to answer, “What does this clip look like by itself?” versus “What does it look like on top of the real base layer?“

After authoring:

  1. run a real chat turn in /space
  2. watch the avatar react to emotion / action / tool usage
  3. if you use the desktop app, verify the same setup in Desktop Pet

The same clip/rule/base-behavior configuration is reused across the supported surfaces.