Nodes/Skoogeer-Noise/Mustache Variable Set
ComfyUI Node

Mustache Variable Set

Skip the sampling, render one concrete prompt variable

By ttulttul·Created 9 months ago·Updated 3 months ago· 14
Mustache Variable Set
    • variable_sets
    variable_nameanimal
    variable_valuefox

    Every mustache pipeline in this pack funnels toward Mustache Template, and Mustache Template wants concrete variable settings - a MUSTACHE_VARIABLE_LIST. The "full" way to get there is Mustache Variables (define pools) → Mustache Variable Sampler (expand to settings). But sometimes you don't have pools. Sometimes you just want to inject one fixed value into a template that already has a bunch of other placeholders wired up. That's this node: it builds a single-entry concrete variable set from one name and one value, ready to render.

    Concretely: variable_name = animal, variable_value = fox → out comes [{"animal": "fox"}] as a MUSTACHE_VARIABLE_LIST. One entry, one key, zero sampling. Wire it straight into Mustache Template and a template like A {{animal}} walks into a bar renders as A fox walks into a bar.

    The inputs and output

    • variable_name (default animal) - trimmed, must be non-empty, no reserved names.
    • variable_value (default fox, multiline) - the concrete value.

    Output: variable_sets, a single-entry MUSTACHE_VARIABLE_LIST.

    The output type is the giveaway for how to use this: it's already the sampled/concrete form, so it connects directly to Mustache Template - no sampler in between. Contrast with Mustache Variable, which returns the definition form (MUSTACHE_VARIABLES) and needs a sampling step. If you know the value at build time, this is the node; if you're defining candidate pools, that's the other one.

    Installing and using it

    Part of Skoogeer-Noise. ComfyUI Manager → search "Skoogeer-Noise", or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/ttulttul/Skoogeer-Noise
    

    Restart ComfyUI. No models or keys; deps are torch, numpy, einops, pyyaml.

    Where it actually shines

    The underrated use is injecting a fixed value into a template that also has sampled variables. The mustache renderer ignores variables present in a setting but unreferenced in the template, and merges work entry-by-entry - so you can have Mustache Variable Sampler produce 20 randomized settings and Mustache Variable Set produce one fixed camera: "35mm" setting, combine them with Merge Mustache Variable Sets, and every rendered prompt gets the fixed camera plus its own random hair/lighting. That "one fixed variable + a batch of randomized ones" pattern is genuinely common in batch workflows, and it's the cleanest way to express it. Don't overthink this node - it's the simplest thing in the templating family, and that's its strength.

    Categorytext/template

    Inputs (2)

    NameTypeDefaultDescription
    variable_nameSTRINGanimalVariable name to define in the returned single-entry MUSTACHE_VARIABLE_LIST.
    variable_valueSTRINGfoxConcrete value to store under variable_name in the returned variable set.

    Outputs (1)

    NameTypeDescription
    variable_setsMUSTACHE_VARIABLE_LIST