Nodes/comfyui_nemotron_asr/Nemotron ASR Transcribe (File)
ComfyUI Node

Nemotron ASR Transcribe (File)

Skip the loader, just type a path

By Rakeshcool·Created a day ago·Updated a day ago· 0
Nemotron ASR Transcribe (File)
    • transcription
    file_path
    server_urlhttp://127.0.0.1:8080
    model
    languageEnglish (en-US)
    prompt
    resample_to0
    monotrue

    This is the twin of Nemotron ASR Transcribe with one change: instead of an AUDIO socket, you type a path. That sounds like a downgrade until you need it, and then it's the node you're glad exists.

    Why you'd reach for it

    Three real uses, in the order you'll hit them.

    First: smoke-testing the server. You've installed the pack, started NeMo-Speech.cpp, and you don't know whether the failure you're about to have is the node's fault or the server's. Drop this node, paste a wav, queue. If text comes back, everything upstream of your workflow is fine and you can go debug the thing that's actually broken. That's a lot better than wiring Load Audio → Transcribe and guessing.

    Second: transcribing things that aren't in ComfyUI's input folder. The regular Transcribe node wants an AUDIO tensor, which means the file has to get into ComfyUI's audio pipeline first. This one reads wherever you point it - your Downloads folder, a scratch render directory, a network share the ComfyUI process can see.

    Third: video files. The decoder is PyAV, so .mp4, .mkv and friends work. If you're captioning a clip you just rendered, this node eats the mp4 directly. No extraction step, no ffmpeg command line.

    How it works

    It requires only one input you must fill: file_path. From there it's the same path the other node takes - the file gets decoded through PyAV, converted to 16-bit mono WAV in memory (with mono mixing down and optional resample_to), and POSTed as multipart form data to /v1/audio/transcriptions on your NeMo-Speech.cpp server. model, language, and prompt behave exactly as they do on the sibling node.

    The lead/trailing quotes get stripped from the path, which is a small kindness you'll appreciate the first time you paste a Windows path out of Explorer. Empty path gives you a clear error instead of a stack trace.

    resample_to = 0 keeps the original sample rate. For anything long, set 16000: the upload shrinks and you match what the model expects. mono defaults on, and should stay on - there is no reason to ship two channels to a speech model.

    Install

    Same pack, same install. This node is one of the five in comfyui_nemotron_asr, so if you have Transcribe you already have it. Manager: search comfyui_nemotron_asr. Manual:

    cd ComfyUI/custom_nodes
    git clone https://github.com/Rakeshcool/comfyui_nemotron_asr
    

    Restart ComfyUI, and remember the ASR server has to already be running - this pack is a client and starts nothing for you. No extra pip packages for this one; PyAV ships with ComfyUI's portable build.

    Gotchas that are real

    Permissions, not paths, are the usual failure. The ComfyUI server process has to be able to read that file. A mapped drive that exists for your user but not for the service, or a file locked by another app, gives you an error that looks like a typo. Check the path in a shell running as the same user ComfyUI runs as.

    "File not found" on a path that clearly exists is almost always quoting or a UNC path the process can't resolve. Try a plain local path first to isolate it.

    It's a text out, not an AUDIO out. The node decodes the file to feed the server; it does not hand you a waveform. If you want the audio itself in the graph, use Load Audio → Transcribe instead.

    One file per queue. There's no folder-walk or batch list here - you get the file you named. Batch-queueing is your loop.

    Categoryaudio

    Inputs (7)

    NameTypeDefaultDescription
    file_pathSTRINGPath to a .wav/.mp3/.flac/.m4a/... file.
    server_urlSTRINGhttp://127.0.0.1:8080Base URL of the ASR server.
    modelSTRINGModel id; empty = auto-detect.
    languageCOMBOEnglish (en-US)Languages supported by Nemotron ASR; '(auto-detect)' can cause a leading artifact like 'Kal-'.
    promptSTRINGOptional prompt to bias transcription.
    resample_toINT00–1920000 = keep original sample rate.
    monoBOOLEANtrueMix down to mono before upload.

    Outputs (1)

    NameTypeDescription
    transcriptionSTRING