Nodes/comfyui-supavoice-transcriber/SupaVoice Gemini/OpenRouter Transcriber
ComfyUI Node

SupaVoice Gemini/OpenRouter Transcriber

Gemini transcription through OpenRouter, at a price

By mexxmillion·Created 4 months ago·Updated 4 months ago· 0
SupaVoice Gemini/OpenRouter Transcriber
  • audio
  • transcript
  • txt_path
  • json_path
openrouter_modelgoogle/gemini-2.5-pro
output_prefixsupavoice_label
env_pathE:\git\SupaVoice\.env

Here's the honest truth about the SupaVoice pack: for Burmese, the author expects the cloud path to beat everything local. The SupaVoice Gemini/OpenRouter Transcriber sends your audio to a Gemini model through OpenRouter and gets back a transcript. It's the only node in the pack that calls an API, needs a key, and costs you money per clip. Use it as the accuracy pass for difficult Burmese audio - not as your daily transcription driver, because the Local Whisper node does that for free.

How it works

The node writes your AUDIO to a temp WAV, base64-encodes it, and POSTs it to OpenRouter's chat/completions endpoint with an input_audio content part. The prompt is tailored for this job: transcribe for TTS/voice-clone labeling, return accurate Burmese script if it's Myanmar audio, and only the transcript - no markdown, no translation. Temperature is pinned to 0.0 for deterministic output, and there's a 180-second timeout, so a short clip is fast but a long one can time out.

Inputs: audio, openrouter_model (google/gemini-2.5-pro default, the cheaper google/gemini-2.5-flash, or google/gemini-3.1-pro-preview), output_prefix, and env_path. Outputs: transcript, txt_path, json_path - same contract as the other transcribers, so you can swap it in without rewiring anything.

The key, and the Windows-shaped gotcha

The node reads your API key from a .env file, accepting OPENROUTER_API_KEY, OPEN_ROUTER, or OPENROUTER. Create one anywhere and point env_path at it:

echo "OPENROUTER_API_KEY=sk-or-..." > /path/to/your/.env

Set env_path to that file and it'll work on any OS. Worth knowing: the code also unconditionally tries to load the author's hardcoded E:\git\SupaVoice\.env as a fallback - harmless if that path doesn't exist, just don't be confused by it.

Installing it

cd ComfyUI/custom_nodes
git clone https://github.com/mexxmillion/ComfyUI-SupaVoice-Transcriber

Restart ComfyUI. No model downloads - the model lives in Google's cloud. The install is the easiest in the pack; the cost is the cost. Also remember OpenRouter can throttle or rate-limit burst transcription of a long dataset, so batch with care. And honestly, for Burmese the README's own stance is: try the chuuhtetnaing fine-tunes locally first, and only reach for Gemini when those stumble - it'll save you money on the clips that were fine anyway.

CategorySupaVoice/audio

Inputs (4)

NameTypeDefaultDescription
audioAUDIO
openrouter_modelCOMBOgoogle/gemini-2.5-pro3 options: google/gemini-2.5-pro, google/gemini-2.5-flash, google/gemini-3.1-pro-preview
output_prefixSTRINGsupavoice_label
env_pathSTRINGE:\git\SupaVoice\.env

Outputs (3)

NameTypeDescription
transcriptSTRING
txt_pathSTRING
json_pathSTRING