Audio To Text (mtb)
Transcribe speech with Whisper in ComfyUI
- pipeline
- audio
- STRING
- WHISPER_OUTPUT
This is the node that actually turns speech into text. You feed it a loaded Whisper pipeline and an audio clip, and it hands back a transcript - plus a structured version with timestamps for building subtitles. It's the payoff node of MTB's Whisper pair: Load Whisper sets up the model, and Audio To Text runs the transcription.
Why do this inside ComfyUI rather than a dedicated transcription tool? Because the text often needs to go somewhere else in the same graph - burned onto a video as subtitles, fed into a prompt, timed to an animation, or handed to a speaker-labeling step. Keeping it in the graph means the transcript is just another wire you can route. Judging by the search traffic, this is one of the MTB audio nodes people most actively look for.
How it works
Whisper is an encoder-decoder speech model that's genuinely robust - accents, noise, and mid-sentence language switches don't throw it the way older speech recognition did. This node runs your audio through the loaded pipeline and decodes the words, optionally tagging each chunk with the time it was spoken.
The inputs that matter
pipeline- theWHISPER_PIPELINEfrom the Load Whisper node. This is required; the transcription can't happen without a loaded model wired in here.audio- the clip to transcribe.language-auto(default) lets Whisper detect the language, or you can force one of the listed codes (en,de,es,fr,it,ja,ko,nl,pt,ru,zh). Auto usually works, but if you know the language, forcing it removes a source of error, especially on short or noisy clips where detection can guess wrong.return_timestamps(default on) - keep this on if you want subtitle timing; it tags each chunk with start/end times.
Two outputs: STRING is the plain transcript text - wire it into a text node, a subtitle burner, or a prompt. WHISPER_OUTPUT is the richer structured result carrying the timestamped segments, which is what downstream subtitle and speaker-labeling nodes want.
How to install it
ComfyUI Manager: search MTB Nodes (comfy_mtb), install, restart. Manually: cd ComfyUI/custom_nodes && git clone https://github.com/melMass/comfy_mtb, then restart. The Whisper nodes need the underlying Whisper/transformers stack - an optional MTB dependency. If the node's missing, the pack points you at http://127.0.0.1:8188/mtb to install it.
Common issues
The most common "it's broken" is a missing or unwired pipeline - this node does nothing without the Load Whisper output feeding it. Wire that first.
If accuracy is poor, the fix is upstream, not here: bump the model size in Load Whisper (tiny is fast but rough; large-v3-turbo is the accuracy sweet spot), and force the language if auto-detection is landing on the wrong one. Clean audio helps a lot - heavy background music or overlapping speakers degrade any Whisper transcription, and for the multi-speaker case you'll want to follow this with a diarization step to label who said what.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| pipeline | WHISPER_PIPELINE | — | |
| audio | AUDIO | — | |
| language | COMBO | auto | 12 options: auto, de, en, es, fr, it, +6 |
| return_timestamps | BOOLEAN | true | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| STRING | STRING | — |
| WHISPER_OUTPUT | WHISPER_OUTPUT | — |