Qwen3-ASR Transcribe
Qwen3-ASR transcription that runs entirely on your GPU
- model
- audio
- text
- language
- timestamps
This is the node you actually came for: feed it audio, get text. Qwen3-ASR Transcribe is where the speech recognition model - the 1.7B or 0.6B one you loaded with the pack's loader - turns a waveform into a string, with automatic language detection. No API, no key, no cloud round-trip. It all runs on your GPU, which is the entire point of a local ASR node over a hosted transcription service.
What it does
Wire three things in:
model- theQWEN3ASR_MODELoutput from Qwen3-ASR Loader.audio- any ComfyUIAUDIOoutput. CoreLoadAudioworks, as does anything else producing the AUDIO type.language(optional, default Auto) - a dropdown of 30 languages plus Auto. Leave it on Auto unless the model keeps guessing wrong; forcing a language helps with code-switching and heavy accents.
Two STRINGs come out: text (the transcription) and language (what the model actually detected). Both are plain text, so they'll wire straight into a ShowText node, a file saver, or anything downstream that eats a string.
How it works
Under the hood, the node takes the ComfyUI audio dict (waveform tensor plus sample rate), drops it to CPU, averages multi-channel audio down to mono, and hands a float32 numpy array to the model's transcribe(). With Auto, the model does language detection itself; otherwise your picked language is passed in. The model is configured with a 512-token new-token cap and a batch size of 32, which is why it chews through normal clips fast - the community demo of a 10-minute file finishing in about a minute on a free Colab GPU gives you a sense of the pace.
Two README claims are worth repeating before you lean on them: ASR supports 52 languages/dialects and clips up to 20 minutes, with longer audio auto-chunked and merged. Note the dropdown only exposes 30 of those languages plus Auto - detection handles the rest, and Auto is where the model is strongest anyway.
Installing
Same as the rest of the pack - it's one of four nodes in the SynVow repo:
cd ComfyUI/custom_nodes
git clone https://github.com/shumoLR/Comfyui_SynVow_Qwen3ASR
cd Comfyui_SynVow_Qwen3ASR
pip install -r requirements.txt
or search "Comfyui_SynVow_Qwen3ASR" in ComfyUI Manager and restart. The first transcription will kick off the model download if the loader hasn't already.
Common issues
- Nothing happens. Make sure whatever feeds
audiois genuinely a ComfyUIAUDIOoutput - a file path string won't do. - Wrong language out of Auto. Set the
languagedropdown explicitly; that usually fixes it. - GPU-only, remember. Same bf16 /
cuda:0hardcoding as the loader - no CPU mode.
Treat the transcription like any model output: check it, don't blindly trust it. And if you need word-level timing - subtitles, karaoke, lip-sync prep - take this same audio and text into the pack's Qwen3 Forced Align node next.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| model | QWEN3_ASR_MODEL | — | |
| audio | AUDIO | — | |
| languageopt | COMBO | auto | 31 options: auto, Chinese, English, Cantonese, Arabic, German, +25 |
| contextopt | STRING | — | |
| return_timestampsopt | BOOLEAN | false | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| text | STRING | — |
| language | STRING | — |
| timestamps | STRING | — |