StableCascade_StageB_Conditioning
The bridge between Stable Cascade's two sampling stages
- conditioning
- stage_c
- CONDITIONING
Stable Cascade is a weird one to stumble onto in 2026 because the model itself is a relic - launched early 2024, technically interesting, then run over by the SD3 announcement and forgotten. But its ComfyUI workflow is still worth understanding because it's the cleanest example of a two-stage cascade architecture, and this node is the seam between the stages.
The model is Würstchen-based, which means generation doesn't happen in one pass. Stage C is the big text-to-latent model: it reads your prompt and produces a heavily compressed latent. Stage B then takes that latent and upscales it in latent space - same prompt, smaller model, more detail. Stage A (the VAE decoder) finally turns the Stage B output into pixels. This node is Stage B's conditioning: it takes the Stage C latent you already sampled and attaches it to the prompt conditioning so Stage B knows exactly what it's refining.
Inputs: conditioning (your text conditioning for Stage B - same prompt you used in Stage C) and stage_c (the sampled latent that came out of the Stage C sampler). Output: a single CONDITIONING that now carries stable_cascade_prior - the node just copies the stage_c samples into the conditioning dict. That's the mechanism; it's a handoff, not a transformation.
The workflow shape, for the unfamiliar: StableCascade_StageC_Conditioning (or the plain text encode) → Stage C sampler → StableCascade_StageB_Conditioning (with that node's latent in stage_c) → Stage B sampler → VAEDecode via the Stage A VAE. People new to Cascade routinely try to run Stage B with the pixel-space result of Stage A and get nonsense, because Stage B expects the latent-to-latent refinement, not the final decode.
It's core, in comfy_extras/nodes_stable_cascade.py - no install. If you're running it, you already have the checkpoints (the stable_cascade_stage_c and stable_cascade_stage_b models, plus the Stage A VAE) and the corresponding empty-latent nodes for both stages.
The classic mistakes are all about matching the two stages. The stage_c latent must be a Stage C latent, not Stage A's output; and the conditioning you pass in should be encoded for Stage B's text encoder, not the SD-style one. Beyond that, expect the usual Cascade quirks the community documented back in the day: strong prompt adherence, but you pay for it in steps, and the aesthetic takes some coaxing. If you're here, you probably found a preserved template from the 2024 wave - this node is the part that keeps the two samplers in sync, so wire it correctly and the rest just works.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| conditioning | CONDITIONING | — | |
| stage_c | LATENT | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| CONDITIONING | CONDITIONING | — |