SpeechRecognition ♾️Mixlab
Talk to your workflow and get the text as a prompt
- upload
- prompt
SpeechRecognition turns spoken audio into text and drops it out as a prompt string - so you can talk to your workflow instead of typing. It's one half of the mixlab pack's voice pair (SpeechRecognition in, SpeechSynthesis out), built for the interactive, real-time direction shadowcz007 keeps pushing the pack toward: voice-driven prompting, live face-swap demos, digital-human chat loops. The pack even ships a "voice + real-time face swap" workflow that leans on it.
The honest use case is hands-free or conversational prompting. Rather than clicking into a text box and typing a prompt, you speak it, the node transcribes it, and the text flows into your CLIP encode (or an LLM node) as if you'd typed it. In a live-demo or installation context - the sort of thing this pack is really aimed at - that's a much more natural input than a keyboard.
How it works
It takes an audio input through the pack's audio widget and returns the recognized text. The start_by option lets you offset where transcription begins. What comes out is a plain STRING you treat as a prompt - there's no separate audio file to manage downstream, just the words.
Set expectations on accuracy: this is speech-to-text for prompting, not courtroom transcription. It's good enough to capture "a cyberpunk city at night, neon reflections" spoken clearly; it's not going to nail long, mumbled, or noisy input. Speak clearly, keep it short, and treat the output as a starting prompt you can still edit.
The inputs and outputs that matter
upload(AUDIOINPUTMIX) - the audio to transcribe, via the pack's audio-input widget (record or upload). Required.start_by(INT, default 0, optional) - an offset for where recognition starts.- Output
prompt(STRING) - the transcribed text. Wire it into a CLIP Text Encode, an LLM node, or a ShowText to read it back.
How to install it
Via ComfyUI Manager: search comfyui-mixlab-nodes, install, restart. Or clone the pack:
cd ComfyUI/custom_nodes
git clone https://github.com/shadowcz007/comfyui-mixlab-nodes.git
then pip install -r requirements.txt (or install.bat on the Windows portable build) and restart.
Common issues & troubleshooting
The mic won't work / no audio gets captured. This is the number-one issue with the pack's interactive audio and screen features, and it's a browser thing: microphone access requires a secure context, so ComfyUI needs to be served over HTTPS. The pack's docs are explicit about using HTTPS (https://127.0.0.1) for these features. On plain http://, or on a LAN/cloud box without HTTPS, the browser blocks the mic and this node has nothing to hear. Fix the transport before debugging anything else.
It transcribed garbage. Usually input quality: background noise, distance from the mic, or speaking too fast. Get closer, cut the noise, and keep utterances short. Also confirm you're speaking the language the recognizer expects - mismatched language settings produce nonsense.
Empty prompt output. Either nothing was recorded (see the HTTPS/mic issue) or the recording was silence. Check the audio widget actually captured something before the node ran.
It won't run on my headless / serverless ComfyUI. This node is built around a live browser session with a microphone. A fire-and-forget render backend with no interactive browser and no mic isn't the environment it's designed for - SpeechRecognition belongs in a local (or HTTPS-fronted) interactive session, not a batch job.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| upload | AUDIOINPUTMIX | — | |
| start_byopt | INT | 00–2048 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| prompt | STRING | — |