Whisper Large V3 Repack - Transcribe File
Drop a file in ComfyUI/input, get a transcript out
- transcript
- language
- duration_seconds
- segments_json
If you just want to transcribe an audio or video file that's sitting on your disk, this is the node for it - the sibling of the pack's Transcribe Audio node, but with the file picked from a dropdown instead of pulled from the graph. Drop an .mp3, .wav, .mp4, whatever, into ComfyUI's input folder, and it shows up in the audio selector. Pick it, run, and you get the full Whisper Large V3 transcription. Same local, MIT-licensed, no-API-key story as the whole pack: it's a faster-whisper wrapper, and it exists because the popular non-commercial Whisper node can't be used in paid work.
The two nodes in this pack share almost everything - same model options, same outputs, same default settings - so the decision is really about where the audio lives. Audio already in your graph (say, the output of a TTS or an avatar node)? Use Transcribe Audio, which accepts a real AUDIO input. Files on disk you want to run through in one go? This one, and it's the lighter choice: because it reads the file path directly, it doesn't need soundfile at all, so it's the one to reach for if you're trying to dodge a dependency.
How it works: the audio dropdown is built live from your input directory, filtered to audio and video content types. Run it and the node hands the file path straight to faster-whisper - no re-encoding, no temp file. There are two small bits of engineering in the source that are worth knowing about. First, it hashes the file's contents along with your settings to decide whether to re-run - change the file on disk and it re-transcribes; leave it alone and the graph stays cached and cheap. Second, it validates the path before running and returns a friendly "Invalid audio file" message instead of a cryptic traceback when something's been moved.
The settings that matter are the same as the sibling node:
model_name-large-v3for accuracy,large-v3-turboif you want 5x speed and can live with slightly rougher output. Turbo is the right pick when you're batch-processing a bunch of files.language- empty auto-detects; a code likedeorjaskips detection. On long files the speedup from forcing a language is real.task-transcribekeeps the language,translaterenders English.word_timestamps- off by default; on for word-level timing in the JSON.
Outputs: transcript (the full text), language (detected or forced), duration_seconds, and segments_json - timestamped segments, each carrying {id, start, end, text} plus a per-word array when word timestamps are enabled. The node is an output node, so the transcript previews right on the canvas, and you can wire the transcript string onward into anything that eats text - a subtitle/SRT writer, an LLM summarizer, or a prompt text encoder. There's no built-in SRT writer here, so for subtitle output you'd feed segments_json to a JSON-processing node; it's exactly the shape an SRT builder expects.
Install - same as the whole pack, two steps because the README keeps pip separate:
cd ComfyUI/custom_nodes
git clone https://github.com/endman100/ComfyUI-WhisperLargeV3-Repack.git
pip install -r ComfyUI-WhisperLargeV3-Repack/requirements.txt
Or search "Whisper Large V3" in ComfyUI Manager and restart. First run downloads the model into ComfyUI/models/whisper-large-v3-repack, and Large V3 is a big download - a couple of minutes of "why is nothing happening" that is, in fact, the download running.
Where people get burned: mostly the same traps as any Whisper node - forgetting the pip install step (you'll get an ImportError naming it), running large-v3 in float16 on a small card (switch to int8_float16 or turbo), and the first-run model download looking like a hang. One thing that's specific to this node: the file dropdown is a snapshot of your input folder, so if you drop a new file in after the canvas is loaded, re-open the node's dropdown to refresh it. And if the transcript comes back empty, it's usually the VAD filter skipping quiet speech - flip vad_filter off and rerun.
Inputs (11)
| Name | Type | Default | Description |
|---|---|---|---|
| audio | COMBO | 1 options: | |
| model_name | COMBO | large-v3 | 2 options: large-v3, large-v3-turbo |
| device | COMBO | auto | 3 options: auto, cuda, cpu |
| compute_type | COMBO | auto | 5 options: auto, float16, int8_float16, int8, float32 |
| language | STRING | — | |
| task | COMBO | transcribe | 2 options: transcribe, translate |
| beam_size | INT | 51–16 | — |
| vad_filter | BOOLEAN | true | — |
| word_timestamps | BOOLEAN | false | — |
| initial_prompt | STRING | — | |
| temperature | FLOAT | 0.00–1 | — |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| transcript | STRING | — |
| language | STRING | — |
| duration_seconds | FLOAT | — |
| segments_json | STRING | — |