Skip to main content

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.

EmptySD3LatentImage

🧩 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: 14096 (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.
  • 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

  1. Drop EmptySD3LatentImage at the start of your pipeline.
  2. Set width and height to match your desired output resolution (remember SD3 upscale factor).
  3. Set batch_size if you want multiple images at once.
  4. Connect LATENT output into a KSampler or similar node.
  5. 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 and height to max and batch_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.