Qwen-Image-2.0
Qwen-Image-2.0 (publié le 2026-02-10) est un modèle unique pour la génération texte-à-image et l'édition : un encodeur Qwen3-VL de 8B associé à un décodeur de diffusion de 7B, une sortie native en 2K, des instructions pouvant aller jusqu'à environ 1k tokens. Ses points forts sont : un texte dense et correctement orthographié en chinois et en anglais (diapositives, affiches, infographies, bandes dessinées, calendriers, calligraphie), un photoréalisme avec un faible aspect « IA », et des éditions multi-images. Les langues de prompt officiellement prises en charge sont le chinois et l'anglais.
L'exécution passe par fal-runner (journal, prix, approbation, téléchargement). La création de prompts pour les images de départ vidéo reste dans storyboard-keyframes / kling-video-prompt ; cette compétence couvre les paramètres et règles de prompt spécifiques à Qwen. L'anatomie, la fidélité aux références et le transfert de parties pour tout modèle se trouvent dans image-edit-fidelity (§4a). Les résultats de test datés se trouvent dans references/observations.md ; les détails de l'API, les tailles et les limites dans references/api.md ; les modèles de prompts prêts à l'emploi dans references/prompt-patterns.md.
0. Vérification de disponibilité (à faire en premier dans une nouvelle tâche)
fal a marqué les quatre points d'accès fal-ai/qwen-image-2/* comme deprecated le 2026-08-18 ; le successeur alibaba/qwen-image-3/* est actif. Le point d'accès standard de génération texte-à-image servait encore une requête le 2026-11-08, mais les points d'accès obsolètes peuvent cesser à tout moment. Avant le premier appel payant d'une tâche :
python3 ~/.claude/skills/fal-runner/fal_run.py models qwen-image-2etschema <endpoint>.- Vérifiez
references/observations.mdpour la date de la dernière exécution réussie. - Si un appel échoue avec 404/410/"deprecated"/"not found", signalez-le à l'utilisateur et proposez les alternatives de
references/api.md(Alibaba Model Studio nécessiteDASHSCOPE_API_KEY, non configurée sur cette machine au 2026-11-08 ; WaveSpeed ; ou Qwen-Image-3 sur fal en tant que modèle différent nécessitant ses propres tests). Ne changez jamais de modèle silencieusement : l'utilisateur a demandé Qwen 2.
1. Niveau de service et point d'accès
| Tâche | Point d'accès fal | Prix constaté (2026-11-08) |
|---|---|---|
| Ébauches, exploration, essais de mise en page | fal-ai/qwen-image-2/text-to-image | 0,035 USD/image |
| Image finale, texte dense, réalisme | fal-ai/qwen-image-2/pro/text-to-image | 0,075 USD/image |
| Ébauche d'édition | fal-ai/qwen-image-2/edit | 0,035 USD/image |
| Édition finale, fusion multi-images | fal-ai/qwen-image-2/pro/edit | 0,075 USD/image |
Noms dans Model Studio : qwen-image-2.0 (accéléré) et qwen-image-2.0-pro, les deux servent la génération et l'édition sur un point d'accès (references/api.md). Itérez sur la composition et le texte sur le niveau standard, passez au niveau Pro une fois le prompt finalisé, et comparez le coût de l'image acceptée en incluant les tentatives, pas le prix d'une seule sortie.
2. Paramètres qui modifient le résultat
- Taille. fal utilise par défaut
square_hd= 1024x1024, un quart du 2K natif. Transmettez toujoursimage_size: {"width": W, "height": H}. Total de pixels entre 512x512 et 2048x2048, côtés en multiples de 16. Préréglages 2K : 1:1 2048x2048, 16:9 2688x1536, 9:16 1536x2688, 4:3 2368x1728, 3:4 1728x2368, 3:2 2496x1664, 2:3 1664x2496.scripts/qwen_payload.py size <ratio>calcule tout autre rapport. Pour les éditions sansimage_size, la sortie suit la DERNIÈRE image d'entrée. - Expansion du prompt (
enable_prompt_expansionsur fal,prompt_extendsur Model Studio), par défauttrue: un LLM réécrit le prompt et ajoute des détails, du style et des mots de caméra (l'exemple officiel a transformé un chat simple en un prompt "Canon EOS R5, National Geographic"). Par défaut pour cette compétence : écrivez vous-même le prompt complet selon les règles des §3/§4 et réglez-le surfalselorsque l'image contient du texte exact, une mise en page fixe, une série qui doit correspondre, ou une comparaison de seed. Gardeztrueuniquement pour les prompts exploratoires courts où la variété est souhaitée. - Prompt négatif, au maximum 500 caractères. Par défaut pour la génération texte-à-image (la liste officielle Qwen) :
low resolution, low quality, deformed limbs, malformed fingers, oversaturated colors, waxy skin, faces without detail, over-smoothed, AI-generated look, chaotic composition, blurry or distorted text, plus la liste d'anatomie (§4a). Éditions : la liste de fidélité plus la liste d'anatomie (le script de payload utilise ceci par défaut pour les éditions ;--negative blankenvoie" "), plus l'échec réellement observé (altered face,misspelled text). Les exclusions vont ici ; le prompt positif ne liste pas les objets avec "pas de". - Longueur du prompt. Édition fal : 800 caractères (schéma). Génération texte-à-image fal : aucune limite dans le schéma ; Model Studio tronque silencieusement après 1300 tokens ; WaveSpeed permet 800 caractères.
qwen_payload.pyavertit sur les limites. Lorsque l'espace manque, conservez dans l'ordre : les chaînes de texte exact, leurs positions, les sujets et relations spatiales, un ou deux indices de style. - Nombre et seed.
num_images1-4 (génération texte-à-image fal), 1-6 (édition fal, Model Studio).seed0..2147483647 ; la même seed donne des résultats similaires, pas identiques. - Entrées d'édition. 1-3 images, ordre = "image 1/2/3" dans le prompt, 384-5000 px par côté sur fal (384-3072 recommandé par Alibaba), au maximum 10 Mo, PNG sans alpha (le script aplatit l'alpha). Les fichiers locaux sont passés sous la forme
"@file:/abs/path"pourfal_run.py. - Le vérificateur de sécurité est activé par défaut ; le désactiver nécessite une autorisation du compte.
3. Règles de prompt pour la génération texte-à-image
Elles suivent les invites système officielles de réécriture de Qwen (prompt_utils.py, prompt_utils_2512.py dans QwenLM/Qwen-Image) et les exemples de lancement 2.0. Écrire le prompt de cette manière fait le travail du réécriveur en amont, c'est pourquoi l'expansion peut rester désactivée.
- Prose descriptive naturelle en un seul bloc, pas de listes de mots-clés ou de soupe de tags. Le contenu structuré (infographies, tableaux, bandes dessinées) peut utiliser des sauts de ligne et des sections "Row 1: ...", mais chaque élément reste une phrase descriptive.
- Nommez le style général explicitement : photographie réaliste, instantané décontracté de smartphone, affiche de film, infographie plate, peinture gongbi de la dynastie Song, rendu 3D, illustration anime.
- Ordre : sujet, apparence, vêtements de la tête aux pieds, pose, regard et mains, autres objets, environnement, lumière (direction, intensité, température de couleur), caméra et composition, texture et ambiance. Limitez les détails dans les scènes simples ; ajoutez des détails là où ils règlent un choix réel.
- Personnes : origine ethnique, sexe et âge spécifique ("environ 30 ans", pas "jeune") ; forme du visage, yeux, teint et texture de la peau, maquillage ; couleur, longueur, coupe des cheveux ; chaque vêtement et accessoire ; posture du corps, direction du regard, ce que fait chaque main. Environ 200 mots pour un portrait. Pour le réalisme, les exemples officiels utilisent "instantané iPhone décontracté, éclairage intérieur typique, pas d'éclairage mis en scène".
- Chaque chaîne visible entre guillemets, exactement comme elle doit apparaître, avec sa position, son orientation (horizontale, verticale, colonnes de droite à gauche), sa police (sans-serif, serif, manuscrite, un style de calligraphie nommé), sa couleur, sa taille et son support (tube néon, craie, feuille d'or gaufrée, broderie). Le texte implicite devient du texte concret : pas "une liste de noms" mais les noms. Terminez une image avec du texte par "Aucun autre texte n'apparaît dans l'image." ; une image sans texte reçoit "L'image ne contient aucun texte reconnaissable."
- Conservez les noms propres, les marques, les slogans, les URL et les nombres textuellement.
- Mises en page : décrivez d'abord la grille ou les colonnes, puis chaque bloc dans l'ordre de lecture avec son texte exact ; les tableaux et calendriers cellule par cellule ; les bandes dessinées comme "une grille 4x6 avec des séparateurs blancs", puis "Row 1, panel 1 : ... Bulle : "..."". Répétez la description d'identité courte d'un personnage récurrent mot pour mot dans chaque case (la bande dessinée officielle fait ceci) pour les garder cohérents. Les images à l'intérieur d'une diapositive vont entre parenthèses à côté de leur nœud.
- Langue : rédigez la description en anglais ou en chinois ; conservez les chaînes entre guillemets dans la langue dans laquelle elles doivent apparaître. Les autres écritures ne sont pas officiellement prises en charge. Le cyrillique testé le 2026-11-08 : les mots courts courants sont souvent corrects, les mots plus longs ou rares sont déformés (2 des 3 chaînes russes avaient des lettres erronées alors que l'anglais était exact). Pour le texte russe : gardez les chaînes courtes, prévoyez des tentatives, vérifiez chaque mot et prévoyez de corriger les mots erronés dans un éditeur ou par un passage en édition.
- Pas de suffixes de qualité ("8K, masterpiece, ultra HD") : les exemples 2.0 ne les utilisent pas et ils poussent vers l'aspect brillant d'IA contre lequel le prompt négatif lutte.
Les modèles pour les affiches, diapositives, infographies, portraits, produits, bandes dessinées et calendriers se trouvent dans references/prompt-patterns.md.
4. Règles pour les instructions d'édition
Tirées de l'améliorateur de prompt d'édition officiel et des exemples d'édition 2.0 :
- Une instruction directe et spécifique : verbe, cible, attributs, position. "Ajouter un chat gris clair dans le coin inférieur droit, assis et faisant face à la caméra", pas "ajouter un animal".
- Remplacement : "Remplacer Y par X", puis les caractéristiques visuelles clés de X.
- Texte :
Replace "old text" with "new text", guillemets conservés, même langue et casse ; position, couleur et police uniquement lorsqu'elles changent. - Personnes : nommez ce qui doit rester (origine ethnique, sexe, âge, visage, coiffure, expression, tenue). Les changements d'expression et de maquillage sont subtils, jamais exagérés.
- Transfert de style : décrivez le style cible par ses caractéristiques visibles (palette, ligne, texture, lumière) et placez la phrase de style après les changements de contenu.
- Déplacer une partie d'une référence dans une autre, échange de tête :
image-edit-fidelity§3 (voir §4a). - Multi-images : dites quelle image fournit quoi ("la fille de l'image 1 porte la robe noire de l'image 2 et est assise dans la pose de l'image 3"), quelle image donne l'arrière-plan, et décrivez les vêtements et la pose de chaque personne. L'aspect de la sortie suit la dernière image : placez l'image de base en dernier ou définissez
image_size. - Clause de préservation nommant des choses concrètes : "Ne pas modifier les vrais bâtiments, rues, véhicules ou personnes ; garder la photo réaliste", "garder la forme, le logo et la disposition du produit inchangés". Avec une référence attachée, suivez toujours
image-edit-fidelity§2 (voir §4a). - Le modèle ré-rend l'ensemble du cadre. Comparez les zones inchangées côte à côte avec l'entrée ; lorsqu'une petite modification locale a endommagé le reste, collez uniquement la région éditée sur l'originale avec un masque fondu (
ref_diff.py --paste-back, voir §4a). - Modèle de colorisation : "Restaurer et coloriser la photo." Les modèles d'incrustation/extension de tableau (de l'améliorateur Qwen-Image-Edit : "Effectuer une incrustation sur cette image. La légende originale est : ...", "Étendre l'image au-delà de ses limites en utilisant l'extension. La légende originale est : ...") ne sont pas encore vérifiés sur 2.0.
4a. Anatomie, fidélité aux références, transfert de parties : image-edit-fidelity
Les règles indépendantes du modèle se trouvent dans la compétence image-edit-fidelity (~/.claude/skills/image-edit-fidelity/SKILL.md) et s'appliquent à tout appel Qwen avec des personnes ou une image de référence : anatomie intacte pour chaque personne (son §1), ne modifier que ce qui a été demandé avec reference_inventory.md et une répartition CHANGE/KEEP (§2), transfert d'exactement une partie et échange de tête (§3), la vérification avec ref_diff.py et la réparation par collage retour. Chargez-la en même temps que cette compétence.
Comment ces règles s'appliquent à Qwen-Image-2.0 :
- Les exclusions d'anatomie et de fidélité vont dans
negative_prompt(max 500 caractères) : le script de payload ajoute la liste d'anatomie à la valeur par défaut de la génération texte-à-image et utilise la fidélité + l'anatomie comme défaut pour l'édition. enable_prompt_expansion: falsepour chaque édition avec une référence.- La sortie suit la DERNIÈRE image dans
image_urls: placez la référence de base (la cible d'un transfert de partie) en dernier ; le script de payload définit la taille d'édition à partir de celle-ci par défaut. - Le prompt d'édition, y compris la clause KEEP, tient dans 800 caractères (le script avertit).
- Les recadrages source pour le transfert de partie et l'échange de tête : au moins 384 px par côté.
qwen_payload.py checkavertit lorsqu'une édition n'a pas de clause de préservation nommée, pas de "N'ajouter ni supprimer aucune personne ou objet", un prompt multi-images sans "uniquement"/"rien d'autre", ou des personnes sans anatomie et placement des mains.- Vérification :
python3 ~/.claude/skills/image-edit-fidelity/scripts/ref_diff.py <reference> <output> --allow <box>.
5. Flux de travail
- Demandez uniquement ce qui change l'image : le but et le rapport hauteur/largeur, les chaînes de texte exact et leur langue, photo ou illustration, les images de référence. Sinon, prenez les valeurs par défaut ci-dessus.
- Vérification de la disponibilité et du schéma (§0), choix du niveau de service (§1). Avec des personnes ou une image de référence : chargez
image-edit-fidelityet écrivez d'abordreference_inventory.mdavec la répartition CHANGE/KEEP. - Écrivez le prompt dans le dossier du projet (
prompt.txt) et construisez la charge utile :python3 ~/.claude/skills/qwen-image-2/scripts/qwen_payload.py build --endpoint <id> --prompt-file prompt.txt --ratio 16:9 --expansion off -o payload.json(éditions : ajoutez--image a.png --image b.png). Corrigez chaque avertissement qu'il affiche. - Citez le modèle, le nombre d'images, la taille et le prix et attendez l'approbation (règles de fal-runner).
fal_run.py submit <endpoint> payload.json --label "<quoi>" --wait.- Vérifiez chaque sortie en taille réelle avant de la montrer (§6).
- Montrez le résultat de la manière dont l'utilisateur examine les médias : une page HTML avec des vignettes
<img>étiquetées dans le volet de navigateur intégré (instructions globales),naturalWidth > 0vérifié, pasSendUserFile. Copiez les fichiers finaux hors de~/.cache/fal-jobs/avec des noms descriptifs. - Itérez en changeant une seule chose par tour. Enregistrez les nouvelles découvertes avec une date dans
references/observations.md(les échecs restent listés).
6. Vérification des défauts
- Chaque chaîne entre guillemets caractère par caractère en taille réelle (recadrer et zoomer sur le petit texte avec PIL) : orthographe, chiffres, dates, ponctuation, sauts de ligne ; pas de texte supplémentaire inventé, pas de doublons.
- Disposition : nombre de lignes et de colonnes, ordre des cellules, alignement, rien coupé par le bord du cadre.
- Anatomie de chaque personne, y compris les personnages d'arrière-plan (
image-edit-fidelity§1) : une tête, deux yeux, deux bras, deux mains avec cinq doigts, deux jambes, chaque membre attaché à son propre corps à l'épaule ou à la hanche, pas de corps fusionnés. Toute violation fait échouer l'image. - Personnes et objets : comptages, cibles du regard, qui se tient où.
- Éditions :
ref_diff.pypar rapport à la référence, puis chaque ligne dereference_inventory.md(nombre et identité des personnes, objets et positions, arrière-plan, lumière, inclusion/exclusion de texte), tout écart non autorisé fait échouer l'image. - Texte : vérifiez la langue, le sens, le registre et l'effet ; le texte inventé dans un poster ou un calendrier échoue.
Pour toute question sur les scènes complexes, l'interaction des paramètres ou les rapports de bug, consultez les documents de référence listés ci-dessus. Pour les cas limites non couverts ici, référez-vous à la compétence image-edit-fidelity (~/.claude/skills/image-edit-fidelity/SKILL.md) ou à la compétence storyboard-keyframes selon le cas.