Nodes/ComfyUI-ThinkingLLM/ThinkingLLM Gemma 4 Audio (GGUF)
ComfyUI Node

ThinkingLLM Gemma 4 Audio (GGUF)

A local LLM that actually listens

By goodguy1963·Created 4 months ago·Updated 6 days ago· 21
ThinkingLLM Gemma 4 Audio (GGUF)
  • audio
  • RESPONSE
  • RAW_TRACE
model_namegemma-4-12b-it-Q4_K_M.gguf [~7.5GB]
custom_promptAudio analysis: transcribe the speech in the original language, then summarize the important points. If there is no clear speech, describe the audible scene and relevant sounds.
max_tokens2048
keep_model_loadedfalse
seed1
stream_tokens_to_terminalfalse
enable_thinkingfalse
auto_finalization_retryfalse
hf_token
audio_file_path

Most "multimodal" LLM nodes only mean vision. This one means hearing: the dedicated audio-understanding node in the ThinkingLLM pack, running audio-capable Gemma 4 GGUFs through llama.cpp. Give it an audio file and it doesn't just transcribe - it follows an instruction. The default prompt asks it to transcribe the speech in the original language, summarize the important points, and, if there's no clear speech, describe the audible scene and the sounds. That last bit is the giveaway this is an understanding node, not a dictation tool.

It's distinct from the pack's Whisper ASR node on purpose. Whisper transcribes; Gemma 4 Audio understands. The README is blunt about keeping the model list honest: normal Qwen and Qwen-VL models are not audio models, so instead of pretending, the pack gives audio its own node and only lists models that can actually hear - E2B, E4B, and the 12B. The 26B/31B Gemma variants are image/text-only for this purpose, and the info box tells you which model actually supports audio before you wire it up.

How it works

Plug an AUDIO connection or an audio_file_path (M4A, MP3, WAV, FLAC, anything FFmpeg can read) into the node. It decodes the file to short 16 kHz mono WAV before inference - the tooltip says Gemma 4 audio works best with short WAV-style input, so don't feed it a two-hour podcast and expect a miracle. custom_prompt carries the instruction, and the node returns RESPONSE plus RAW_TRACE like every node in this pack.

Inputs that matter:

  • model_name - the audio-capable GGUF list: 12B from BF16 (~24 GB) down through Q4_K_M (~7.5 GB), plus the E4B quants. The Q4 is the one for a 12 GB card; BF16 is for people who aren't worried about VRAM.
  • enable_thinking - defaults to off, deliberately. Gemma 4 can reason, but transcription and short analysis are usually clearer without it. This is the one node where the pack flips the thinking toggle the other way.
  • custom_prompt - the audio instruction; the default is actually a sensible starting point.
  • max_tokens, keep_model_loaded, seed, stream_tokens_to_terminal, auto_finalization_retry, hf_token - all as elsewhere in the pack.

Installing

Manager (search ThinkingLLM) or:

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

Then the GGUF caveat, louder than usual: audio needs a multimodal llama-cpp-python build with Gemma4ChatHandler. The stock PyPI package won't do it. Linux auto-installs a matching JamePeng wheel on first use; Windows needs a matching win_amd64 vision wheel, and you'll want docs/LLAMA_CPP_PYTHON_VISION_INSTALL.md open. There's a genuinely good chance your first audio run is a backend problem, not a node problem - check RAW_TRACE before rebuilding anything.

Gotchas

If audio behaves unexpectedly, RAW_TRACE is where the answer lives - the README says it outright, and it's the pack's whole debugging philosophy. Keep inputs short and mono-ish. And when you just need a transcript to feed a text LLM, don't pay the Gemma-12B tax - that's what the Whisper node is for, and this pack has both for a reason.

CategoryThinkingLLM

Inputs (11)

NameTypeDefaultDescription
model_nameCOMBOgemma-4-12b-it-Q4_K_M.gguf [~7.5GB]Gemma 4 audio-capable GGUF model. Only Gemma 4 E2B, E4B, and 12B are listed; 26B/31B variants are image/text-only for this purpose.
custom_promptSTRINGAudio analysis: transcribe the speech in the original language, then summarize the important points. If there is no clear speech, describe the audible scene and relevant sounds.Audio instruction sent with the AUDIO input. Gemma 4 audio works best with short 16 kHz mono WAV-style input; Comfy AUDIO is converted to WAV before inference.
max_tokensINT204864–32768Maximum new tokens to generate. Larger values give more room for reasoning but increase runtime and memory use.
keep_model_loadedBOOLEANfalseKeep the GGUF model in RAM/VRAM after the run so repeated prompts skip model loading. Disable if you need memory back for other nodes.
seedINT11–4294967295Sampling seed. The node also uses fixed-seed prompt persistence, so identical inputs can reuse the saved result.
stream_tokens_to_terminalBOOLEANfalsePrint generated tokens live in the ComfyUI terminal. Useful for long runs and backend troubleshooting.
enable_thinkingBOOLEANfalseGemma 4 can reason, but audio transcription and short analysis are usually clearer with thinking disabled.
auto_finalization_retryBOOLEANfalseIf enabled, runs an extra LLM completion when the first output is empty or reasoning-only. Disabled by default so one node execution performs one generation pass.
hf_tokenSTRINGOptional Hugging Face access token for private or gated GGUF/mmproj downloads. It is passed only to the download call, never logged or cached, and the in-memory copy is dropped after the download attempt. Clear this field before saving or sharing workflows.
audiooptAUDIO
audio_file_pathoptSTRINGOptional local audio file path. M4A, MP3, WAV, FLAC, and other FFmpeg-readable files are decoded to 16 kHz mono WAV before inference.

Outputs (2)

NameTypeDescription
RESPONSESTRING
RAW_TRACESTRING