Mega-ASR Transcribe File
No AUDIO socket in your graph? Feed Mega-ASR a file path instead
- model
- text
- raw_response
- route
- quality_prob
- detected_language
The sibling of Mega-ASR Transcribe Audio that takes a file path instead of a ComfyUI AUDIO socket. Same transcription engine, same outputs, one key difference: instead of converting an audio tensor to a temporary wav, you hand it a path to an audio file on disk and it reads that directly. No temp file is created.
When to reach for it
Honestly, most people use the AUDIO version because they're transcribing something already inside a workflow. This one's for when that's not the shape of your problem:
- You have a pile of audio files on disk - interviews, lectures, call recordings - and you're building a batch workflow that walks through them.
- The file lives somewhere outside ComfyUI's input folder, or you generated it with a script and don't want to reload it through ComfyUI's own loader.
- You want the backend's built-in long-audio handling to shine. Files over about 30 seconds get auto-split into wav segments, transcribed in order, and stitched back together - and because it reads from disk with soundfile, it never has to route a giant tensor through the graph first.
The catch: it's a plain string input, so there's no file browser. You type the path. It expands ~ and errors with FileNotFoundError if the path doesn't exist, so double-check the path before you blame the node.
Inputs and outputs
Inputs are model (from the Mega-ASR Loader - same deal as the other transcription node, no way around it), audio_path, and language with the same 15-option dropdown. Leave language on auto; the model itself supports 30 languages and 22 Chinese dialects, but the dropdown only surfaces a subset, so letting it auto-detect sidesteps that entirely. The optional transcribe_kwargs_json passes extra kwargs straight to Qwen3-ASR's transcribe; keep it {} unless you're chasing something specific.
Outputs: text, raw_response (the full JSON payload with route, per-segment timestamps, and raw model result), route (mega_lora, base, or mixed - mixed happens when different segments of a long file took different paths), quality_prob (the router's degraded-audio probability, −1 when not routed), and detected_language. Note the one thing it does not have: no temp_audio_path output, because no temporary wav exists. If you need that, you want the AUDIO version.
Install and setup
It ships in the same pack, so install is identical - ComfyUI Manager (search "Mega-ASR") or git clone https://github.com/starsFriday/ComfyUI-Mega-ASR.git into custom_nodes, install requirements.txt into ComfyUI's Python environment, download zhifeixie/Mega-ASR into ComfyUI/models/Mega-ASR, restart. If the loader won't start, run Mega-ASR Environment Status - it'll name the missing model file or dependency before you go poking at the loader's routing settings.
It's the workhorse variant rather than the flashy one, and that's fine. When you need to burn through a folder of recordings without dragging them through the graph one at a time, this is the node that doesn't get in your way.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MEGA_ASR_MODEL | — | |
| audio_path | STRING | — | |
| language | COMBO | auto | 15 options: auto, Chinese, English, Cantonese, Japanese, Korean, +9 |
| transcribe_kwargs_jsonopt | STRING | {} | — |
Outputs (5)
| Name | Type | Description |
|---|---|---|
| text | STRING | — |
| raw_response | STRING | — |
| route | STRING | — |
| quality_prob | FLOAT | — |
| detected_language | STRING | — |