Skip to main content

img2img: Image-to-Image and Denoise Strength Explained

img2img (image-to-image) starts a generation from your picture, not from noise. How denoise strength works, and when to use inpainting or ControlNet.

Founder of IImagined.ai

Published
Oct 13, 2026
Reading time
10 min read
Quick answer

img2img (image-to-image) generates a new image from a picture you supply: noise is added to your image and the model removes it while following your prompt. Denoise strength decides how much of the original survives, from almost all of it at low values to none at 1. Use img2img to change a whole picture by degree, inpainting to change one masked area, and ControlNet when you only want to keep the structure.

img2img, short for image-to-image, generates a new image from a picture you supply and not from pure noise: the model adds noise to your image, then removes it while following your prompt. One setting, denoise strength, decides how much of the original survives, from nearly all of it at low values to none of it at 1.

Checked 13 October 2026 against the SDEdit paper; ComfyUI's image-to-image, inpainting, outpainting and two-pass pose tutorials, its KSampler reference, and its img2img, inpaint and hires fix examples; the Diffusers image-to-image and inpainting guides; the AUTOMATIC1111 feature list; and the SDXL model card. The denoise values are the ones those sources print, not results of a test of ours.

What is img2img?

The method was published in 2021 as SDEdit. Its abstract gives the whole idea in one sentence: given an input image, it "first adds noise to the input, then subsequently denoises the resulting image". The Stable Diffusion family adopted it under a shorter name. The SDXL model card describes its refiner stage as applying "a technique called SDEdit", which it adds is "also known as img2img".

In ComfyUI the relationship is literal. Its examples say that text-to-image and img2img "are the same node", and that text-to-image "is achieved by passing an empty image to the sampler node with maximum denoise". Give the sampler a real image and a lower denoise, and you are doing img2img.

An img2img run
  1. 01
    Your image

    Loaded from disk or taken from an earlier step.

  2. 02
    VAE Encode

    Converts pixels into the latent space the model works in.

  3. 03
    Add noise

    The denoise value sets how much.

  4. 04
    KSampler

    Removes the noise, guided by the prompt.

  5. 05
    VAE Decode

    Converts the latent back into pixels.

Denoise strength: the one setting that matters

ComfyUI's tutorial states the rule: the smaller the denoise value, the smaller the difference between the generated image and the reference image, and the larger the value, the larger the difference. The reason is that denoise "determines the strength of noise added to the latent space image". With little noise most of your picture is still there for the model to rebuild. With a lot, the model is mostly inventing.

DenoiseWhere the value comes fromWhat it is for
1.0ComfyUI: the latent "will become completely random noise", the same as an empty latentText-to-image. The input is ignored
0.87The value in ComfyUI's basic img2img exampleA new image that borrows from the input
0.4 to 0.6The second sampler in ComfyUI's two-pass pose tutorial, "preserving the basic structure"Refining an upscaled image
0.2, up to 0.4AUTOMATIC1111's recommended setting for its SD upscale scriptTiled upscaling
0ComfyUI: sampling stops entirelyNothing changes

Those are documented examples, not rules. The right value depends on the image, the model and how much change you want, so compare a few values on a fixed seed. The same setting has a different name in each tool, and it does not behave identically in all of them.

ToolWhat the setting is calledWhat its docs say
ComfyUIdenoise, on the KSampler nodeRange 0 to 1, default 1.0. A low value does not lower the steps performed
DiffusersstrengthA value of 1.0 means the initial image is more or less ignored. Steps run are the step count multiplied by strength
AUTOMATIC1111Denoising strength, used by the img2img tabThe wiki recommends 0.2, up to 0.4, for the SD upscale script, and warns that larger values are a problem when working in tiles

The effect on steps catches people out. The Diffusers guide gives this example: 50 steps at a strength of 0.8 "means adding 40 (50 * 0.8) steps of noise to the initial image and then denoising for 40 steps". ComfyUI works the other way. Its tutorial says a low denoise "does not lower the number of steps a run performs": steps 20 with denoise 0.5 performs 20 sampling steps over the low-noise half of a 40-step schedule. To keep the step density of a full run, it says to set steps to that run's count multiplied by denoise.

What changes as denoise moves
Lower denoise
  • Composition and colours stay close to the input
  • Detail is cleaned up, not replaced
  • The prompt has less room to act
  • Suits a second pass after upscaling
Higher denoise
  • Composition is kept loosely, then not at all
  • New detail, new textures, often a new face
  • The prompt decides more of the result
  • Suits variations and restyling

How to do img2img in ComfyUI

ComfyUI's examples describe the graph as "the same as the default txt2img workflow but the denoise is set to 0.87 and a loaded image is passed to the sampler instead of an empty image". So start from the default workflow and change two things.

Turn text-to-image into img2img
  1. 1
    Open the default workflow

    Load Checkpoint, two prompt nodes, Empty Latent Image, KSampler, VAE Decode and Save Image.

  2. 2
    Add Load Image

    Upload your picture. The examples note that input images belong in ComfyUI's input folder.

  3. 3
    Add VAE Encode

    Connect the image to pixels and the checkpoint's VAE to vae.

  4. 4
    Replace the empty latent

    Wire VAE Encode's latent output into the KSampler in place of Empty Latent Image.

  5. 5
    Lower denoise

    Set the KSampler's denoise below 1. Its default is 1.0, which ignores your image.

  6. 6
    Queue and compare

    Keep the seed fixed and change only denoise between runs.

The official tutorial runs this on a Stable Diffusion 1.5 checkpoint, but the graph is the same for other checkpoint models. The latent is made from your picture, so crop or resize it first if you need a particular shape. Our SDXL guide lists the resolutions that model expects, and what ComfyUI needs to run is on our ComfyUI statistics page.

img2img vs inpainting vs ControlNet

All three start from an existing picture. They differ in what they keep.

MethodYou supplyWhat can changeTypical job
img2imgOne imageThe whole picture, by degreeVariations, refining, restyling, a second pass after upscaling
InpaintingAn image and a maskOnly the masked areaFixing a hand, changing an outfit, removing an object
OutpaintingAn image and paddingOnly the new border areaWidening a crop or changing the aspect ratio
ControlNetA control image such as a skeleton or depth mapEverything except the structureA new image in a known pose or layout

Inpainting is img2img with a mask. The Diffusers guide gives the convention: "the area to inpaint is represented by white pixels and the area to keep is represented by black pixels". In ComfyUI you draw the mask in the Mask Editor and encode with VAE Encode (for Inpainting), whose grow_mask_by input widens the mask to avoid hard edges. The tutorial compares a dedicated inpainting model with a standard one and finds "more natural transitions" from the dedicated model, though the examples page notes that inpainting "also works with non inpainting models".

Outpainting is, in the words of the examples, "the same thing as inpainting". The Pad Image for Outpainting node adds the border and builds the mask for it.

ControlNet keeps less. It reads only a skeleton, a depth map or an edge map, so colours, textures and the face all come from the prompt and the model. That is why it suits a new image in a known pose, and why img2img suits a small change to an image you already like.

Which one to reach for
Keep the picture itself
img2img at a low to middle denoise
Inpainting, with a mask over the part
Keep only the structure
ControlNet, with a pose, depth or edge map
Inpainting plus a ControlNet, when the new part must follow a pose
Change the whole image
Change one part

Where img2img shows up in a persona workflow

  • Hires fix. ComfyUI's examples define it as "creating an image at a lower resolution, upscaling it and then sending it through img2img".
  • The SDXL refiner. Stability AI's second stage applies img2img to the latents from the base model, using the same prompt.
  • The second pass after a pose. ComfyUI's pose tutorial generates with a ControlNet first, then refines at a denoise of 0.4 to 0.6.
  • Restyling. The image-to-image tutorial lists converting a photo to an artistic style and turning line art into a realistic image.

For a persona, the thing to watch is the face. Noise does not know which pixels are the identity, so a high denoise redraws the face along with everything else. Keep the same character LoRA loaded during the second pass (our LoRA explainer covers how it loads), or hold the face with a reference method such as InstantID. A fast model helps with the many test runs this takes, which is where Z-Image-Turbo earns its place.

Before you queue an img2img run
  • The input is an image you made, or one you have the rights to change
  • It is cropped to the shape you want out
  • Denoise is below 1, or your image is being ignored
  • The seed is fixed while you compare denoise values
  • The persona's LoRA or reference method is still in the graph
  • In ComfyUI, steps were set with denoise in mind, because a low denoise does not shorten the run

One limit applies whatever the settings. img2img makes it easy to alter a photograph, so only run it on images you created or have permission to use. Changing a real person's photo, or using one as the starting point for a persona, is not allowed without that person's written permission. A persona is a fictional adult, and our guide to what an AI influencer is explains the disclosure rules that come with publishing one. The AI Influencers program covers the full image pipeline, from the trained face to the refining passes described here.

img2img FAQ

What is img2img?

img2img, short for image-to-image, is a way of generating where the model starts from a picture you supply and not from pure noise. Noise is added to your image, then the model removes it while following your prompt. The technique comes from the 2021 SDEdit paper, and the SDXL model card names it directly: SDEdit, also known as img2img.

What does denoise strength do in img2img?

It sets how much noise is added to your image before sampling, and so how much of the original survives. ComfyUI's docs put it simply: the smaller the denoise value, the smaller the difference from the reference image. At 1 the input becomes completely random noise and the run is the same as text-to-image.

What denoise value should I use for img2img?

No value is right for every image, so test a few on one seed. The documented examples give a spread: ComfyUI's basic img2img example uses 0.87, its pose tutorial uses 0.4 to 0.6 for a refining second pass, and AUTOMATIC1111's wiki recommends 0.2, up to 0.4, for its tiled SD upscale script.

How do I do img2img in ComfyUI?

Take the default text-to-image graph and replace Empty Latent Image with two nodes: Load Image, then VAE Encode, wired into the KSampler's latent input. Set the KSampler's denoise below 1. ComfyUI's examples describe exactly that: the same workflow, with a loaded image passed to the sampler instead of an empty one.

What is the difference between img2img and inpainting?

img2img re-noises the whole image, so everything can change a little. Inpainting adds a mask and changes only the masked area. In ComfyUI the mask goes into the VAE Encode (for Inpainting) node, and the docs show that a model trained for inpainting gives more natural transitions than a standard checkpoint.

Should I use img2img or ControlNet?

Use img2img when you want to keep the overall picture, its colours and composition included, and change it by degree. Use ControlNet when you want to keep only the structure, such as a pose or the edges, and let the prompt decide everything else. They also combine: a ControlNet first pass followed by an img2img second pass is a documented ComfyUI workflow.

Does a lower denoise make img2img faster?

It depends on the tool. In Diffusers, strength sets the number of steps actually run: 50 steps at a strength of 0.8 means 40 steps. In ComfyUI a low denoise does not reduce the steps performed; its docs say steps 20 with denoise 0.5 still performs 20 sampling steps, so lower the steps yourself if you want a shorter run.

Free · no card needed

Start with the free Starter Kit.

Five working files, one from each program, open in a free account. Then one short lesson a day by email, on the program you read.

Starter Kit5 files · free

We email you a 6-digit code. Type it here and your free account opens with the kit inside. You'll also get a short lesson by email each day at first, then guides about once a week, with a one-click unsubscribe.

All Access · all four programs · $99/mo

One setting explained. The program covers the whole pipeline around it.

AI Influencers, included in All Access, teaches the persona image workflow in order: the trained face, pose control, refining passes, photorealism and video, with the disclosure rules for publishing. The other three programs, live coaching and the private community come with the same subscription.

See All Access: $99/mo →30-day money-back guarantee
Free

Hold the face first

A refining pass works best when a trained LoRA is holding the persona's face. The free calculator works out the training steps for your image set before you spend a run.