Skip to content

GeminiVRM v0.3.0 Runtime And Benchmark Guide

GeminiVRM v0.3.0 release header

What Changes For You

  • Character chat and podcast mode now target gemini-3.1-flash-live-preview directly, so runtime errors point at the real Gemini Live request path instead of an automatic fallback model.
  • v0.3.0 is also the release that introduced the streaming podcast relay path itself: the app can now prewarm the next speaker turn and stream the current speaker's live audio into it.
  • That streaming relay path is why the tracked benchmark snapshot now shows much lower first-audio and handoff latency than the batch relay path: first audio is about 8.94x faster and handoff silence is about 5.18x shorter on the checked-in run set.
  • The repository now includes a repeatable benchmark/report pipeline that writes raw artifacts outside the watched workspace and publishes stable docs assets for the latest snapshot.
  1. Keep the live model on gemini-3.1-flash-live-preview unless you are intentionally testing another Gemini Live surface.
  2. Use Character chat for single-avatar replies and Podcast mode when you want Yukito and Kiyoka to alternate a capped number of turns.
  3. If a relay run fails, inspect the surfaced Gemini Live error first. GeminiVRM no longer hides that failure behind an older-model retry path.
  4. Treat Settings radio groups and chat labels as the quickest way to confirm the active mode, current loop cap, and whether messages came from podcast, YouTube, system, or direct chat input.

Benchmark Workflow

Use this flow when you want to validate or regenerate the checked-in podcast latency snapshot:

  1. Start the app locally and ensure a Gemini API key is available to Playwright.
  2. Run npm run e2e:podcast for a direct relay smoke pass.
  3. Run npm run bench:podcast-relay for the repeatable benchmark set.
  4. Run npm run report:podcast-benchmark to rebuild the bilingual SVG/PNG charts plus the JSON/CSV history.
  5. Run node scripts/verify-podcast-benchmark-layout.mjs --input docs/public/benchmarks/podcast-benchmark-en.svg and the same command for podcast-benchmark-ja.svg.

For non-ASCII topics, use npm run bench:podcast:topic -- <topic-file>. If you override the artifact directory, keep E2E_BENCH_OUTPUT_DIR outside the repository so next dev does not reload mid-run.

Current Snapshot

  • Topics: Today's Meal, AGI, AI Consciousness
  • Turn count: 6
  • Repetitions: 3 per mode
  • Streaming first audio mean: 1.22s
  • Batch first audio mean: 10.91s
  • Streaming handoff mean: 2.30s
  • Batch handoff mean: 11.91s
  • First-audio improvement: about 8.94x faster (88.9% lower latency)
  • Handoff improvement: about 5.18x shorter silence (80.7% lower latency)

See the Podcast Benchmark Report for the full table, tracked fields, and caveats.

Read The Full Release Notes

Validation Before Sharing

  • npm run lint
  • npm run build
  • npm run docs:build
  • $env:BASE_PATH='/GeminiVRM'; npm run build:pages
  • npm run e2e:smoke
  • npm run e2e:podcast
  • node scripts/verify-podcast-benchmark-layout.mjs --input docs/public/benchmarks/podcast-benchmark-en.svg
  • node scripts/verify-podcast-benchmark-layout.mjs --input docs/public/benchmarks/podcast-benchmark-ja.svg
  • powershell -ExecutionPolicy Bypass -File D:\Prj\gh-release-notes-skill\scripts\verify-svg-assets.ps1 -RepoPath . -Path public/favicon.svg,docs/public/releases/release-header-v0.3.0.svg
  • npm run verify:release-header-layout -- --input docs/public/releases/release-header-v0.3.0.svg
  • powershell -ExecutionPolicy Bypass -File D:\Prj\gh-release-notes-skill\scripts\verify-release-qa-inventory.ps1 -RepoPath . -Tag v0.3.0