SCG Foundation-1 Prompt Builder
The SCG Foundation-1 Prompt Builder speaks the model's tag language so you don't have to
- prompt
Foundation-1 isn't a free-text audio model in the way you might assume from the image world. It's a structured text-to-sample model: it was trained on a layered tag vocabulary, so a string like Warm, Bright, Melody means something precise to it, and the quality of your loop tracks how well you speak that vocabulary. The SCG Foundation-1 Prompt Builder is a wall of dropdowns that maps directly onto those training layers. You pick, it assembles.
That matters more than it sounds. The prompt system comes from the RC Enhanced Fork of stable-audio-tools, and the tag hierarchy - instrument family, sub-family, timbre, FX, structure - is exactly what the model conditioned on. Typing natural-language prose into the prompt box works, but you're leaving control on the table. The builder is deterministic control: same selections, same prompt, every time. If you'd rather roll dice, that's what the Random Prompt node is for.
What you're actually choosing
- instrument_family + sub_family - the core of it. Ten families (Synth, Keys, Bass, Bowed Strings, Mallet, Wind, Guitar, Brass, Vocal, Plucked Strings) and 60+ sub-families beneath them. Synth Lead, Grand Piano, Reese Bass, Church Organ, Kalimba - the model knows these by name.
- timbre_1 / timbre_2 / timbre_3 - the sound character: 50 descriptors from Warm to Buzzy to Nasal. timbre_1 defaults to Warm, the other two to None. Two or three is usually the sweet spot; more than that and the model starts averaging them out.
- structure - what the loop should do: Melody, Chord Progression, Dance Chord Progression, Top Melody, Arp, Bassline. This is the knob that separates "a pad" from "a riff."
- Everything else - speed, density, contour, and rhythm, plus the optional spatial, band, wave_tech, and style dropdowns, and four FX groups (reverb, delay, distortion, modulation) with graduated levels like "Low Delay" vs "Ping Pong Delay."
- additional_tags - free-form, comma-separated extras appended verbatim. The escape hatch when none of the dropdowns has the word you want.
Output and wiring
The single output, prompt (a STRING), goes into the Sample Generator's prompt input. Note what it does not include: key, scale, bars, and BPM. The Sample Generator appends those itself from its own inputs, so don't add them here or you'll get duplicates.
Mechanically the node is boring in the best way: it comma-joins every dropdown that isn't None and prints the assembled prompt to your console so you can see exactly what it built. No hidden prompt magic, no randomness - which is exactly what makes it the deterministic complement to the Random Prompt node.
Installing
Same as the rest of the pack - this is a four-node set from SanDiegoDude (the same author behind ComfyUI-HiDream-Sampler). ComfyUI Manager, search "SCG Foundation-1", install, restart. Manual:
cd ComfyUI/custom_nodes
git clone https://github.com/SanDiegoDude/scg_Foundation-1-comfyUI
cd scg_Foundation-1-comfyUI
python install.py
The one install landmine, repeated because it will otherwise nuke your environment: never pip install stable-audio-tools without --no-deps. It force-downgrades torch, numpy, and pandas and breaks ComfyUI. install.py does it right.
Gotchas
The builder only produces a string - the Loader still has to be running for the sampler to do anything with it, so keep that first in the graph. And a practical note: None selections are silently dropped, so there's no "clearing" ritual - just set a dropdown back to None. The defaults (Synth, Synth Lead, Warm, Melody) make a genuinely decent starter loop if you want to verify the whole pipeline before you start sculpting.
Inputs (19)
| Name | Type | Default | Description |
|---|---|---|---|
| instrument_family | COMBO | Synth | 11 options: None, Synth, Keys, Bass, Bowed Strings, Mallet, +5 |
| sub_family | COMBO | Synth Lead | 62 options: None, Acoustic Guitar, Analog Bass, Atmosphere, Bass Trombone, Bassoon, +56 |
| timbre_1 | COMBO | Warm | 51 options: None, Airy, Biting, Boomy, Breathy, Bright, +45 |
| timbre_2 | COMBO | None | 51 options: None, Airy, Biting, Boomy, Breathy, Bright, +45 |
| timbre_3 | COMBO | None | 51 options: None, Airy, Biting, Boomy, Breathy, Bright, +45 |
| structure | COMBO | Melody | 7 options: None, Chord Progression, Dance Chord Progression, Melody, Top Melody, Arp, +1 |
| speed | COMBO | None | 4 options: None, Slow Speed, Medium Speed, Fast Speed |
| density | COMBO | None | 6 options: None, Simple, Repeating, Catchy, Complex, Epic |
| contour | COMBO | None | 8 options: None, Rising, Falling, Bounce, Rolling, Sustained, +2 |
| rhythm | COMBO | None | 6 options: None, Off Beat, Alternating, Triplets, Strummed, Arp |
| spatialopt | COMBO | None | 12 options: None, Wide, Mono, Near, Far, Spacey, +6 |
| bandopt | COMBO | None | 9 options: None, Sub, Sub Bass, Bass, Low Mids, Mids, +3 |
| wave_techopt | COMBO | None | 14 options: None, Saw, Square, Sine, Triangle, Pulse, +8 |
| styleopt | COMBO | None | 12 options: None, Dubstep, Chiptune, Acid, 303, Retro, +6 |
| fx_reverbopt | COMBO | None | 5 options: None, Low Reverb, Medium Reverb, High Reverb, Plate Reverb |
| fx_delayopt | COMBO | None | 8 options: None, Low Delay, Medium Delay, High Delay, Ping Pong Delay, Stereo Delay, +2 |
| fx_distortionopt | COMBO | None | 4 options: None, Low Distortion, Medium Distortion, High Distortion |
| fx_modulationopt | COMBO | None | 7 options: None, Phaser, Low Phaser, Medium Phaser, High Phaser, Bitcrush, +1 |
| additional_tagsopt | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| prompt | STRING | — |