Nodes/Groq Nodes/Groq Audio
ComfyUI Node

Groq Audio

Hosted Whisper transcription with timestamps, zero setup

By brayevalerien·Created 10 months ago·Updated 10 months ago· 1
Groq Audio
    • transcription
    • metadata
    audio_path
    modelwhisper-large-v3
    api_key
    language
    prompt
    response_formatjson
    temperature0.0

    You generated a video, you have a voiceover file, and now you need the words - for subtitles, for a caption, or just to re-prompt from the transcript. Setting up a local Whisper install for that is a whole afternoon you don't want to spend. Groq Audio sidesteps it: point the node at a file path, and Groq's hosted Whisper transcribes it over the API. Fast, no model download, no VRAM, and it hands you timing data if you ask for it.

    It's the audio sibling in the Groq Nodes pack, and it shares the family DNA: a thin wrapper around a Groq API endpoint, with retries and error handling so a flaky call doesn't kill your workflow.

    How it works

    One important detail up front: this node takes a file path, not an audio signal. You type (or wire in) a path like C:\voiceovers\intro.m4a, and the node opens that file and POSTs it to Groq's audio.transcriptions endpoint - the hosted Whisper service that runs whisper-large-v3 and its turbo variant. The file has to exist on the machine running ComfyUI, at a path the server process can read. That's the whole mechanism; nothing is loaded into the graph.

    The inputs that matter

    • audio_path - the file to transcribe. mp3, wav, m4a, etc. The node validates that the path exists and is a file before it calls out, so a typo fails fast with "Audio file not found: …".
    • model - whisper-large-v3 (default) or whisper-large-v3-turbo for the speedier variant.
    • language - optional ISO code like en or es. Leave empty and it auto-detects, which is usually fine but can stumble on code-switched audio.
    • prompt - optional hint for style ("This is a tech podcast; capitalize proper nouns"), the standard Whisper guiding trick.
    • response_format - the choice that matters for how useful the output is: json, text, or verbose_json.
    • temperature - 0–1, defaults to 0. Keep it low; transcription doesn't need creativity.

    The two outputs are transcription (the plain text) and metadata (a JSON string). Here's where verbose_json pays off: switch to it and metadata includes a segments array with start/end timestamps per segment, plus word-level timings when available. That's your subtitle timing, ready to feed into an SRT-builder or an editing workflow. In plain json mode you still get duration and detected language.

    Installing it

    Standard for this pack. ComfyUI Manager → search "Groq Nodes", or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/brayevalerien/ComfyUI-GroqNodes
    cd ComfyUI-GroqNodes
    pip install -r requirements.txt
    

    Restart, then give it a GROQ_API_KEY (env var, .env, or the node's own api_key field). Dependencies are the usual light set - groq, aiohttp, Pillow, numpy, python-dotenv - and there are no model files to fetch.

    Common issues

    The recurring one is the path. If you drag a file into ComfyUI's uploader, that's not a path the node can see unless you know where the server stores uploads - this node wants a real, absolute filesystem path. Errors come back as text in the transcription output ("Configuration error…" / "Error transcribing audio: …"), so read the output before blaming the file. Audio files can be chunky, so keep an eye on upload time for long recordings, and remember the free tier's rate limits apply here too. It's a cloud call: your audio leaves the machine, so don't transcribe anything you'd be embarrassed to have a third party hear.

    Categorygroq/audio

    Inputs (7)

    NameTypeDefaultDescription
    audio_pathSTRING
    modelCOMBOwhisper-large-v32 options: whisper-large-v3, whisper-large-v3-turbo
    api_keyoptSTRING
    languageoptSTRING
    promptoptSTRING
    response_formatoptCOMBOjson3 options: json, text, verbose_json
    temperatureoptFLOAT0.00–1

    Outputs (2)

    NameTypeDescription
    transcriptionSTRING
    metadataSTRING