Nodes/comfyui-whisper-large-v3-repack/Whisper Large V3 Repack - Transcribe File
ComfyUI Node

Whisper Large V3 Repack - Transcribe File

Drop a file in ComfyUI/input, get a transcript out

By endman100·Created 2 months ago·Updated 21 days ago· 1
Whisper Large V3 Repack - Transcribe File
    • transcript
    • language
    • duration_seconds
    • segments_json
    audio
    model_namelarge-v3
    deviceauto
    compute_typeauto
    language
    tasktranscribe
    beam_size5
    vad_filtertrue
    word_timestampsfalse
    initial_prompt
    temperature0.0

    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-v3 for accuracy, large-v3-turbo if 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 like de or ja skips detection. On long files the speedup from forcing a language is real.
    • task - transcribe keeps the language, translate renders 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.

    Categoryaudio/whisper

    Inputs (11)

    NameTypeDefaultDescription
    audioCOMBO1 options:
    model_nameCOMBOlarge-v32 options: large-v3, large-v3-turbo
    deviceCOMBOauto3 options: auto, cuda, cpu
    compute_typeCOMBOauto5 options: auto, float16, int8_float16, int8, float32
    languageSTRING
    taskCOMBOtranscribe2 options: transcribe, translate
    beam_sizeINT51–16
    vad_filterBOOLEANtrue
    word_timestampsBOOLEANfalse
    initial_promptSTRING
    temperatureFLOAT0.00–1

    Outputs (4)

    NameTypeDescription
    transcriptSTRING
    languageSTRING
    duration_secondsFLOAT
    segments_jsonSTRING