Usage Guide
Character Chat Flow
- Start the app and provide a Gemini API key.
- Keep the bundled
Kiyoka.vrmavatar or load your own.vrmfile. - Send a text prompt or use the microphone input.
- Read the partial transcript while audio streams in.
- Let the viewer finish playback before sending the next prompt if you want the cleanest lip sync.
Podcast Mode
Use this flow when you want Yukito and Kiyoka to alternate short Gemini Live turns from one topic:
- Open
Settingsand switchConversation modetoPodcast mode. - Wait until both podcast viewers are ready.
- Open
Podcast settingsif you want to change the max loop count or route different prebuilt voices to Yukito and Kiyoka. - Enter one topic in the composer. The placeholder changes to
Type a podcast topic. - GeminiVRM starts a capped alternating conversation and stops automatically when the configured turn count is reached.
Important notes:
- podcast mode is a turn-based back-and-forth, not simultaneous duet playback
- later turns relay the previous speaker's audio into Gemini Live when possible
- if a prepared relay path fails, GeminiVRM now stops on the exact Gemini Live error instead of silently switching to transcript-driven continuation or an older model
Settings You Can Tune
- conversation mode (
Character chatorPodcast mode) - live model
- single-chat voice preset or custom voice name
- system prompt
- podcast turn cap (
2..12) - podcast-only Yukito / Kiyoka voice routing
- idle motion preset
- chat history reset
- local VRM file input
- optional
Streamingentry that opens the YouTube relay page
Motion And Viewer Runtime
Random Idlerotates through bundled Mixamo idle clips- talking motion swaps in automatically while audio is playing
- camera framing is preserved between sessions for the main viewer
Optional YouTube Live Relay
Use this flow when you want YouTube live chat comments to enter the existing Gemini chat pipeline:
- Open
Settings->Streaming->YouTube relay. - Sign in with Google and refresh the broadcast list.
- Pick the active or upcoming broadcast that should feed the relay.
- Turn on the relay listener, then enable auto-reply if you want Gemini to answer incoming comments automatically.
- Stream this app window through YouTube Live Control Room or OBS while the relay page stays available from Settings.
Important notes:
- only new comments received after relay starts are forwarded into Gemini
- comments posted by the stream owner's own account are ignored to prevent reply loops
- the saved Google client ID and short-lived access token are restored from local storage until sign-out or token expiry
- relay is inbound-only; GeminiVRM does not post replies back into YouTube chat
See the YouTube Relay Guide for prerequisites, step-by-step setup, and failure cases.
Docs Shortcut
The app exposes a Docs shortcut in the top-right action area.
- local
dev:allbuilds send that shortcut to the local docs server - GitHub Pages builds send it to
/<repo>/docs/
What To Watch During Testing
- transcript updates appear before the full turn completes
- audio starts without chunk or Gemini Live request errors
- mouth movement remains synchronized with audio playback
- podcast mode waits for both viewers and stops at the configured turn cap
- switching voice, motion, or conversation mode does not break the next run