Nodes/Symbiotica/NS Google Transcribe
ComfyUI Node

NS Google Transcribe

Cloud transcription for the words local Whisper mangles

By symbiotica-ai·Created 6 months ago·Updated about 12 hours ago· 2
NS Google Transcribe
  • video
  • transcript
languageen-US
api_key
modellatest_long
alt_languagenone

NS Google Transcribe is the cloud speech-to-text node in symbiotica-ai/comfyui-nodes, and its reason to exist is one sentence from the source: it handles casual speech, code-switching, and loanwords better than local Whisper. If you're captioning a reel where someone speaks English with Greek mixed in, or a product name that Whisper keeps mangling, Google's STT API tends to do better - which is why the pack ships both.

It takes a VIDEO, extracts the audio, and returns a TRANSCRIPT - the exact format the pack's caption nodes (NS Video Captions) consume. So the intended flow is: transcribe with this node, wire the transcript into the caption overlay, and skip the overlay's built-in Whisper entirely.

How it works

ffmpeg extracts the audio as 16kHz mono FLAC, uploads it to Google's Speech-to-Text API, and the response is parsed into word-level timestamps plus a full transcript. Because it's per-word, the captions downstream get proper timing - which is what makes word-by-word caption animation look right instead of drifting.

The inputs that matter

  • video (required) - what to transcribe.
  • language (required) - default en-US, 27 options. Set it to the primary spoken language. This is the input most people get wrong: leave it as en-US on a Greek-language video and the transcript will be aggressively wrong in a way that looks like a model failure rather than a config one.
  • model (optional) - latest_long (default, for video/podcasts) vs latest_short (quick commands). Long-form speech wants the long model; that's the default and it's right for video.
  • alt_language (optional) - a secondary language for mixed speech, e.g. en-US when Greek has English words in it. This is the code-switching input - use it when your content is bilingual.
  • api_key (optional) - paste a Google Cloud API key here, or set it once in the pack's Settings UI (search "Symbiotica") / config.ini / GOOGLE_STT_API_KEY env var. The node checks the widget first, then config, then the env var.

Install

Part of symbiotica-ai/comfyui-nodes - ComfyUI Manager search "Symbiotica", or clone + pip install -r requirements.txt. Needs ffmpeg on PATH for the audio extraction. And it's a paid cloud API: you need a Google Cloud project with Speech-to-Text enabled and billing. No key, no transcription - it raises a clear error naming the three places a key can live.

Gotchas

Cost per minute of audio, so a long VOD is not free - keep this for the content that actually needs cloud accuracy, and use the pack's NS Whisper Transcribe (local, one-time model download) for the bulk. The language input is the failure you'll hit first; when a transcript comes back as confident garbage, it's almost always the language setting. And note the output is word-timestamped TRANSCRIPT, not plain text - if you wanted a bare string you'd join the words yourself; the structured format is what the caption renderer wants.

Categoryneuralsins/Video

Inputs (5)

NameTypeDefaultDescription
videoVIDEO
languageCOMBOen-US27 options: el-GR, en-US, en-GB, es-ES, fr-FR, de-DE, +21
api_keyoptSTRINGGoogle Cloud API key (or set in config.ini / GOOGLE_STT_API_KEY env var)
modeloptCOMBOlatest_longlatest_long for video/podcast, latest_short for quick commands
alt_languageoptCOMBOnoneSecondary language for mixed speech (e.g., en-US when Greek has English words)

Outputs (1)

NameTypeDescription
transcriptTRANSCRIPT