Nodes/DiffusionGemma Prompt Builder/DiffusionGemma Music Production Concept
ComfyUI Node

DiffusionGemma Music Production Concept

One dial so the music planner and song router can't disagree

By exportAnything·Created 2 months ago·Updated a day ago· 44
DiffusionGemma Music Production Concept
    • planner_mode
    • router_mode
    • candidate_count
    production_conceptSource passthrough
    audition_candidate_count2

    On the music side of the DiffusionGemma pack, two separate systems both need to know how the song should be made: the SplatStage Planner, which authors the creative blueprint that ACE-Step will compose from, and the Song Blueprint Router, which decides what actually gets generated. Set one to "source passthrough" and the other to "audition" and you've built a workflow that disagrees with itself. DiffusionGemma Music Production Concept exists to make that impossible - it's one shared production choice routed to both consumers, so the planner and the router always read the same instruction.

    The name undersells the real value. "Concept" here is not a genre or mood - it's a strategy for how you want the music produced relative to the video, and the pack supports exactly three of them:

    • Source passthrough (default) - the already-authored song blueprint passes through unchanged. Note the README's precise wording: this is blueprint passthrough, not file-audio passthrough. Your authored ace_tags, lyrics, BPM, key, and meter bundle stays as-is.
    • Joint video-safe plan - asks DiffusionGemma to author lower transient, tonal, and lyric pressure before ACE-Step composes, so the music is less likely to fight the video cut. Pick this when the track and the visuals keep clashing.
    • Audition and select - keeps that coherent bundle intact, varies only the deterministic song seed, generates two to four candidates, and judges the waveform that actually exists. This is the mode for when you want choices rather than trust.

    How it works

    Two widgets in: production_concept and audition_candidate_count (2–4, default 2 - the bounded default). Three outputs: planner_mode, router_mode, and candidate_count. The first two are the same token, aimed at each consumer; candidate_count is the requested audition count when you're in Audition mode and 1 otherwise, so a passthrough run never spawns phantom candidates. The node is pure routing of intent - it doesn't touch a single audio sample.

    Wiring

    Feed production_concept from the same choice the rest of the graph uses (or drive it from a linked widget). Connect planner_mode into the SplatStage Planner, router_mode into the Song Blueprint Router, and candidate_count into the selector that lazily renders candidate lanes. Use it in concert with DiffusionGemmaSongSeedFanout, which derives the actual audition seeds for the same concept so preview and production agree.

    Gotchas

    If you change concept here, the mode you see on both downstream nodes changes together - which is exactly the point, but it does mean you should change it in one place and expect the whole branch to respond. And remember that in Source passthrough, candidate_count reports 1 regardless of what audition_candidate_count says; the second widget only bites in Audition mode. Install the pack from ComfyUI Manager (search "DiffusionGemma Prompt Builder") or git clone https://github.com/exportAnything/ComfyUI-DiffusionGemmaPromptBuilder into custom_nodes. It's control-plane code - no DiffusionGemma model call - so it's a safe node to add while you're still deciding whether to commit to the full model download.

    Categoryprompt/diffusiongemma/audio-production

    Inputs (2)

    NameTypeDefaultDescription
    production_conceptCOMBOSource passthrough3 options: Source passthrough, Joint video-safe plan, Audition and select
    audition_candidate_countINT22–4

    Outputs (3)

    NameTypeDescription
    planner_modeSource passthrough,Joint video-safe plan,Audition and select
    router_modeSource passthrough,Joint video-safe plan,Audition and select
    candidate_countINT