LLM-based real-time translator for VRChat
English | 한국어
You've been there.
Wanting to comfort a friend,
but only managing — "Are you okay?"
You already know a 'translator'
can't carry what you really meant to say.
So I built one that can.
- LLM-based Localization — Slang, colloquialisms, and casual/formal speech handled naturally.
- Context Awareness — Maintains natural conversation flow by considering context (Only in Gemini).
- Robust Input Handling — Restores meaning even with typos or truncated text.
- Personalized Translation — Define your own specific style in the Prompt Editor.
You can use it for free over 250,000 times using free credits provided upon signing up (Deepgram, Google AI Studio).
After the free credits run out, a small fee is charged per utterance.
This app uses cloud AI services. You pay directly for what you use with your own API keys.
| Status | Cost/Utterance |
|---|---|
| Using Free Credits | $0.00 |
| After Free Credits | ~$0.0015 |
- Deepgram offers $200 and Gemini offers $300 in free credits.
| Combo | Full price | Deepgram Free Credit | Gemini Free Credit | Both Free Credits |
|---|---|---|---|---|
| Deepgram + Gemini 3 Flash | ~$0.0015 | ~$0.0007 | ~$0.0008 | $0.00 |
| Soniox + Gemini 3 Flash | ~$0.0013 | - | ~$0.0006 | - |
| Qwen ASR + MT Flash | ~$0.0006 | - | - | $0.00 |
- Qwen API costs represent the Beijing region.
- Soniox charges per connection time.
- Based on: (Input 850 tokens + Output 20 tokens) x avg 1.3 LLM calls per utterance.
- Based on pricing as of Feb 8, 2026 / Fast Response mode active.
| Service | Free Credit | Duration | Note |
|---|---|---|---|
| Deepgram | $200 | None | - |
| Gemini | $300 | 90 days | Received after upgrading to paid tier |
| Qwen | 1M tokens/model | 90 days | Singapore region |
If API keys are new to you, follow the Guide.
- Download and install the latest version from the Download Page.
- Get a Deepgram API Key from Deepgram.
- Get a Gemini API Key from Google AI Studio.
- Upgrade Gemini API plan to paid tier (Highly recommended).
- The free tier has rate limits too restrictive for practical use.
- Enter and verify API keys in the PuriPuly Settings tab.
- Paste the key and press Enter or unfocus the input box.
- Select Source/Target languages on the Dashboard.
- Click STT and Trans buttons.
- Enable OSC in VRChat: Settings → OSC → Enable.
- If voice is not recognized, select the correct microphone in the PuriPuly Settings tab.
If Gemini/Deepgram/Soniox are blocked in your region:
- Get an API Key from Alibaba Cloud Model Studio (Select Beijing region for the key).
- Change providers in Settings:
- STT: Qwen ASR
- LLM: Qwen MT Flash
- Qwen Server Region: Beijing
- Enter and verify your Qwen API key (Beijing).
-
Login to the Deepgram Console.

-
Select STT (Speech-to-Text) on the service selection screen.

-
Go to Google AI Studio and click the Get API key button.

-
(Highly Recommended) Click the yellow Set Up Billing button to upgrade to the paid tier.

-
Login to Alibaba Cloud Model Studio. Make sure to select the correct Region for your API key (e.g., Beijing).

-
Login to Soniox Console.

-
Soniox requires prepaid credits. Once added, go to the API Keys menu.

-
Voice recognition is poor → Try using Soniox as an alternative. It is especially recommended for Korean speakers.
-
I don't like the translation style → You can define your own style directly in Settings → Prompt Editor.
-
What is Fast Response mode? → It starts translating before your sentence is finished to reduce latency. Switching to Stable mode can verify the full sentence first, potentially saving costs slightly.
-
Spacing or punctuation in voice recognition looks weird → That's fine. LLMs are robust to such noise and handle translation well regardless.
-
Can I use my Gemini subscription instead of an API key? → No. Gemini subscription and API are separate services.
-
Voice text appears but no translation follows. → Did you upgrade your Gemini API to the paid tier? The free tier is limited to 15 requests per minute. Heavy usage can lead to temporary blocks. We recommend using the paid tier.
python -m venv .venv
.venv\Scripts\activate # Windows# pip
pip install -e '.[dev]'
# or uv
uv sync --devpre-commit install# After activating venv
python -m puripuly_heart.main run-gui
# or using uv run directly
uv run python -m puripuly_heart.main run-guiblack src tests # Format
ruff check src tests # Lint
python -m pytest # Test (recommended within venv).venv\Scripts\pyinstaller build.spec # Executable
ISCC installer.iss # InstallerThird-party licenses: THIRD_PARTY_NOTICES.txt

















