Skip to content

Image generation

Image generation in the Immersion Canvas is a node graph you build right on the board. You wire small cards together (a prompt, a model, a size, a generator) and press Run to produce an image. Everything runs locally on your own machine.

The image-generation nodes are off until you enable them. Switch them on in Settings, then install the model-runtime packages from the Image Generation Requirements dialog. See Set up local models for the model and GPU notes. Once enabled, the nodes live under the canvas right-click menu at Add ▸ Image generation.

  • Add nodes from Add ▸ Image generation, grouped into the categories below.
  • Wire sockets by dragging from one node’s output to another’s input. Sockets are typed, so a node only accepts the kind of input it understands.
  • Run from a generator node (Text-to-Image, Image-to-Image, and so on). The result appears in an Image node you can wire onward.
  • N (how many variations) always comes from the Size & Sampling node.
  • The switch nodes (Prompt Switch, Seed Switch, Image Reference Switch) feed the generators so each variation can use a different prompt, seed, or reference image.

A node that fails to load still shows in the menu, marked (unavailable); click it to see the error instead of having it silently disappear.

NodeWhat it does
PromptThe text prompt that drives generation.
Negative promptThings to exclude from the image.
Prompt MergeCombine several text sources (Prompt, Negative, sticky notes) into one prompt. Inputs grow as you fill them (max 20).
Prompt SwitchA different prompt per iteration: iteration i uses input i mod count. N comes from Size & Sampling.
Image to PromptDescribe a wired image as a prompt (reverse prompt).
NodeWhat it does
ModelPick a Hugging Face model.
Advanced ModelSplit MODEL / CLIP / VAE picker for wiring each part yourself.
LoRAStack a LoRA on top of the base model.
Video ModelPick a downloaded image-to-video model (SVD / LTX-Video) to feed the Image to Video node.
NodeWhat it does
ControlNetStructure-locked generation: pose, depth, edges, lineart.
Control MapExtract a pose / depth / edge map from an image, preview it, then wire it into ControlNet.
Reference ImageSource a local image for Image-to-Image, Inpaint, or ControlNet.
Size & SamplingWidth, height, steps, CFG, seed, and N (variation count).
Seed SwitchA seed per iteration: type a number to lock a variation, or leave a row on Random.
Image Reference SwitchA style reference per iteration: iteration i uses image i mod count.
NodeWhat it does
Text-to-ImageThe Run button; produces an image from a prompt and model.
Image-to-ImageReimagines a wired image via prompt + denoise.
Edit (Instruction)Rewrite a wired image from a text instruction. Needs an instruction-edit model (see compatibility below).
InpaintRegenerate only the painted area of an init image.
Style TransferApply a style from a reference image (IP-Adapter), or restyle a source image (img2img).
Image to VideoAnimate a still into an .mp4. Wire a Video Model; SVD animates the image, LTX also follows a prompt.
NodeWhat it does
UpscaleLanczos or Real-ESRGAN 2x / 4x upscale.
Detail UpscaleAI upscale that paints in prompt-guided detail, not just a bigger raster.
Face RestoreGFPGAN face restoration: fix eyes, skin, and hair on portraits.
Color AdjustBrightness / contrast / gamma / hue plus shadows-mids-highlights balance.
LevelsInput / output levels with gamma (black and white points).
HueSelective hue: rotate individual colors or all at once.
Film FXGlow, grain, and chromatic aberration look effects.
BlurGaussian or directional blur with a motion bias.
SharpenUnsharp-mask sharpening with amount / radius / threshold.
CropReframe by trimming each edge by a percentage.
TransformOffset / scale / rotate (affine).
Depth PassMonocular depth map (MiDaS): grayscale depth from any image.
Depth of FieldDepth-driven blur from Image + Depth inputs, with focus / range / amount.
NodeWhat it does
ConstantSolid-color image source at a chosen resolution.
GradientTwo-color linear or radial gradient source.
NoiseRandom noise (mono / RGB) source.
NodeWhat it does
BlendComposite two images with blend modes + opacity (honors alpha).
Chroma KeyKey out any color to a transparent matte; pick or eyedrop the color.
Background RemoverAI subject cutout (rembg) to a transparent background, RGBA out.
Canvas ExtendExtend / outpaint the canvas: pad edges (edge / reflect / color / transparent).
AI OutpaintAll-in-one outpaint: extend the canvas and AI-fill the new area in one Run.
ReformatChange output resolution: presets or W x H, with fit / fill / distort / none.
NodeWhat it does
ImageDisplays the generated PNG.
CompareSweep-compare two images side by side with a draggable divider.
Contact SheetLive grid of every generation from a wired generator node.
Write / ExportExport the chain result to PNG / JPG / WEBP / BMP / TIFF.
  1. Add a Model (or Advanced Model) and pick a checkpoint.
  2. Add a Prompt and type your description.
  3. Add Size & Sampling; set width, height, steps, CFG, and N = 1 to start.
  4. Add Text-to-Image and wire the model, prompt, and Size & Sampling into it.
  5. Press Run. The result lands in an Image node.

From there you can wire the Image into Refine or Composite nodes (upscale, face restore, background removal, and so on).

The three switch nodes let one Run produce a set of variations:

  • Prompt Switch changes the prompt each iteration. Set N in Size & Sampling to the number of prompts.
  • Seed Switch locks or varies the seed per iteration. Use Same seed with a Prompt Switch so only the prompt changes; use Random for fresh compositions.
  • Image Reference Switch rotates the source / reference image each iteration.

Restyle your own image (Image-to-Image). Wire a Model + a Prompt + your image (into the Source / Style socket) + Size & Sampling into Image-to-Image. A lower denoise (around 0.45) stays close to your source; higher leans on the prompt.

A different prompt per image. Wire a Prompt Switch into Text-to-Image, set N to the number of prompts, and Run.

Lock or compare seeds. Use a Seed Switch set to Same seed (identical composition across iterations) or Random (all different), wired into the generator’s Seed input.

Rotate the source each iteration. Wire several images into an Image Reference Switch, output into Image-to-Image’s Source / Style socket, set N to match, and add a Seed Switch on Same seed so only the source changes.

Most “Failed to load” errors are a model the node can’t use. As a guide:

NodeModel it needs
Text-to-Image, Image-to-ImageSD 1.5 or SDXL checkpoint
ControlNetSD 1.5 or SDXL, plus a control / structure image
Inpainta dedicated inpainting checkpoint, not the base model
Style Transfer (IP-Adapter)SD 1.5 / SDXL with a matching IP-Adapter
Edit (Instruction)an instruction-edit model such as FLUX Kontext or Qwen-Image-Edit (base SDXL / SD 1.5 will not load here)
Image to Videoan image-to-video model (SVD or LTX-Video) via the Video Model node
  • Run one generation node at a time. They share the GPU.
  • If a run reports a device-side assert, fully quit and relaunch before trying again; the GPU context does not recover on its own.
  • “Failed to load … expected [‘transformer’…]” means the wrong model class for that node; check the table above.
  • “no file named … in text_encoder” usually means a half-downloaded model; re-download it in the Model Manager.