Nodes/BrainDead Nodes/BD Cache Audio
ComfyUI Node

BD Cache Audio

Cache audio the same way you cache images — and skip the whole generation

By BizaNator·Created 8 months ago·Updated 3 days ago· 15
BD Cache Audio
  • audio
  • audio
  • status
cache_namecached_audio
seed0
force_refreshfalse
name_prefix

Most ComfyUI caching is about images and latents because that's what most people make. But the BrainDead pack was built for game and TV pipelines - Biloxi Studios runs full production graphs, audio included - and that's why this node exists. BD Cache Audio freezes an AUDIO tensor so the expensive generation (a TTS call, a music model, an audio-conditioned diffusion step) runs exactly once, and every later run skips the upstream branch and loads the cached WAV back.

The mechanism is identical to the image/latent caches in the pack: lazy evaluation. On a cache hit, check_lazy_status returns an empty list of required inputs, ComfyUI sees the node doesn't need its upstream, and the whole audio-generation branch is skipped. The saved format is WAV - lossless, universally readable, and the right choice for audio you'll actually edit or hand to a game engine afterward.

The inputs

  • audio - the AUDIO data to cache. Wire in whatever your audio generation node outputs.
  • cache_name - label (default cached_audio). Use something descriptive like vo_line_03 or battle_sting.
  • seed - invalidation key, hashed into the filename. Change it to force a fresh generation.
  • force_refresh - True to overwrite the cache and rerun upstream.
  • name_prefix - optional path prefix under output/BrainDead_Cache/, useful for per-project or per-character organization.

Outputs: audio (AUDIO) and status (STRING). Wire audio into whatever consumes it downstream - playback, a save node, a sync/composite step - and it behaves as a passthrough.

The workflow shape

[audio generation / TTS node] → [BD Cache Audio] → [playback / save / mix]
                                 cache_name: "line_1"
                                 seed: 42

First run generates and writes the WAV. Every later run loads it in milliseconds and skips the model entirely. If you're iterating on a scene or a cut where the audio clip is final but the video side isn't, this keeps you from regenerating (and re-paying for) audio you already have.

Installing it

Part of BizaNator/ComfyUI-BrainDead (BrainDeadGuild). ComfyUI Manager → search "BrainDead" → install, or:

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

Restart; it's under 🧠BrainDead/Cache.

Gotchas

The family rules apply: the cache is keyed on seed, not on content, so change the generation inputs without changing the seed and you'll get the old audio back silently. And because it's a WAV on disk, it's worth remembering the cache folder is effectively your audio library - treat output/BrainDead_Cache/ like a real asset folder, keep the cache_names sensible, and use BD Clear Cache to sweep it when it grows out of hand.

Category🧠BrainDead/Cache

Inputs (5)

NameTypeDefaultDescription
audioAUDIO
cache_nameSTRINGcached_audio
seedINT00–18446744073709550000
force_refreshBOOLEANfalse
name_prefixoptSTRING

Outputs (2)

NameTypeDescription
audioAUDIO
statusSTRING