![Prompt Weight : le poids des mots](https://cdn.feather.blog?src=https%3A%2F%2Fwww.notion.so%2Fimage%2Fhttps%3A%252F%252Fprod-files-secure.s3.us-west-2.amazonaws.com%252F28dd794d-90bf-42dd-b026-a9ce6abb3c84%252Fbf4fd1b8-45f0-4e9e-b1ac-71dcd6e74b07%252Fprompt-weight.jpeg%3Ftable%3Dblock%26id%3D3e5a7187-94b9-41be-908c-a7d75254c16c%26cache%3Dv2&optimizer=image&quality=80&width=280)
Do not index
Do not index
Publish
Publish
Depuis son introduction, Stable Diffusion a révolutionné la façon dont nous créons des images : chacun peut utiliser l’IA pour créer des images à partir d’une description textuelle de qu’il souhaite représenter. Mais si cela fonctionne plutôt bien, vous aurez constaté que savoir comment écrire cette description est essentiel pour obtenir des résultats satisfaisants. C’est pourquoi nous allons voir dans cet article une technique simple mais efficace pour mieux contrôler la génération d’image avec Stable Diffusion : le Prompt Weighting.
Le Prompt Weighting est un outil qui permet de donner plus ou moins d'importance à certaines parties du texte que l'on soumet à Stable Diffusion. En d'autres termes, c'est un moyen de guider l'attention de l'IA sur les éléments clés que l'on souhaite voir apparaître dans l'image générée.
Cela peut sembler anodin, mais en réalité, cette fonctionnalité ouvre la voie à un contrôle créatif très puissant - d’autant plus qu’elle ne requiert pas d’installer d’autres modèles ou plugins complexe : il s’agit juste d’utiliser une syntaxe particulière dans le prompt.
Dans cet article, nous allons explorerons en détail ce qu'est le Prompt Weighting, comment il fonctionne et surtout, comment il peut vous aider à mener votre créativité à un niveau supérieur.
Prompt Weighting
Qu’est ce que c’est ?
Concrètement, le Prompt Weighting utilise le principe de la pondération pour changer l’importance relative de concepts ou de mots dans votre prompt en changeant leur poids (Weight en anglais).
Augmenter le poids des mots
Imaginons un prompt simple (et simpliste) comme “Woman, Beach, Pizza”. Dans ce prompt, chacun des mots a autant d’importance que les autres - ils ont tous un Poids de 1. Dis autrement, chacun pèse 1/3 du total du prompt.
Pour augmenter l’importance d’un mot, et influencer le résultat en conséquence, il faut augmenter son poids, de sorte qu’il pèse pour plus que les autres dans le total du prompt.
Comparons 4 séries images, générées avec le même seed mais en variant le poids des mots :
![Sans prompt weight](https://cdn.feather.blog?src=https%3A%2F%2Fusenotioncms.com%2Fproxy-prod%2Fblock%2F8b667458-5468-4b79-9288-c798a2360433%2F28dd794d-90bf-42dd-b026-a9ce6abb3c84%2F491a3b53-b98d-4c9a-b683-6712cf67687a%2FUntitled.png&optimizer=image&quality=80&width=280)
![En augmentant le poids de “Women”](https://cdn.feather.blog?src=https%3A%2F%2Fusenotioncms.com%2Fproxy-prod%2Fblock%2F4823f8dc-9d93-462a-8815-1bd64219f62e%2F28dd794d-90bf-42dd-b026-a9ce6abb3c84%2F9ba2ceff-4333-49d7-b1cf-63c7ffffff63%2FUntitled.png&optimizer=image&quality=80&width=280)
![En augmentant le poids de “Beach”](https://cdn.feather.blog?src=https%3A%2F%2Fusenotioncms.com%2Fproxy-prod%2Fblock%2Fb4c87f10-5697-4297-8dd9-2a2515a88cfa%2F28dd794d-90bf-42dd-b026-a9ce6abb3c84%2F742ad8e1-0e90-4e47-a9e4-5182ec2ecc11%2FUntitled.png&optimizer=image&quality=80&width=280)
![En augmentant le poids de “Pizza”](https://cdn.feather.blog?src=https%3A%2F%2Fusenotioncms.com%2Fproxy-prod%2Fblock%2F8572a4fd-a4d6-47b3-887b-374ea0616f81%2F28dd794d-90bf-42dd-b026-a9ce6abb3c84%2F06a56414-0b29-448b-b12d-27ab9d8928c5%2FUntitled.png&optimizer=image&quality=80&width=280)
Comme vous le voyez, les images restent assez similaires, mais en changeant le prompt weight pour donner plus de poids à un mot, son influence sur l’image est plus marquée.
Regardez par exemple comment, lorsque l’importance est donnée à “Beach” les collines et falaises en arrière plan disparaissent pour donner plus de place à la plage et la mer. Ou comment la pizza est un peu plus grande quand c’est à ce mot qu’on donne plus de poids.
Chaque mot compte
L’importance relative de chaque mot dépend également de la longueur du prompt. Dans notre exemple simplifié, nous n’avions que 3 mots - chacun est donc déjà fort important dans le prompt (1/3 du total).
Lorsqu’il y a plus de mots dans le prompt, l’importance relative de chaque mots diminue. Et augmenter le poids de l’un ou l’autre peut alors avoir un effet plus important que dans ce premier exemple.
Reprenons un prompt similaire mais plus long et plus détaillé pour faire un nouveau test : Photography of a Woman with dark hair and blue eyes eating a slice of pepperoni pizza on a white beach: at sunset, ocean, cinematic shot, natural light
![Sans prompt weight](https://cdn.feather.blog?src=https%3A%2F%2Fusenotioncms.com%2Fproxy-prod%2Fblock%2F5c4e8ee4-fc73-4e83-afe2-c863e2817ec2%2F28dd794d-90bf-42dd-b026-a9ce6abb3c84%2F75b7fffc-796c-40e2-bb7d-27bb0bfd1fa7%2FUntitled.png&optimizer=image&quality=80&width=280)
![En augmentant le poids de “Women”](https://cdn.feather.blog?src=https%3A%2F%2Fusenotioncms.com%2Fproxy-prod%2Fblock%2Fddc0ee26-64a6-4ace-b392-51c108fb5fa6%2F28dd794d-90bf-42dd-b026-a9ce6abb3c84%2F0be28c84-d039-40bf-9910-df8e83ebeb43%2FUntitled.png&optimizer=image&quality=80&width=280)
![En augmentant le poids de “Beach”](https://cdn.feather.blog?src=https%3A%2F%2Fusenotioncms.com%2Fproxy-prod%2Fblock%2F37d6ce21-b90c-45c9-abc7-57fe9796acf1%2F28dd794d-90bf-42dd-b026-a9ce6abb3c84%2F410edd49-5784-4ae1-968d-b179a9e75303%2FUntitled.png&optimizer=image&quality=80&width=280)
![En augmentant le poids de “Pizza”](https://cdn.feather.blog?src=https%3A%2F%2Fusenotioncms.com%2Fproxy-prod%2Fblock%2Fa8b8133f-04ed-41fb-9b7a-f1d3c4f84ea8%2F28dd794d-90bf-42dd-b026-a9ce6abb3c84%2Ffd72d6e2-f0da-4635-b788-3397228de2fe%2FUntitled.png&optimizer=image&quality=80&width=280)
La différence la plus notable est obtenue lorsque le poids de “beach” est augmenté car cela amène a des plan plus large laissant plus de place à la plage sur l’image. C’est particulièrement visible sur les deux premières images de la série.
Vous l’aurez compris, le Prompt Weighting permet donc d’affiner la descriptions de votre image pour donner plus d’importance à certains mots ou expression et ainsi modifier le résultat.
Comment l’utiliser ?
La plupart des interfaces pour Stable Diffusion permettent de varier le poids des mots directement dans le prompt - l’importance relative de chaque mot étant calculée avant de lance la génération d’image.
Chaque interface a sa propose manière d’implémenter cette fonctionalité - mais la manière de l’utiliser est assez similaire de l’une à l’autre.
Prompt Weight dans Automatic1111
Automatic1111 est l’une des première interface à avoir implémenter l’utilisation du Prompt Weight au moyen d’une syntaxe à base de () et [] - ce qui a inspirer la syntaxe pour la plupart des interface moderne.
La manière simple de modifier le poids d’un mot dans Automatic est donc de mettre le mot entre () pour augmenter son poids - et de le mettre entre [] pour en diminuer le poids. Par exemple “Photography of a woman with (blue) eyes” pour un prompt qui renforce l’importance de la couleur bleue (blue). Et donc “Photography of a woman with [blue] eyes” pour la diminuer.
![Photography of a man wearing jeans and a pink shirt](https://cdn.feather.blog?src=https%3A%2F%2Fusenotioncms.com%2Fproxy-prod%2Fblock%2F6c56fb9e-efb6-4a7c-8059-d1099b0363cd%2F28dd794d-90bf-42dd-b026-a9ce6abb3c84%2Feb2a1529-c9a7-4065-83b0-dc0528172a77%2FUntitled.png&optimizer=image&quality=80&width=280)
![Photography of a man wearing jeans and a (pink:1.5) shirt](https://cdn.feather.blog?src=https%3A%2F%2Fusenotioncms.com%2Fproxy-prod%2Fblock%2F5c656812-a89d-4030-81c3-26d52c7123f7%2F28dd794d-90bf-42dd-b026-a9ce6abb3c84%2F7e8347fb-21e5-4791-a00f-59daaac7aed4%2FUntitled.png&optimizer=image&quality=80&width=280)
Pour plus de précision, il convient d’utiliser une syntaxe a peu différente : le mot ou l’expression est mis entre parenthèse suivis de “:” et du modificateur de poids qu’on souhaite ajouter. Par exemple “Photography of a man wearing jeans and a (pink:1.5) shirt” va augmenter le poids de la couleur rose (pink). Pour diminuer l’importance d’un mot, il faut alors utiliser un poids inférieur à 1.
En pratique (mot clef) et équivalent à (mot clef:1.1) et [mot clef] est équivalent à (mot clef:0.9).
Prompt Weight dans Fooocus
Fooocus reprend la même syntaxe que Automatic1111 et l’applique de la même manière. Le but étant de permettre de facilement copier/coller des prompt d’images créées avec Automatic1111 pour obtenir des résultats similaires avec Fooocus.
L’interface de Fooocus implémente également un raccourcis pour utiliser cette fonction : En sélectionnant un mot ou une expression, il est possible d’en changer le poids en appuyant sur Ctrl+⬆️ pour l’augmenter et Ctrl+⬇️ pour le diminuer.
Prompt Weight dans ComfyUI
La syntaxe à utiliser dans ComfyUI pour changer le poids d’un mot est également très similaire à celle d’Automatic1111.
ComfyUI utilise en effet les () accompagnée du poids, comme (mot clef:1.1) pour ajuster le poids d’un mot ou d’une expression dans le prompt.
Vous pouvez également sélectionnant un mot ou expression et faire Ctrl+⬆️ et Ctr+⬇️ pour augmenter ou diminuer leurs poids. l’importance de l'augmentation ou de la diminution du poids de ces raccourcis peut être ajustée dans les paramètres.
Différence entre Automatic1111 et ComfyUI
Même si il s’agit du même concept et qu’ils utilisent une syntaxe pratiquement similaire, le prompt weighting d’Automatic1111 et celui de ComfyUI sont différents.
En effet, la manière dont les poids sont appliqués n’est pas la même dans les deux interfaces. ComfyUI traite et applique les poids tels que spécifiés alors qu’Automatic1111 va normalisé les poids pour qu’ils se cumulent à 1.
En pratique, cela signifie qu’un même poids dans ComfyUI aura généralement en effet plus fort que dans Automatic1111 - il convient donc d’utiliser des valeur plus faible dans ComfyUI que dans Automatic1111.
En effet, avec les mêmes poids de prompt, A1111 a généralement un effet très faible comparé à ComfyUI. Il faut donc appliquer des poids beaucoup plus forts dans A1111 pour obtenir un effet similaire. Et un poids élevés produit souvent des résultats de moins bonne qualité et plus "cartoonesques” dans ComfyUI.
A cause de cette différence, il est également très difficile de répliquer les mêmes résultats entre les deux interfaces, même avec des paramètres identique, car la pondération des mots du prompt n’est finalement pas la même entre les deux interfaces.
Fooocus a choisit d’appliquer le même même calcul de normalisation qu’Automatic1111 pour permettre la réutilisation des prompts de l’un à l’autre.
![notion image](https://cdn.feather.blog?src=https%3A%2F%2Fusenotioncms.com%2Fproxy-prod%2Fblock%2F0729e75a-bcda-4b5d-99ed-eb414387197f%2F28dd794d-90bf-42dd-b026-a9ce6abb3c84%2F1131448d-caf7-4d41-937d-b3a8f5ed1b51%2F20240723073338-1554485212-13cfbdb675d8497aa69016d81ab153e1.png&optimizer=image&quality=80&width=280)
Le Prompt Weighting est donc une technique puissante qui permet d'affiner et de contrôler avec précision la génération d'images par Stable Diffusion. En ajustant le poids des mots et des expressions dans vos prompts, vous pouvez influencer subtilement ou radicalement le résultat final, ouvrant ainsi de nouvelles possibilités créatives.
En maîtrisant cette technique, vous pouvez affiner vos créations et obtenir des résultats plus proches de votre vision artistique. Que vous soyez un utilisateur occasionnel ou un artiste chevronné, cette technique vous offre un contrôle accru sur le processus créatif de l'IA.
N'hésitez pas à expérimenter avec différents poids et combinaisons pour découvrir tout le potentiel de cette fonctionnalité. Le Prompt Weighting est un outil précieux dans votre boîte à outils créative, vous permettant de repousser les limites de ce qui est possible avec Stable Diffusion.
Ecrit par