Invitez et gagnez

Fonctionnement des récompenses

Partagez votre lien. Lorsqu’un ami s’inscrit avec ce lien et recharge son solde, vous recevez la récompense affichée sur ses recharges ultérieures.

Transformer une image en prompt JSON et vérifier le résultat

Une méthode indépendante du modèle pour extraire uniquement les éléments visibles, séparer le fixe du modifiable, générer des variantes et valider le résultat avec des critères explicites.

Sommaire
Transformer une image en prompt JSON et vérifier le résultat

Un prompt JSON obtenu à partir d’une image est surtout une spécification visuelle modifiable. Il ne permet pas de retrouver un hypothétique « prompt secret » à l’origine de l’image. La méthode utile consiste à décrire uniquement ce qui est visible, à séparer ce qui doit rester identique de ce qui doit changer, à produire plusieurs variantes, puis à les comparer à la référence avec la même grille.

Le JSON facilite la séparation du sujet, de la composition, de la lumière, des couleurs, des matières et du texte. Mais les pixels ne révèlent ni le modèle exact de l’appareil, ni la technologie d’une source lumineuse hors champ, ni le nom précis d’une police, ni la seed, ni les mots employés par le créateur. Le but est donc une ressemblance contrôlable et vérifiable, pas une copie pixel par pixel.

Vous trouverez ci-dessous un méta-prompt prêt à l’emploi, un schéma JSON, une méthode d’édition et un processus d’acceptation.

Ce que ce workflow permet de faire

Utilisez-le pour :

  • conserver la logique visuelle d’une référence tout en modifiant certains éléments ;
  • réutiliser la même spécification avec plusieurs modèles ;
  • comprendre pourquoi une sortie reprend le style sans respecter la mise en page ;
  • contrôler de façon répétable des photos, publicités, affiches, interfaces et illustrations.

Ne présentez pas le JSON comme le prompt original retrouvé. Une image finale ne contient pas tout l’historique de génération, les références cachées, les instructions ignorées ou les retouches.

Une bonne spécification est :

  1. Observable : chaque affirmation est appuyée par les pixels.
  2. Modifiable : les dimensions visuelles importantes ont des champs séparés.
  3. Vérifiable : chaque champ correspond à un élément contrôlable dans la sortie.

Ce qu’il faut préparer

Prévoyez :

  • la référence dans la meilleure résolution que vous êtes autorisé à utiliser ;
  • un modèle capable d’analyser une image ;
  • un générateur ou éditeur d’images ;
  • un emplacement pour sauvegarder JSON, version du modèle, réglages et sorties ;
  • une phrase claire indiquant ce qui doit rester et ce qui peut changer.

Recadrez l’interface du navigateur, les commentaires et les bordures étrangères au design. Conservez le ratio d’origine, sauf si sa modification fait partie du travail.

La documentation officielle OpenAI sur les images et la vision et celle de Google sur la compréhension d’images décrivent l’analyse d’entrées visuelles. Leurs outils de génération prennent aussi en charge des références ou des modifications successives. Le format variant selon le fournisseur, la méthode ci-dessous reste indépendante du modèle.

Étape 1 : extraire un JSON d’observation

Envoyez l’image avec ce prompt. Il empêche de transformer des suppositions invisibles en faits.

Agis comme un analyste de preuves visuelles. Examine l’image de référence
jointe et renvoie uniquement un objet JSON valide.

Règles :
1. Décris uniquement des éléments directement visibles.
2. Ne déduis pas les causes cachées, le prompt original, le matériel photo exact,
   une date exacte, la technologie d’un éclairage invisible ou un texte illisible.
3. Utilise null lorsqu’une valeur ne peut pas être déterminée sur l’image.
4. Sépare les différentes dimensions visuelles dans des champs distincts.
5. Transcris exactement le texte clairement lisible ; n’invente pas les lettres.
6. Décris les relations spatiales : gauche/droite, haut/bas, premier plan/fond,
   centré/décalé, taille relative et chevauchement.
7. Avant de répondre, vérifie les contradictions entre champs.
8. Utilise des phrases précises, pas une liste vague d’adjectifs.

Renvoie cette structure :
{
  "image_type": null,
  "subject": null,
  "action": null,
  "location": null,
  "composition": {
    "orientation_and_aspect_ratio": null,
    "framing_and_crop": null,
    "subject_placement": null,
    "spatial_relationships": null,
    "negative_space": null
  },
  "lighting": {
    "visible_direction": null,
    "apparent_temperature": null,
    "softness_and_contrast": null,
    "highlights_reflections_shadows": null,
    "unknown_causes": null
  },
  "color_palette": null,
  "materials_and_textures": null,
  "camera_and_focus": {
    "viewpoint": null,
    "perspective": null,
    "depth_of_field": null,
    "sharp_and_blurred_regions": null
  },
  "text_and_typography": {
    "verbatim_text": [],
    "placement_and_alignment": null,
    "size_hierarchy": null,
    "visible_lettering_style": null,
    "unreadable_text": null
  },
  "style": null,
  "mood_and_vibe": null,
  "uncertainties": [],
  "exclusions": null
}

Valider le JSON avant de générer

Vérifiez quatre points :

  • l’objet est analysable comme JSON, sans commentaires, virgules finales ni explication ;
  • les champs nécessaires sont présents ;
  • les inconnues sont indiquées par null ou dans uncertainties ;
  • les champs ne se contredisent pas.

Les exemples du retour utilisateur à l’origine de ce guide illustrent deux erreurs fréquentes. Sur la photo d’un chat dans un réfrigérateur, on voit une lumière froide à l’intérieur et une lumière chaude dans la cuisine, mais on ne peut pas affirmer que l’ampoule est une LED. Dans la capture d’un site, l’analyse identifie correctement un titre aligné à gauche tout en qualifiant le hero de centré. Le premier cas est une inférence sans preuve ; le second, une contradiction interne. Les deux doivent bloquer la génération.

Étape 2 : séparer fixe, modifiable et inconnu

Classez les informations avant de tout réécrire :

ÉtatSignificationExemple
lockeddoit être conservéposition du sujet, hiérarchie, ratio
editablesera modifié volontairementcouleur, décor, titre
unknownnon démontré par l’imageobjectif, type de lumière, police exacte

Ajoutez un objet de contrôle à côté du JSON :

{
  "locked": [
    "un sujet principal dans le tiers inférieur gauche",
    "un grand espace négatif à droite",
    "une lumière latérale douce et un contraste général faible",
    "le titre placé au-dessus de la ligne secondaire"
  ],
  "editable": {
    "subject": "remplacer la tasse en céramique par une bouteille en verre transparent",
    "accent_color": "remplacer le rouge sourd par un bleu cobalt",
    "verbatim_text": ["NORTH", "STILL WATER"]
  },
  "unknown": [
    "modèle de l’appareil",
    "focale exacte",
    "famille typographique exacte",
    "type physique de la source hors champ"
  ],
  "hard_constraints": [
    "ne pas ajouter d’autre texte",
    "ne pas changer le point de vue",
    "ne pas ajouter d’objet hors de la composition de référence"
  ]
}

Cette séparation transmet trois ordres différents : conserver, modifier et ne pas inventer.

Supprimer les conflits

Relisez la spécification en langage courant :

  • le sujet ne peut pas être simultanément centré et aligné à gauche ;
  • le cadrage doit être cohérent avec le ratio ;
  • une lumière douce n’implique pas des ombres dures sans autre source visible ;
  • « aucun texte » ne peut pas coexister avec un titre obligatoire ;
  • un même objet ne peut pas occuper deux positions incompatibles.

Le générateur ne résoudra pas forcément la contradiction. Il peut choisir une option au hasard, les mélanger ou ignorer les deux.

Étape 3 : produire un premier lot contrôlé

Transmettez le JSON d’observation et l’objet de contrôle au générateur. Ajoutez la référence si l’outil accepte l’image-to-image ou l’édition. Les guides officiels OpenAI et Google documentent des entrées visuelles et des éditions itératives, mais les fonctions exactes dépendent du modèle.

Utilisez ce message :

Crée une nouvelle image à partir de la référence jointe et de la spécification JSON.

Priorités :
1. Respecter hard_constraints.
2. Conserver tous les éléments de locked.
3. Appliquer uniquement les changements de editable.
4. Laisser unknown inconnu ; ne pas inventer de détail technique.
5. Faire correspondre d’abord la composition et les relations spatiales,
   puis les textures.
6. Afficher le texte entre guillemets exactement une fois, sans mot supplémentaire.
7. Ne pas copier de filigrane, de signature ni de logo protégé.

Renvoyer une seule image, sans expliquer le prompt.

Si le JSON brut est mal suivi, présentez les mêmes informations en sections :

SUJET :
COMPOSITION :
LUMIÈRE :
COULEUR :
MATIÈRES :
TEXTE :
STYLE :
CONSERVER :
MODIFIER :
NE PAS AJOUTER :

Le JSON est la source éditable de votre spécification, pas un protocole universel pour tous les modèles.

Pour le premier lot :

  1. utilisez le ratio de la référence ;
  2. notez la seed si elle existe, sans supposer qu’elle soit portable ;
  3. générez trois ou quatre variantes ;
  4. sauvegardez JSON, référence, modèle et version, réglages et sorties ;
  5. nommez les exécutions v01-a, v01-b, v01-c.

Le signal de réussite n’est pas « l’image est jolie ». Il faut qu’au moins une variante passe tous les critères obligatoires sans erreur majeure dans les champs prioritaires.

Étape 4 : noter la sortie face à la référence

Comparez les images à la même taille. Attribuez :

  • 0 : faux ou absent ;
  • 1 : partiellement correct ;
  • 2 : acceptable pour l’usage prévu.
ChampÉléments à comparer
Sujetnombre, traits distinctifs, silhouette, taille relative
Compositionposition, cadrage, équilibre, vide, chevauchement
Relations spatialesgauche/droite, haut/bas, devant/derrière
Lumièredirection, température, douceur, contraste, ombres
Couleurcouleurs principales, secondaires, d’accent et zones
Matièresbrillance, transparence, tissu, grain, fourrure, métal, papier
Texteformulation exacte, nombre, orthographe, alignement, hiérarchie
Style et ambiancemédium, finition, traitement, atmosphère

Critères obligatoires :

  • aucune affirmation invisible ou sans preuve ;
  • aucune contradiction interne ;
  • texte obligatoire correct ;
  • relations spatiales critiques conservées ;
  • aucun logo, filigrane, objet ou texte non demandé.

Le total sert à classer les variantes mais ne compense pas un critère obligatoire manqué. Une belle image avec le mauvais slogan ou une mise en page inversée reste un échec.

Contrôler du général au détail

Ordre conseillé :

  1. canevas et composition ;
  2. nombre, position et échelle des sujets ;
  3. lumière et grandes masses colorées ;
  4. matières et textures ;
  5. typographie et petits détails.

Il est inutile d’affiner une texture si le sujet se trouve du mauvais côté.

Étape 5 : modifier un seul groupe à la fois

Choisissez la meilleure variante comme nouvelle base. Corrigez uniquement le groupe lié à l’erreur principale.

ProblèmeModifierConserver explicitement
Sujet trop grandposition et échelle dans compositionpoint de vue, lumière, palette
Mise en page décaléerelations spatiales et espace négatifapparence du sujet, matières
Image trop chaudetempérature et palettegéométrie et texte
Produit trop plastiquematière, reflets, brillanceforme, position, étiquette
Texte incorrecttexte exact, nombre, positiontous les pixels non textuels si possible
Style correct, identité perduetraits du sujet ou force de référencecomposition et fond

Écrivez par exemple : « Modifier uniquement le titre. Conserver le cadrage, le point de vue, la géométrie, la lumière, les couleurs et tous les autres textes ».

Les guides officiels recommandent également de séparer les modifications des contraintes de conservation et d’affiner un seul élément par itération. Chaque résultat devient alors explicable.

Échecs courants et récupération

La sortie n’est pas un JSON valide

Demandez de réparer l’objet existant :

Répare le contenu suivant en JSON valide. Conserve tout ce qui est appuyé
par l’image. N’ajoute aucune nouvelle affirmation visuelle. Renvoie uniquement JSON.

Un schéma structuré réduit les erreurs de syntaxe, mais ne prouve pas la véracité de l’analyse.

Le générateur ignore les champs

Transformez le JSON en sections de langage naturel. Placez CONSERVER, MODIFIER et NE PAS AJOUTER à la fin. Supprimez les détails secondaires qui masquent les contraintes essentielles.

La composition dérive

Ajoutez des relations concrètes :

  • « le centre du sujet se situe vers 30 % de la largeur » ;
  • « le bord gauche du titre suit le même guide que l’image » ;
  • « le produit occupe le tiers inférieur » ;
  • « la moitié droite reste presque vide ».

Les coordonnées orientent sans garantir. Vérifiez la sortie réelle.

Le texte exact est faux

Mettez la chaîne entre guillemets, indiquez son nombre d’occurrences et sa position, puis interdisez le texte supplémentaire. Suivez un workflow text-first si le fournisseur le recommande. Quand l’exactitude est impérative, prévoyez une composition finale dans un outil de design. La documentation actuelle d’OpenAI reconnaît encore des limites de placement et de lisibilité du texte ; Google recommande aussi de préparer d’abord le texte pour les images typographiques.

Le personnage ou le produit change

Utilisez la meilleure sortie précédente comme entrée d’édition au lieu de repartir de zéro. Répétez un court bloc d’identité, de géométrie et d’étiquettes. Comparez plusieurs exécutions, car la cohérence des personnages, marques et mises en page précises peut encore varier.

La requête échoue avant l’image

Enregistrez l’erreur et le request ID. Corrigez d’abord authentification, quota, format d’entrée ou modération. Réessayez avec délai uniquement les erreurs temporaires de limite ou de serveur ; modifiez d’abord une requête corrigeable par l’utilisateur.

Sauvegarder une fiche d’acceptation

{
  "run_id": "v03-b",
  "reference_file": "reference.png",
  "analysis_json": "reference.v01.json",
  "generator_and_version": "noter-la-valeur-réelle",
  "settings": {
    "aspect_ratio": "noter-la-valeur-réelle",
    "quality": "noter-la-valeur-réelle",
    "seed": null
  },
  "scores": {
    "subject": 2,
    "composition": 2,
    "spatial_relations": 2,
    "lighting": 1,
    "color": 2,
    "materials": 1,
    "text": 2,
    "style_and_mood": 2
  },
  "hard_gates": {
    "unsupported_claims": false,
    "contradictions": false,
    "required_text_wrong": false,
    "critical_layout_wrong": false,
    "unrequested_elements": false
  },
  "decision": "accept",
  "next_change": null
}

Ainsi, « je préfère B » devient une décision traçable. La fiche montre aussi si un changement de modèle a réellement amélioré la qualité ou seulement modifié le style.

Questions fréquentes

Peut-on retrouver exactement le prompt original ?

Non. On peut produire une description utile des éléments visibles. Le processus initial peut avoir inclus des références cachées, seeds, réglages, instructions écartées, plusieurs retouches et de la postproduction.

Que mettre dans les champs caméra et lumière ?

Décrivez les effets visibles : point de vue, perspective, profondeur de champ, douceur des ombres, direction apparente et température. N’affirmez pas un équipement exact ni une technologie invisible sans autre source vérifiée.

Tous les générateurs acceptent-ils le JSON ?

Non. Conservez le JSON comme spécification maîtresse et transformez-le vers le format que votre outil suit le mieux.

Combien d’itérations faut-il ?

Commencez par trois ou quatre variantes, choisissez la meilleure base et modifiez un groupe par tour. Arrêtez-vous lorsque tous les critères obligatoires passent et que de nouvelles modifications n’améliorent plus l’usage réel.

Un score de similarité élevé suffit-il ?

Non. Il peut masquer un texte faux, une mise en page inversée, un objet supplémentaire ou un logo inventé. Le contrôle champ par champ reste nécessaire.

Sources et niveau de preuve

Le principe est indépendant du fournisseur : conservez les faits observables dans une structure, formulez clairement les changements et acceptez la sortie en la comparant à la référence.

Prêt à optimiser votre workflow LLM ?

Connectez vos modèles via une API unique, gérez les clés et maîtrisez vos dépenses d’IA.

Commencer gratuitement