SpeechRecognition @Liam
The node that doesn't actually transcribe audio
- upload
- prompt
I'll save you the download: this node doesn't recognize speech. Read the source and the whole thing becomes clear - its run() method simply returns its input as its output. The required input is called upload, a custom audio type called AUDIOINPUTMIX, and the single output is named prompt... but the value passed through is the audio object itself, not a transcription. There's no Whisper, no speech-to-text model, no audio processing at all. It's a pass-through stub wearing a very ambitious name.
How do I know? The pack source is small, and the relevant function is five lines: build the input spec, then return {"ui": {"start_by": [start_by]}, "result": (upload,)}. The result tuple - which becomes the prompt output - is literally upload. Whatever audio value goes in is exactly what comes out, relabeled. If you hooked this up expecting a text prompt you could feed to an LLM node, you'd get the audio object back instead, and any downstream STRING consumer would choke on it.
The one input that isn't a lie
upload- theAUDIOINPUTMIXinput. This is a custom data type, not a core ComfyUI type, which strongly suggests the author built this to interoperate with another pack's audio nodes (the Mixlab family is the usual source of custom audio plumbing in ComfyUI). If you don't have a node that producesAUDIOINPUTMIX, you can't even wire this up.start_by(optional) - an INT from 0 to 2048, default 0. It's displayed on the node's UI widget when the node runs, and nothing else. It doesn't control anything.
Output: prompt, typed as STRING but carrying the unmodified audio value.
Installing it
It's in LiamUtil:
cd ComfyUI/custom_nodes
git clone https://github.com/ai-liam/comfyui-liam
pip install -r requirements.txt
or ComfyUI Manager → search LiamUtil → install → restart. Dependency-wise it needs nothing beyond the pack's shared opencv-python.
Where people get burned
The trap is trusting the name - and it's a good reminder of a ComfyUI habit worth building: for a node this obscure, skim the source before you build a workflow on it (the pack is a few hundred lines total). If you genuinely need speech-to-text in ComfyUI, real options exist - Whisper-based transcription nodes are a well-established genre. What you shouldn't do is install this pack expecting one. Treat this node as glue between custom audio-typed nodes in the author's own pipelines, and if you don't have that audio ecosystem, skip it entirely. It's a stub, and knowing that up front saves you an afternoon of "why is my prompt not a string."
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| upload | AUDIOINPUTMIX | — | |
| start_byopt | INT | 00–2048 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| prompt | STRING | — |