Mustache Variable Set
Skip the sampling, render one concrete prompt variable
- variable_sets
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(defaultanimal) - trimmed, must be non-empty, no reserved names.variable_value(defaultfox, 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.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| variable_name | STRING | animal | Variable name to define in the returned single-entry MUSTACHE_VARIABLE_LIST. |
| variable_value | STRING | fox | Concrete value to store under variable_name in the returned variable set. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| variable_sets | MUSTACHE_VARIABLE_LIST | — |