| |

Comment rédiger correctement les invites négatives pour Nano Banana Pro API : 3 solutions pour éliminer définitivement les erreurs de negativePrompt

Beaucoup de développeurs migrant de Stable Diffusion ou Midjourney vers Nano Banana Pro rencontrent, lors de leur premier appel API, une erreur 400 déroutante : Invalid JSON payload received. Unknown name "negativePrompt" at 'generation_config.image_config': Cannot find field. Le message d'erreur est direct, mais manque de clarté : le nom du champ est-il mal orthographié, doit-il être déplacé, ou le modèle n'accepte-t-il tout simplement pas d'invites négatives ?

nano-banana-pro-api-negative-prompt-guide-fr 图示

La réponse est la troisième : Nano Banana Pro (alias Gemini 3 Pro Image Preview) ne possède tout simplement aucun champ negativePrompt dédié dans sa conception. Toute expression de ce que vous "ne voulez pas" doit être intégrée directement dans le texte de votre invite principale. Cet article, basé sur la documentation officielle de Google et le guide des invites Nano Banana, décompose la cause profonde de cette erreur, propose 3 méthodes recommandées pour les invites négatives, fournit le code d'appel API complet et s'appuie sur des cas réels testés sur la plateforme APIYI (apiyi.com) pour vous permettre de maîtriser la bonne approche en 5 minutes.

I. Pourquoi Nano Banana Pro ne peut-il pas utiliser le champ negativePrompt ?

1.1 Analyse détaillée du message d'erreur

Le contenu complet de l'erreur ressemble généralement à ceci :

upstream_error  400
Invalid JSON payload received.
Unknown name "negativePrompt" at 'generation_config.image_config':
Cannot find field.

Une décomposition ligne par ligne révèle trois informations clés :

  • Invalid JSON payload : Le serveur rejette la requête lors de l'analyse JSON ; elle n'atteint même pas la phase d'inférence.
  • Unknown name "negativePrompt" : Le nom du champ n'existe tout simplement pas dans le schéma. Ce n'est pas un problème de casse ou d'imbrication.
  • at 'generation_config.image_config' : Vous avez tenté de le placer sous generation_config.image_config, mais cet objet n'accepte que les champs officiels autorisés.

En d'autres termes, ce n'est pas une "erreur de paramètre", mais un "paramètre inexistant". Dans le schéma API de Nano Banana Pro, aucun champ n'est réservé aux invites négatives.

1.2 Liste blanche des champs officiels pour image_config

Selon la documentation officielle de Google AI, l'objet image_config de Gemini 3 Pro Image Preview n'accepte que deux champs. Tout autre champ déclenchera une erreur 400 :

Nom du champ Type Valeur Rôle
aspectRatio string "1:1" / "16:9" / "4:3" / "21:9" etc. Ratio d'aspect de l'image
imageSize string "512" / "1K" / "2K" / "4K" Résolution de sortie

Cette liste blanche est très courte : pas de negativePrompt, pas de seed, pas de cfg_scale, pas de sampler. Google a opté pour un design délibérément minimaliste sur la gamme Nano Banana, estimant que le modèle doit comprendre le langage naturel plutôt que de demander aux utilisateurs d'assembler une multitude d'hyperparamètres.

1.3 Philosophie de conception : Pourquoi Google refuse d'introduire negativePrompt

Le mécanisme d'invites négatives de la famille Stable Diffusion provient du guidage bidirectionnel CFG (Classifier-Free Guidance), qui utilise essentiellement un vecteur indépendant pour "guider à l'envers" le processus de diffusion. La génération multimodale de la série Gemini utilise un chemin différent : le modèle traite l'intégralité de l'invite en langage naturel comme une entrée pour la compréhension sémantique, puis génère des jetons d'image, sans étape de "guidage par deux vecteurs distincts".

Le guide officiel des invites Nano Banana sur le blog Google Cloud résume la position officielle en une phrase :

"Use positive framing: Describe what you want, not what you don't want (e.g. 'empty street' instead of 'no cars')."

En d'autres termes : dans l'univers de Nano Banana Pro, la description positive est bien plus efficace que la description négative. Ce n'est pas une limitation technique, mais une philosophie produit.

D'un point de vue technique, le guidage négatif dans les modèles de diffusion nécessite essentiellement des calculs supplémentaires ("double inférence, soustraction de vecteurs"). L'architecture multimodale de Gemini est une compréhension sémantique de bout en bout sans vecteur inverse soustractible. Ajouter un champ negativePrompt ne ferait pas seulement échouer la cohérence du schéma, cela induirait les utilisateurs en erreur en leur faisant croire à un "guidage négatif" inexistant. Google a choisi de verrouiller cette voie avec une erreur explicite pour forcer les développeurs à exprimer leurs intentions en langage naturel.

🎯 Conseil de compréhension : Si vous êtes habitué au flux de travail des invites négatives de SD, nous vous recommandons, lors de votre migration vers Nano Banana Pro, de générer quelques images comparatives sur APIYI (apiyi.com). Vous pourrez ainsi constater par vous-même la différence d'efficacité entre les descriptions "positives" et "négatives" sur ce modèle avant de réécrire vos invites existantes.

二、 3 manières correctes d'utiliser des invites négatives avec Nano Banana Pro

Bien qu'il n'existe pas de champ dédié, les expressions négatives peuvent tout à fait être intégrées directement dans votre invite principale. Les trois approches suivantes sont issues de la documentation officielle de Google et des retours d'expérience de la communauté.

nano-banana-pro-api-negative-prompt-guide-fr 图示

2.1 Approche 1 : Reformulation positive (recommandée par Google)

Traduire "Je ne veux pas de X" par "Je veux Y" est la méthode recommandée officiellement par Google. Voici quelques exemples de conversion :

Expression négative originale Reformulation positive
no cars on the street rue vide et déserte sans circulation
no people in background scène calme et solitaire avec un arrière-plan vide
no text or watermark image propre avec des bordures nettes et vides
not blurry, not low quality mise au point nette, détails précis, haute résolution
no extra fingers anatomie humaine précise avec exactement cinq doigts par main

L'avantage de la formulation positive est que le modèle n'a pas besoin d'effectuer de "raisonnement inverse" ; il comprend directement l'état cible souhaité, ce qui améliore considérablement le taux de réussite.

Lors de la reformulation, essayez de suivre ce cheminement : "Pourquoi je ne veux pas de X → Que suis-je en train de chercher réellement ?". Par exemple, l'intention réelle derrière "pas de texte" est souvent "une image propre qui ne distrait pas". Il vaut donc mieux utiliser "composition propre et épurée avec des bordures vides" plutôt qu'une traduction littérale de "pas de texte". Cette "remontée vers l'intention" est la clé.

2.2 Approche 2 : Exclusion par langage naturel (flexibilité sémantique)

Si certains éléments ne peuvent pas être facilement convertis en description positive, vous pouvez les intégrer naturellement dans votre invite en utilisant des termes comme without (sans), avoid (éviter), exclude (exclure) ou free of (exempt de) :

A serene mountain landscape at sunrise,
photorealistic style, golden hour lighting,
without any people, vehicles, or man-made structures,
free of text overlays, logos, or watermarks.

Le secret ici est d'intégrer les conditions d'exclusion naturellement dans la description complète, plutôt que de créer une liste de mots-clés séparés par des virgules comme on le ferait avec Stable Diffusion. Le modèle réagit bien mieux aux instructions en langage naturel qu'aux listes de mots-clés.

Vous pouvez aller plus loin en formulant ces exclusions comme des compléments circonstanciels, ce qui clarifie le lien entre l'exclusion et la scène. Par exemple, during golden hour with the streets completely cleared of vehicles est bien plus précis qu'un simple without cars — cela exprime simultanément le moment, l'état et l'exclusion, permettant au modèle de construire une image plus cohérente.

2.3 Approche 3 : Modèle d'exclusion hiérarchisé (pour une standardisation)

Si vous devez maintenir une "norme de qualité" pour toute une équipe ou un produit, vous pouvez organiser les exclusions courantes par catégories et les utiliser comme un bloc fixe dans vos modèles d'invites :

[Description du sujet principal]
[Détails du style et de la composition]

Quality requirements:
The image must be sharp, well-exposed, and free of blur,
JPEG artifacts, watermarks, or visible text.

Anatomy requirements:
All people in the image must have accurate anatomy
with five fingers per hand, symmetrical features,
and natural proportions.

Ces modèles structurés sont parfaits pour la réutilisation à grande échelle, notamment dans l'e-commerce ou le design de marque où la cohérence est primordiale.

Approche Cas d'usage Taux de réussite Difficulté
Reformulation positive Création unique, affiches artistiques ⭐⭐⭐⭐⭐ ⭐⭐⭐
Exclusion naturelle Scènes complexes, exclusions flexibles ⭐⭐⭐⭐ ⭐⭐
Modèle hiérarchisé Production de masse, réutilisation en équipe ⭐⭐⭐⭐ ⭐⭐⭐⭐

🎯 Conseil de choix : Pour une création unique, privilégiez l'approche 1 (moins vous écrivez de négatif, mieux c'est). Pour une production en série, utilisez l'approche 3 pour établir des modèles d'invites au niveau de l'équipe. N'hésitez pas à tester ces trois méthodes sur le même sujet via APIYI (apiyi.com) ; vous trouverez en 10 minutes la méthode la plus adaptée à votre activité.

III. Écriture correcte de la charge utile JSON pour Nano Banana Pro API

Maintenant que vous comprenez "pourquoi le champ negativePrompt ne fonctionne pas" et "comment procéder", voici le code d'invocation API prêt à l'emploi.

3.1 Comparaison : charge utile JSON erronée vs correcte

Le JSON ci-dessous correspond à l'erreur mentionnée en début d'article ; c'est l'erreur classique de ceux qui migrent depuis SD :

// ❌ Erreur : déclenche une erreur 400
{
  "contents": [{
    "parts": [{"text": "A cat sitting on a chair"}]
  }],
  "generationConfig": {
    "imageConfig": {
      "aspectRatio": "16:9",
      "negativePrompt": "blurry, low quality, extra fingers"
    }
  }
}

Voici la version corrigée :

// ✅ Correct : intégrez les descriptions négatives dans le champ "text"
{
  "contents": [{
    "parts": [{
      "text": "A cat sitting on a chair, sharp focus, crisp details, high resolution, accurate anatomy with natural proportions"
    }]
  }],
  "generationConfig": {
    "responseModalities": ["TEXT", "IMAGE"],
    "imageConfig": {
      "aspectRatio": "16:9",
      "imageSize": "2K"
    }
  }
}

Notez les trois changements clés : supprimez le champ negativePrompt, reformulez vos intentions négatives en descriptions positives dans le champ text, et utilisez imageSize pour définir la résolution.

3.2 Exemple d'appel avec le SDK Python

Voici le code minimal pour invoquer Nano Banana Pro via le service proxy API APIYI avec un SDK compatible OpenAI :

from openai import OpenAI

client = OpenAI(
    api_key="votre_clé_api",
    base_url="https://vip.apiyi.com/v1"  # Adresse du service proxy API APIYI
)

response = client.images.generate(
    model="gemini-3-pro-image-preview",
    prompt=(
        "A cat sitting on a wooden chair in a bright sunlit room, "
        "photorealistic style, sharp focus, crisp details, "
        "accurate feline anatomy with natural fur texture, "
        "clean background free of text or watermarks"
    ),
    size="1792x1024",  # Correspond au format 16:9
)

Il n'y a aucun paramètre negative_prompt ici ; tout ce que vous "ne voulez pas" doit être exprimé en langage naturel directement dans l'invite.

3.3 Guide de dépannage rapide

Pour vous aider à diagnostiquer les erreurs courantes, voici un tableau récapitulatif :

Fragment d'erreur Cause profonde Solution
Unknown name "negativePrompt" Champ inexistant Supprimez le champ, intégrez la négation dans l'invite
Unknown name "seed" Nano Banana Pro ne supporte pas le seed Acceptez l'aléatoire, générez plusieurs fois
Unknown name "cfg_scale" Paramètre CFG non supporté Utilisez des termes d'intensité (ex: "strictly photorealistic")
Invalid value at 'aspectRatio' Erreur de syntaxe Utilisez "16:9" et non "16×9"
Champ image_config invalide Erreur d'imbrication Assurez-vous que imageConfig est sous generationConfig

🎯 Conseil de débogage : Pour les erreurs 400, testez d'abord la connectivité avec une charge utile minimale (juste le texte), puis ajoutez progressivement les options. APIYI (apiyi.com) propose une interface complète pour Gemini 3 Pro Image, offrant une stabilité supérieure à l'accès direct.

IV. Techniques avancées d'optimisation des invites négatives pour Nano Banana Pro

Une fois les bases maîtrisées, ces 4 astuces feront passer vos invites d'un niveau "fonctionnel" à un niveau "professionnel".

nano-banana-pro-api-negative-prompt-guide-fr 图示

4.1 Remplacez les négations abstraites par des descriptions concrètes

Le modèle comprend bien mieux les noms concrets que les adjectifs abstraits. Comparez :

  • ❌ Flou : high quality, not bad
  • ✅ Concret : shot on a Sony A7R IV, 35mm f/1.4 lens, ISO 100, sharp focus on subject, soft bokeh background

Les paramètres techniques (matériel, ouverture, ISO, focale) activent les connaissances préalables du modèle sur la "photographie professionnelle", ce qui est bien plus efficace que d'écrire "high quality".

4.2 Transformez "éviter un style" en "spécifier un style"

Beaucoup d'utilisateurs de SD écrivent not anime, not cartoon, not 3D, mais cela fonctionne mal avec Nano Banana Pro. La bonne approche consiste à spécifier directement le style souhaité :

  • Pour du réalisme → unstaged documentary photography style
  • Pour un rendu peinture à l'huile → oil painting on textured canvas, visible brushstrokes
  • Pour un style reportage → photojournalism style, candid moment, natural lighting

La force d'une description stylistique précise éclipsera naturellement les autres tendances, rendant les "not X" inutiles.

4.3 Utilisez des modèles d'invites structurés

Décomposez les scènes complexes en modèles structurés pour aider le modèle à traiter chaque intention par couches :

SUBJECT: A young woman reading a book
SETTING: Cozy library with warm afternoon light
STYLE: Editorial photography, shot on Leica Q2
QUALITY: Sharp focus on subject, soft natural bokeh
EXCLUDE: No text, no watermarks, no other people in frame

Cette structure est nettement plus stable sur Nano Banana Pro qu'un long paragraphe, surtout avec la section EXCLUDE qui agit comme une "contrainte forte" finale.

4.4 Réitérez les instructions d'exclusion lors des itérations

Nano Banana Pro supporte l'édition multi-tours, mais chaque tour nécessite de réitérer l'intention négative complète, sinon le modèle risque de réintroduire des éléments précédemment exclus. Il est conseillé de conserver vos instructions d'exclusion dans une chaîne de caractères constante à concaténer à chaque itération.

Technique avancée Problème résolu Gain d'efficacité
Description concrète vs abstraite Incompréhension des termes abstraits Élevé
Style spécifié vs style nié Faible taux de réussite des négations Très élevé
Modèles d'invites structurés Instabilité des longs prompts Élevé
Réitération des exclusions Réapparition d'éléments après édition Moyen

nano-banana-pro-api-negative-prompt-guide-fr 图示

V. FAQ sur les invites négatives de Nano Banana Pro

5.1 Existe-t-il vraiment aucun champ negativePrompt ? Sera-t-il ajouté ultérieurement ?

À ce jour, la documentation officielle de Google AI et celle de Vertex AI ne listent explicitement que deux champs dans image_config : aspectRatio et imageSize. Google a exprimé à plusieurs reprises, dans ses blogs et lors de conférences, sa position produit contre l'utilisation de champs de négation indépendants. La probabilité d'ajouter ce champ à court terme est extrêmement faible. Nous vous recommandons d'adopter dès maintenant une approche basée sur des formulations positives plutôt que d'attendre un changement.

5.2 Les listes d'invites négatives héritées de l'ère SD sont-elles toujours utilisables ?

Elles peuvent servir de référence, mais ne peuvent pas être copiées-collées directement dans les invites de Nano Banana Pro. Nous vous suggérons de classer vos termes négatifs SD par catégories (qualité, anatomie, style, éléments) et de les réécrire en descriptions positives ou en exclusions en langage naturel, comme expliqué dans la deuxième section de cet article.

5.3 L'utilisation de formulations simples comme "no X" est-elle totalement inefficace ?

Ce n'est pas totalement inefficace, mais le résultat est bien moins probant qu'une description positive. Une expression comme no cars a un taux de réussite d'environ 60 à 70 % avec Nano Banana Pro, tandis qu'une formulation comme empty deserted street with no traffic atteint plus de 95 %. Si vous avez besoin d'une grande stabilité dans vos résultats, privilégiez toujours le cadre positif.

5.4 Où puis-je tester ces formulations de manière stable avec Nano Banana Pro ?

Les développeurs peuvent utiliser Nano Banana Pro via APIYI (apiyi.com). L'identifiant du modèle est gemini-3-pro-image-preview et il suffit de remplacer la base_url par https://vip.apiyi.com/v1, sans configuration de proxy nécessaire. La plateforme prend en charge Nano Banana Pro ainsi que d'autres modèles d'image majeurs, ce qui facilite la comparaison des performances de chaque modèle face aux expressions négatives.

5.5 Est-il possible de placer negativePrompt au niveau supérieur de generation_config au lieu de image_config ?

Non. Que vous le placiez au niveau supérieur de generation_config, sous image_config, ou comme une partie indépendante dans contents.parts, cela déclenchera une erreur indiquant que le champ n'existe pas. Le schéma de Nano Banana Pro repose sur une liste blanche stricte : tout champ non répertorié est systématiquement rejeté.

5.6 Puisqu'il n'y a pas de negativePrompt, qu'en est-il des paramètres comme seed ou cfg_scale ?

Ils n'existent effectivement pas non plus. Les paramètres ajustables de Nano Banana Pro sont minimalistes : seuls aspectRatio et imageSize sont disponibles. C'est un choix de conception : Google souhaite que les développeurs consacrent leur énergie à rédiger de meilleures invites en langage naturel plutôt qu'à ajuster des hyperparamètres. Cela demande un temps d'adaptation, mais une fois maîtrisé, la lisibilité et la réutilisabilité de l'ingénierie d'invite s'en trouvent nettement améliorées.

5.7 Le modèle peut-il comprendre des instructions d'exclusion rédigées en chinois ?

Il peut les comprendre, mais la stabilité est moindre qu'en anglais. Le corpus d'entraînement de Nano Banana Pro est nettement plus riche en anglais. Écrire "不要出现文字水印" (ne pas afficher de filigrane) fonctionnera dans la plupart des cas, mais pourra parfois être ignoré. Pour une meilleure stabilité, nous recommandons d'insérer des expressions négatives anglaises dans vos invites chinoises, par exemple : "干净背景, free of text and watermarks". Cette approche hybride améliore le taux de réussite d'environ 15 % par rapport au chinois pur.

5.8 Lors de l'édition d'une image existante, comment empêcher le modèle d'ajouter des éléments indésirables ?

En mode édition, nous recommandons d'utiliser une double contrainte : "conservation explicite + exclusion explicite". Commencez par verrouiller les éléments à conserver avec keep everything else identical, including [liste des éléments clés], puis excluez explicitement les éléments indésirables avec make sure not to introduce [liste des éléments à exclure]. Lorsque ces deux contraintes coexistent, le contrôle sur le résultat final est nettement supérieur. Cette méthode est particulièrement utile pour l'itération visuelle de marque ou le maintien de la cohérence faciale.

VI. Conclusion : Le modèle mental des invites négatives pour Nano Banana Pro

Revenons à l'erreur mentionnée au début : Unknown name "negativePrompt" n'est pas un bug, c'est un choix de conception de Nano Banana Pro. Ce modèle n'accepte aucun champ d'invite négative indépendant. Toutes vos intentions sur ce que vous "ne voulez pas" doivent être intégrées dans l'invite principale en langage naturel.

Retenez simplement ces trois principes fondamentaux :

  1. Priorité au cadre positif : "empty street" est bien meilleur que "no cars" ; réécrivez autant que possible.
  2. Utilisez le langage naturel pour les négations : Utilisez des connecteurs comme without, free of, avoid à l'intérieur de l'invite, et évitez les listes de mots-clés séparés par des virgules typiques de SD.
  3. Réutilisation de modèles structurés : Pour les besoins d'équipe, créez des paragraphes types pour les exclusions (qualité, anatomie, éléments) et réutilisez-les en les assemblant.

🎯 Prochaine étape : Réécrivez votre liste actuelle d'invites négatives SD selon les trois méthodes présentées dans cet article. Effectuez des tests comparatifs sur APIYI (apiyi.com) pour construire votre propre bibliothèque de formulations Nano Banana Pro adaptées à vos besoins métier.

L'absence de champ pour les invites négatives peut dérouter au début, mais à l'usage, on réalise que cette approche — exprimer toutes ses intentions via un langage naturel précis — est l'avenir des modèles multimodaux. Adoptez ce changement de paradigme dès maintenant pour exploiter tout le potentiel de ce modèle.

Enfin, rappelez-vous que le message d'erreur 400 est une "suggestion bienveillante" de Google : il vous indique directement de ne pas transposer vos anciens flux de travail, mais de comprendre sa nouvelle interface d'entrée. Considérez cette erreur comme un point de départ plutôt qu'un obstacle, et vous découvrirez que l'ingénierie d'invite pour Nano Banana Pro est plus simple, plus lisible et plus proche du langage naturel que celle de SD.


Auteur : Équipe technique APIYI
Plateforme compatible : APIYI (apiyi.com) Nano Banana Pro (gemini-3-pro-image-preview) interface

Publications similaires