EmptySD3LatentImage
The Blank Canvas for SD3 Latent Generation
🧠 What is this node?
The EmptySD3LatentImage node is the digital equivalent of starting with a perfectly clean whiteboard — except instead of actual pixels, it generates a latent tensor in the SD3 latent format.
Think of it as telling ComfyUI:
“Here, start with this perfectly boring, constant-valued tensor so we can build something interesting on top of it.”
It’s not flashy, it’s not creative on its own, but without it, many SD3 workflows wouldn’t have a stable, predictable base to work from.
🧩 Function in ComfyUI Workflows
This node creates an SD3-compatible latent tensor filled with a constant value (0.0609
— yes, it’s oddly specific, and no, you shouldn’t change it unless you really know what you’re doing).
You use it when you:
- Need a starting point for AI art generation with no initial image influence.
- Want a controlled, uniform initialization for testing prompts or pipeline changes.
- Need to generate a specific resolution latent for downstream nodes like
KSampler
,DecodeSD3
, or image editors.
The generated tensor:
- Format: SD3 latent (16 channels)
- Shape:
(batch_size, channels=16, height/8, width/8)
- Value: Constant 0.0609 in all positions
⚙️ Settings & Parameters (Extreme Detail Mode™)
Width (pixels)
- Purpose: Sets the horizontal dimension of the latent (in pixel space).
- Allowed range:
16px
→ system’s max resolution (depends on GPU). - Default:
1024
- Important notes:
- This is not the final output width — it’s the latent width, which maps to final image width depending on the model scale (SD3 scale factor: ×8).
- Larger widths = more VRAM usage. If you hear your GPU fans start screaming, you’ve gone too big.
Height (pixels)
- Purpose: Sets the vertical dimension of the latent (in pixel space).
- Allowed range:
16px
→ system’s max resolution. - Default:
1024
- Important notes:
- Works the same as Width.
- Changing only height will change aspect ratio — great for vertical vs horizontal compositions.
Batch Size
- Purpose: Number of separate latent tensors generated at once.
- Allowed range:
1
→4096
(yes, you can, but should you? Probably not). - Default:
1
- Important notes:
- Bigger batches save time for batch processing but can eat VRAM like a competitive hotdog eater.
- Each batch is an independent latent — this is not tiling; it’s multiple canvases at once.
📤 Output
LATENT (tensor dictionary)
- Key:
"samples"
→ latent tensor (batch_size × 16 × height/8 × width/8
) - Usage: Feeds directly into nodes expecting SD3-format latent images (e.g.,
KSampler
,Image Decode
). - Value: Filled with constant
0.0609
. - Why 0.0609? It’s a normalization choice that plays nice with SD3’s internal math. Changing it can cause subtle but ugly shifts in final output.
💡 Recommended Use Cases
- Testing prompts in isolation — start from scratch to ensure no residual noise from previous latents.
- Workflow prototyping — check resolution handling before plugging in real image data.
- Custom resolution generation — make exactly the size you want without an initial image.
- Consistent batch generation — same starting tensor for all images in a batch for reproducibility.
🛠 Workflow Setup
- Drop
EmptySD3LatentImage
at the start of your pipeline. - Set
width
andheight
to match your desired output resolution (remember SD3 upscale factor). - Set
batch_size
if you want multiple images at once. - Connect LATENT output into a
KSampler
or similar node. - Decode results later with
DecodeSD3
.
🎯 Prompting Tips
- Since this starts from nothing but constants, your prompt has maximum influence. This is great for prompt testing — bad prompts will show themselves instantly.
- If outputs look too uniform or “flat,” you might actually want to start from random noise instead — this node is intentionally predictable.
🔥 What-Not-To-Do-Unless-You-Want-a-Fire
- Do NOT crank
width
andheight
to max andbatch_size
to 4096 unless you enjoy system crashes and GPU restarts. - Do NOT change the constant value in the latent unless you want to play “guess why my images look weird.”
- Do NOT expect “variation” from this node — it’s designed to be boring. Use noise or source images for variety.
- Do NOT mismatch resolutions between this node and downstream decoders — SD3 expects specific scaling.
⚠️ Known Issues
- Out-of-VRAM Errors: Happens when going too high on resolution or batch size.
- Accidental wrong aspect ratios: Caused by forgetting SD3’s ×8 scale factor when setting width/height.
- Flat outputs when misused: If you expect randomness, you’re in the wrong node.
📝 Final Notes
The EmptySD3LatentImage is an essential “blank start” node for SD3 workflows. It’s not glamorous, but without it, testing and controlled generation in SD3 would be a nightmare. Use it for stability, reproducibility, and as a clean base for prompt-driven creativity.