Polydesk-logotype
Polydesk.ai — Header

Img2Img (Image-to-Image)

Img2img est une méthode de génération d’images par IA qui prend une image existante et un prompt textuel en entrée, et produit une nouvelle image qui respecte la composition et les couleurs de l’originale tout en appliquant les modifications décrites par le prompt.

Img2Img en bref
Type
Mode de génération pour modèles de diffusion
Base technique
SDEdit (Meng et al., 2021)
Paramètre clé
Denoising Strength (0.0 à 1.0)
Entrées
Image source + prompt textuel (+ prompt négatif optionnel)
Modèles compatibles
SD 1.5, SDXL, FLUX, DALL·E, Midjourney, etc.
Interfaces
AUTOMATIC1111, ComfyUI, Forge, InvokeAI, Fooocus
Variantes
Inpainting, Outpainting, Sketch-to-Image

Comprendre img2img

Dans le pipeline classique txt2img (text-to-image), le modèle de diffusion part d’un bruit aléatoire pur et le débruite progressivement, guidé par un prompt, pour former une image. Img2img modifie ce point de départ : au lieu de bruit aléatoire, on part de votre image source à laquelle on ajoute du bruit, puis le modèle débruite cette image bruitée en se guidant par le prompt.

Le résultat : l’image générée conserve la structure globale, la composition et les couleurs dominantes de l’image d’entrée, mais le modèle y applique les modifications dictées par le prompt. C’est une généralisation de txt2img, où txt2img est simplement un cas particulier d’img2img avec un denoising strength de 1.0 (bruit complet).

La technique sous-jacente s’appelle SDEdit (Stochastic Differential Editing), proposée par Meng et al. en 2021. L’idée est élégante : plus vous ajoutez de bruit à l’image de départ, plus le modèle a de liberté créative. Moins vous en ajoutez, plus le résultat reste fidèle à l’original.

Le paramètre central : Denoising Strength

Le denoising strength (parfois appelé « strength » ou « image strength ») est le paramètre qui contrôle img2img. C’est un nombre entre 0.0 et 1.0 qui détermine la proportion de bruit ajoutée à l’image d’entrée.

Concrètement, si vous utilisez 50 steps de débruitage et un denoising strength de 0.8, le modèle ajoute 40 « couches » de bruit à votre image (50 × 0.8 = 40), puis la débruite pendant 40 steps. Les 10 premiers steps du processus de diffusion sont « sautés » car l’image de départ fournit déjà cette information.

Denoising Strength Comportement Cas d’usage typique
0.1 – 0.3 Modifications très légères, l’image reste quasi identique Correction de petits détails, amélioration subtile de texture
0.3 – 0.5 Modifications modérées, structure intacte, détails changés Amélioration de qualité, ajustements de style légers
0.5 – 0.7 Changements significatifs, composition conservée mais détails réécrits Transfert de style, transformation artistique
0.7 – 0.9 Transformation forte, seules les grandes lignes subsistent Réinterprétation créative, changement de médium
0.9 – 1.0 Quasi indistinguable de txt2img, très peu d’influence de l’image source Rarement utile (autant utiliser txt2img)
Point de départ recommandé Commencez à 0.6-0.7 pour un bon équilibre entre fidélité à l’image source et créativité du modèle. Ajustez ensuite en fonction du résultat : réduisez si le résultat s’éloigne trop de l’original, augmentez s’il n’est pas assez transformé.

Fonctionnement technique en détail

Dans l’espace latent

Stable Diffusion opère dans un espace latent compressé, pas directement sur les pixels. Quand vous fournissez une image en img2img, elle est d’abord encodée par le VAE (Variational Autoencoder) dans cet espace latent, où sa résolution est réduite d’un facteur 8 (une image 512×512 pixels devient un tenseur 64×64×4). Le bruit est ajouté dans cet espace latent, et le débruitage s’y effectue également. Enfin, le résultat est décodé par le VAE pour revenir en pixels.

Travailler dans l’espace latent est ce qui rend img2img si efficace : au lieu de manipuler des millions de pixels, le modèle opère sur une représentation compressée qui capture les caractéristiques sémantiques de l’image.

Le rôle du prompt

Le prompt textuel guide le processus de débruitage via le mécanisme de cross-attention. À chaque step, le modèle « consulte » le prompt pour décider comment retirer le bruit. C’est ce qui permet de diriger la transformation : un prompt « oil painting of a castle » appliqué à une photo de maison transformera la scène en peinture à l’huile d’un château, tout en respectant la composition spatiale de la photo originale.

Le prompt négatif joue aussi un rôle important en img2img. Il permet d’exclure des éléments indésirables (artefacts, déformations) ou des styles non souhaités. Combiné avec des embeddings négatifs comme EasyNegative, il améliore significativement la qualité du résultat.

Les autres paramètres importants

CFG Scale (Guidance Scale)

Le CFG Scale contrôle l’intensité avec laquelle le modèle suit le prompt. En img2img, il interagit avec le denoising strength :

Un CFG élevé (10-15) force le modèle à coller au prompt, ce qui peut créer des incohérences avec l’image source. Un CFG modéré (7-11) offre un bon équilibre. Un CFG bas (3-5) donne plus de latitude au modèle, qui s’appuie davantage sur l’image source.

Combinaison des paramètres Denoising strength élevé + CFG élevé = créativité maximale, peu de respect de l’image source. Denoising strength bas + CFG bas = modifications subtiles, fidélité maximale. Le sweet spot dépend de votre objectif, mais un bon point de départ est denoising 0.6 + CFG 9.

Sampling Steps

Le nombre de steps dans le processus de débruitage. Plus il y a de steps, plus l’image est détaillée, mais plus la génération est lente. En img2img, le nombre effectif de steps est le produit du nombre total par le denoising strength. Avec 50 steps et un denoising de 0.6, le modèle effectue réellement 30 steps. 20-50 steps est la plage courante.

Sampler (Méthode d’échantillonnage)

Le choix du sampler affecte la qualité et la vitesse de génération. Pour img2img, les samplers les plus utilisés sont DPM++ 2M Karras (bon compromis qualité/vitesse), DPM++ SDE Karras (plus de détails), et Euler a (classique, fiable). Le choix du sampler est moins critique en img2img qu’en txt2img car l’image d’entrée fournit déjà une base solide.

Résolution

Conservez le même ratio d’aspect que l’image source pour éviter les distorsions. Générez d’abord à la résolution native du modèle (512×512 pour SD 1.5, 1024×1024 pour SDXL), puis upscalez si nécessaire avec un outil d’upscaling. Forcer une résolution très éloignée de celle d’entraînement du modèle produit souvent des artefacts (visages dupliqués, compositions incohérentes).

Cas d’usage concrets

Transfert de style

L’usage le plus populaire d’img2img : prendre une photo et la transformer en aquarelle, peinture à l’huile, illustration anime, style cyberpunk, pixel art, etc. Un denoising de 0.5-0.7 donne généralement les meilleurs résultats pour le transfert de style : assez pour appliquer le nouveau style, pas assez pour perdre la composition originale.

Du croquis à l’image

Img2img excelle pour transformer un croquis grossier en image détaillée. Vous n’avez pas besoin de savoir dessiner : un schéma approximatif avec les bonnes couleurs et la bonne composition suffit. Le modèle comble les détails manquants en se basant sur le prompt. Certaines interfaces (comme le mode Sketch d’AUTOMATIC1111) permettent de dessiner directement sur un canvas.

Amélioration itérative

Un workflow très courant consiste à générer une image en txt2img, puis à l’affiner en img2img avec un denoising bas (0.3-0.5). Cela permet de corriger des défauts (mains mal formées, détails flous) tout en conservant la composition qui vous plaît. Vous pouvez itérer plusieurs fois en ajustant le prompt et le denoising à chaque passe.

Génération de variations

En fournissant une image que vous aimez et en utilisant un denoising modéré (0.4-0.6) avec différentes seeds, vous obtenez rapidement des dizaines de variations de la même scène. C’est extrêmement utile pour le concept art, la direction artistique, et l’exploration créative.

Référence de composition

Img2img permet d’utiliser n’importe quelle image comme guide de composition. Une photo d’architecture peut devenir un paysage fantastique. Un portrait photo peut être réinterprété en illustration BD. Le modèle respecte les grandes masses visuelles (où se trouvent les éléments clairs et sombres, les formes principales) et les réinterprète selon le prompt.

Guide pratique : img2img dans AUTOMATIC1111

Étape 1 : Préparer l’image source

Choisissez ou créez votre image de départ. Elle n’a pas besoin d’être parfaite, elle sert de guide de composition. Pour les meilleurs résultats, utilisez une image de résolution correcte (au moins 512×512), bien éclairée, et dont la composition correspond à ce que vous voulez obtenir.

Étape 2 : Configurer img2img

Dans AUTOMATIC1111, naviguez vers l’onglet img2img. Uploadez votre image. Sélectionnez votre checkpoint (modèle). Rédigez un prompt décrivant le résultat souhaité, pas l’image d’entrée. Ajoutez un prompt négatif pour exclure les défauts.

Étape 3 : Régler les paramètres

Voici les paramètres de départ recommandés :

Paramètre Valeur de départ Ajustement
Denoising Strength 0.6 Réduire si trop différent, augmenter si trop fidèle
CFG Scale 9 Réduire pour plus de naturel, augmenter pour plus de conformité au prompt
Sampling Steps 30 Augmenter à 50 pour plus de détails
Sampler DPM++ 2M Karras Tester DPM++ SDE Karras pour plus de détails
Résolution Même ratio que l’image source 512×512 (SD 1.5) ou 1024×1024 (SDXL)

Étape 4 : Itérer

Générez, évaluez, ajustez. Si le résultat vous plaît mais nécessite des retouches, renvoyez-le en img2img avec un denoising plus bas (0.3-0.4) et un prompt ajusté. Chaque passe affine le résultat.

Img2img avec Diffusers (Python)

Pour les développeurs, Diffusers fournit un pipeline dédié :

import torch from diffusers import AutoPipelineForImage2Image from diffusers.utils import load_image pipeline = AutoPipelineForImage2Image.from_pretrained( "stable-diffusion-v1-5/stable-diffusion-v1-5", torch_dtype=torch.float16, variant="fp16", use_safetensors=True ).to("cuda") init_image = load_image("https://example.com/my-photo.jpg") init_image = init_image.resize((512, 512)) prompt = "oil painting of a medieval castle, dramatic sky" negative = "blurry, low quality, deformed" image = pipeline( prompt=prompt, negative_prompt=negative, image=init_image, strength=0.7, # denoising strength guidance_scale=9.0, # CFG scale num_inference_steps=50 ).images[0] image.save("result.png")

Le paramètre strength correspond au denoising strength. Le pipeline SDXL fonctionne de la même manière avec AutoPipelineForImage2Image et le modèle stabilityai/stable-diffusion-xl-base-1.0.

Img2img vs ControlNet

Img2img et ControlNet sont deux approches complémentaires pour conditionner la génération d’image. La différence fondamentale :

Img2img utilise l’image source comme point de départ du processus de débruitage. L’influence de l’image diminue à mesure que le denoising strength augmente. Vous n’avez aucun contrôle granulaire sur quels aspects de l’image sont préservés : c’est « tout ou rien » à différents niveaux d’intensité.

ControlNet, en revanche, extrait une information structurelle spécifique de l’image (contours, profondeur, pose, segmentation) et l’injecte comme condition supplémentaire pendant toute la durée du débruitage. Cela permet un contrôle précis : vous pouvez respecter exactement les contours d’un dessin tout en changeant complètement le style et les couleurs.

Critère Img2img ControlNet
Type de contrôle Composition globale (couleurs, formes) Structure spécifique (contours, profondeur, pose)
Précision Approximative Précise
Installation Natif (aucune extension) Modèles ControlNet supplémentaires nécessaires
VRAM Standard +1-3 Go pour le modèle ControlNet
Combinable Oui, avec ControlNet Oui, avec img2img

En pratique, les utilisateurs avancés combinent souvent les deux : img2img pour la base de couleurs et de composition, plus ControlNet (Canny, Depth, ou OpenPose) pour verrouiller la structure exacte qu’ils veulent préserver.

Variantes et techniques associées

Inpainting

L’inpainting est une variante d’img2img qui ne modifie qu’une zone spécifique de l’image (définie par un masque), en laissant le reste intact. C’est l’outil idéal pour retoucher un détail précis sans affecter le reste de la composition.

Outpainting

L’outpainting étend l’image au-delà de ses bordures originales. Le modèle « imagine » ce qui se trouve hors du cadre en se basant sur le contenu existant et le prompt.

Sketch-to-Image

Une utilisation spécialisée d’img2img où l’image d’entrée est un croquis rapide. Les interfaces modernes (AUTOMATIC1111, ComfyUI) intègrent des outils de dessin directement dans l’onglet img2img pour faciliter ce workflow.

Img2img pour l’upscale

En utilisant un denoising très bas (0.2-0.4) avec une résolution supérieure, img2img peut servir de technique d’upscaling qui ajoute des détails réalistes au lieu de simplement interpoler les pixels. C’est la base de workflows populaires comme « SD Upscale » et « Ultimate SD Upscale » dans AUTOMATIC1111.

Erreurs courantes et solutions

L’image résultante s’éloigne trop de l’originale

Réduisez le denoising strength à 0.3-0.5. Si le style change trop, simplifiez le prompt pour qu’il soit plus descriptif que directif. Réduisez aussi le CFG scale.

L’image résultante est quasi identique à l’originale

Augmentez le denoising strength au-dessus de 0.6. Utilisez un prompt plus spécifique qui décrit clairement ce que vous voulez changer. Augmentez le CFG scale pour forcer le respect du prompt.

Artefacts liés à la résolution

Si vous voyez des visages dupliqués, des compositions incohérentes ou des distorsions, c’est probablement un problème de résolution. Restez dans les résolutions pour lesquelles le modèle a été entraîné (512×512 pour SD 1.5, 1024×1024 pour SDXL) et upscalez ensuite.

Mains déformées ou détails aberrants

Utilisez un prompt négatif riche (incluant des embeddings comme EasyNegative si vous êtes sur SD 1.5). Faites une passe img2img supplémentaire à faible denoising (0.2-0.3) centrée sur la zone problématique, ou passez en inpainting pour retoucher précisément la zone.


Questions fréquentes sur img2img

Quelle est la différence entre txt2img et img2img ?

Txt2img génère une image uniquement à partir d’un prompt textuel, en partant de bruit aléatoire pur. Img2img part d’une image existante à laquelle on ajoute du bruit contrôlé, puis le modèle débruite en se guidant par le prompt. Techniquement, txt2img est un cas particulier d’img2img avec un denoising strength de 1.0. L’avantage d’img2img : vous gardez le contrôle sur la composition, les couleurs et la structure globale de l’image.

Quel denoising strength utiliser pour un transfert de style ?

Pour un transfert de style (photo vers peinture, réaliste vers anime, etc.), commencez avec 0.5-0.7. À 0.5, la structure de l’image originale est bien préservée mais le changement de style est modéré. À 0.7, le style est plus marqué mais certains détails de l’original peuvent être perdus. Ajustez en fonction du résultat souhaité et du style cible.

Img2img fonctionne-t-il avec tous les modèles Stable Diffusion ?

Oui. Img2img est une fonctionnalité native du pipeline de diffusion, pas un add-on. Il fonctionne avec SD 1.5, SDXL, FLUX, et n’importe quel modèle ou checkpoint custom basé sur ces architectures. Les modèles spécialisés (anime, réalisme photo) fonctionnent aussi : le checkpoint influence le style de sortie, img2img contrôle la composition.

Peut-on utiliser img2img avec ControlNet ?

Absolument, et c’est même recommandé pour les workflows avancés. Img2img fournit la base de couleurs et de composition, tandis que ControlNet verrouille la structure (contours, profondeur, pose). La combinaison des deux offre un contrôle bien supérieur à chaque technique utilisée seule. Dans AUTOMATIC1111, activez ControlNet en parallèle de l’onglet img2img.

Comment éviter que img2img déforme les visages ?

Les visages sont le point faible des modèles de diffusion en img2img. Trois solutions complémentaires : utilisez un prompt négatif riche avec des termes comme « deformed face, distorted features » et des embeddings négatifs (EasyNegative). Activez l’option « Restore faces » (ADetailer ou face restoration intégré) dans votre interface. Et si un visage pose problème dans une image par ailleurs réussie, utilisez l’inpainting pour ne retoucher que la zone du visage.

Polydesk.ai — Footer