๐ธ OVERTLI Pollinations Speech to Text
Transcribe audio into the graph, down to SRT if you want captions
- audio
- transcript
GZ_SpeechToText is the Overtli Studio Suite's listening node, and it's the one that makes the suite feel like a loop rather than a bunch of one-way pipes. Feed it an AUDIO clip and it sends the audio to Pollinations' transcription API, returning what was said as a STRING - or, if you ask nicely, as srt or vtt subtitles you can attach straight to a video. In a suite built mostly around writing prompts, this is the node that reads the room (literally) and hands text back.
It's also the natural partner to the pack's own GZ_TextToSpeech: speak a draft, transcribe it back, feed the transcript into an enhancer - suddenly you have a full speech-to-prompt round trip that never left ComfyUI. For captioning an existing video or turning a voice memo into prompt material, it's the same idea in one node.
How it works
The node takes an AUDIO input - and it's required in practice, even though it sits in the optional slot. The README's troubleshooting section leads with this exact mistake: "GZ_SpeechToText requires an AUDIO input connection to function." There's no "upload a file" button; you need an audio tensor in your graph from a load-audio node or a generation node like the pack's TTS. Feed it in, pick a transcription-capable model from the live catalog (43+ entries tagged [stt]; the default is a free Gemini STT entry), and run.
mode_preset is where this gets interesting - the transcription doesn't have to come back raw. Presets like Clean Transcript (readability cleanup while preserving meaning), Punctuation and Casing, and Structured Notes (concise key points and actions) post-process the raw transcription, and stt_style_preset adds delivery-aware shaping (Verbatim Accuracy, Meeting Notes, Podcast Chaptersโฆ). That's genuinely useful: raw STT output is wall-of-words; these turn it into something you can wire into a prompt.
Inputs that matter
audio- the clip to transcribe. The critical one.model- STT-capable model from the catalog. If the default refuses or errors,[free]entries vary in language coverage.response_format-text(default),json,verbose_json,srt, orvtt. Picksrt/vttfor captions.mode_presetandstt_style_preset- the cleanup/structuring layer.input_language- defaults toauto; pin it (en,es,jaโฆ) if auto-detection fumbles a strong accent or mixed speech.promptandcustom_instructions- a priming prompt can nudge the model toward domain vocabulary.temperature- default 0.5; lower it for verbatim, higher for looser cleanup.api_key- optional on the free tier.
Output
One transcript STRING. In srt/vtt mode that string is the subtitle file content - write it to a file or wire it into a captioning workflow. In plain text mode it feeds any text input, including the pack's enhancer nodes.
Install and gotchas
Same pack install: search "Overtli" in ComfyUI Manager, or clone into custom_nodes + pip install -r requirements.txt, restart. Nothing heavy to download - the audio goes up to the provider, the transcript comes back.
Where people trip: the missing-AUDIO-input error above is the #1 footgun, so check your wiring before suspecting the node. Beyond that, the usual hosted-service realities apply - free-tier transcription can be slow on long clips and accuracy is model-dependent, so a clip with heavy background music or overlapping speakers is where you'll want to pin input_language and maybe reach for a [paid] model. And everything you transcribe leaves the machine, so don't send anything you need kept private through a free cloud STT route.
Inputs (11)
| Name | Type | Default | Description |
|---|---|---|---|
| model | COMBO | google/gemini-3.8-flash [stt] [free] [tools] | 43 options: google/gemini-3.8-flash [stt] [free] [tools], thinkingmachines/inkling [stt] [free] [tools], inkling [stt] [free] [tools], gemini [stt] [free] [tools], gemini-flash-lite-3.5 [stt] [free] [tools], openai-audio-large [stt] [free] [tools], +37 |
| mode_preset | COMBO | Off | 4 options: Off, ๐งพ Clean Transcript, ๐งพ Punctuation and Casing, ๐งพ Structured Notes |
| response_format | COMBO | text | 5 options: json, text, srt, verbose_json, vtt |
| audioopt | AUDIO | โ | |
| input_languageopt | COMBO | auto | 101 options: auto, en, zh, de, es, ru, +95 |
| promptopt | STRING | โ | |
| custom_instructionsopt | STRING | โ | |
| stt_style_presetopt | COMBO | Off | 10 options: Off, Verbatim Accuracy, Readable Transcript, Meeting Notes, Legal Deposition, Lecture Digest, +4 |
| temperatureopt | FLOAT | 0.500โ2 | โ |
| api_keyopt | STRING | โ | |
| persist_api_keyopt | BOOLEAN | false | โ |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| transcript | STRING | โ |