Nodes/ComfyUI-Creepy_nodes/Gemini Audio Analyzer Unified (Creepybits)
ComfyUI Node

Gemini Audio Analyzer Unified (Creepybits)

Ask Gemini what's actually in your audio file

By Creepybits·Created about a year ago·Updated 2 months ago· 32
Gemini Audio Analyzer Unified (Creepybits)
  • audio
  • text
system_promptYou are a professional audio analyst.
user_instructionsDescribe the audio input in detail.
model
api_key_selection
max_output_tokens2048
temperature0.4
thinking_modedisable
safety_thresholdBlock None

Audio is the neglected corner of the AI image world, so a node that can describe what's in a sound file is rarer than it should be. Gemini Audio Analyzer takes an AUDIO tensor - anything a ComfyUI audio-loader node produces, like a video's soundtrack or a dialogue track - and has Google's Gemini model analyze it. Output is a text description: what's being said, what's playing, what mood the sound is in. You wire the text output into a prompt, a captioning step, or any text consumer.

The most practical use is description and captioning: feed it a generated video's audio, get a natural-language description back, and reuse that as a prompt for the next pass. The default system prompt ("You are a professional audio analyst") and user instruction ("Describe the audio input in detail") hint at the intended job, and both are editable text boxes you can replace with your own instructions.

How it works

Under the hood it's the same Gemini dance as the pack's text node, but with real audio preprocessing. The incoming waveform is normalized to mono, resampled to 16 kHz if needed (via torchaudio), then written out as a WAV into memory and sent to the model as an audio part. Gemini's flash models can genuinely listen to that - they're multimodal in a way that includes sound.

The model dropdown is a tour of Gemini versions: gemini-2.0-flash, gemini-2.0-flash-lite, the 2.5 flash-lite and flash previews, and gemini-2.0-flash-exp. Any of them can describe audio; the 2.5 previews are the newer ones.

Inputs that matter

  • system_prompt and user_instructions - your instructions, both editable.
  • audio - the AUDIO input from a loader. Required in practice for a useful answer.
  • max_output_tokens, temperature, thinking_mode, safety_threshold - same knobs as the text Gemini node; temperature defaults lower (0.4) here, which is right for a description task.

One output: text.

The gotcha that will eat your afternoon

The API key path is hardcoded to the author's own machine:

API_CONFIG_PATH = r"C:\AI\Comfy\ComfyUI\custom_nodes\Creepy_nodes\assets\scripts\api_keys_config.json"

Unless your ComfyUI lives at exactly C:\AI\Comfy\... - it almost certainly doesn't - api_key_selection will show "Config not found" and every run returns Error: Gemini API key not found. Fix: open GeminiAudioAnalyzer.py, change API_CONFIG_PATH to the real path of your api_keys_config.json (the repo ships a sample at assets/scripts/api_keys_config.json), and put your keys in it in the same "Name": "path\to\keyfile.txt" format as the pack's other Gemini node.

Also note it expects a real AUDIO tensor. It won't take a file path or an image - connect it to an audio source or it will run with no content and just return a generic "please provide analysis" response.

Installing it

It's in ComfyUI-Creepy_nodes:

  • ComfyUI Manager: search "Creepy_nodes" and install.
  • Manual:
    cd ComfyUI/custom_nodes
    git clone https://github.com/Creepybits/ComfyUI-Creepy_nodes.git
    

Restart ComfyUI. Dependencies: google-genai for the API call, plus torchaudio for resampling - both are in the pack's requirements.txt (torchaudio usually comes with ComfyUI's environment already).

Troubleshooting

Beyond the key path: if your audio is a video's soundtrack, keep it short - very long audio uploads are slower and costlier per run. And same as the text node, API errors come back as plain strings in the text output rather than graph errors, so glance at the output before piping it into a prompt encoder. If your results are weirdly generic, the resample-to-mono step is doing its job - mono 16 kHz is all Gemini needs to understand content.

CategoryCreepybits/Audio

Inputs (9)

NameTypeDefaultDescription
system_promptSTRINGYou are a professional audio analyst.
user_instructionsSTRINGDescribe the audio input in detail.
modelCOMBO5 options: gemini-2.0-flash, gemini-2.0-flash-lite, gemini-2.5-flash-lite-preview-09-2025, gemini-2.5-flash-preview-09-2025, gemini-2.0-flash-exp
api_key_selectionCOMBO1 options: Config not found
audiooptAUDIO
max_output_tokensoptINT20481–8192
temperatureoptFLOAT0.40–1
thinking_modeoptCOMBOdisable2 options: disable, enable
safety_thresholdoptCOMBOBlock None4 options: Block None, Block Low, Block Medium, Block High

Outputs (1)

NameTypeDescription
textSTRING