Guide d'optimisation de la modération d'images GPT : Comment réduire les erreurs 400 moderation_blocked

CryptoCrypto
·18 septembre 2026·13 min de lecture·Mis à jour 18 septembre 2026·35 vues
#GPT Image#Génération d'images#Modération de contenu#Ingénierie de prompt#Guide API
Guide d'optimisation de la modération d'images GPT : Comment réduire les erreurs 400 moderation_blocked

Si vous générez des images avec des modèles GPT Image (gpt-image-2, gpt-image-2.5) quel que soit le volume, vous finirez par rencontrer une erreur frustrante : HTTP 400, accompagnée d'un message indiquant que votre requête a été rejetée par le système de sécurité. Pas d'image, pas de sortie partielle, et un prompt qui vous semblait pourtant parfaitement raisonnable.

Ce guide explique ce qu'est réellement cette erreur, ce qui la déclenche en pratique, et comment ajuster les prompts et les images de référence pour qu'elle se produise moins souvent. Il est basé sur 30 jours de données de production de l'API d'image de TokenLab (du 19 août au 18 septembre 2026), ainsi que sur la documentation officielle de génération d'images d'OpenAI. Lorsque nous citons des chiffres, il s'agit de statistiques globales de la plateforme ; aucun contenu client n'est reproduit.

Qu'est-ce que cette erreur réellement ?

Les modèles GPT Image filtrent chaque prompt, chaque image d'entrée et chaque image générée en fonction de la politique de contenu du fournisseur. Lorsqu'un filtre se déclenche, la requête échoue avec une erreur 400 dont le discriminateur stable est le code d'erreur :

{
  "error": {
    "type": "image_generation_user_error",
    "code": "moderation_blocked",
    "moderation_details": {
      "moderation_stage": "input",
      "categories": ["sexual"]
    }
  }
}

Selon la documentation officielle, moderation_details est facultatif et délibérément imprécis : moderation_stage vous indique si le blocage provient de vos entrées (input) ou de l'image générée (output), et categories contient des étiquettes publiques larges telles que harassment, self-harm, sexual ou violence. Il n'expose jamais les scores internes des classificateurs.

Sur TokenLab, le même événement apparaît sous deux formes :

  • Appels synchrones (/v1/images/generations, /v1/images/edits) renvoient immédiatement une erreur HTTP 400.
  • Tâches asynchrones passent à l'état failed avec le message "The request was rejected by the safety system."

Dans les deux cas, deux faits opérationnels sont importants. Premièrement, un blocage de modération est déterministe pour un même contenu : réessayer une requête inchangée ne réussit pratiquement jamais. Deuxièmement, sur TokenLab, une tâche bloquée par la modération est traitée comme une tâche échouée et le quota pré-déduit est automatiquement remboursé en totalité — vous ne payez jamais pour une génération bloquée.

Trente jours de données de production

Entre le 19 août et le 18 septembre 2026, environ 4,3 % des tâches GPT Image sur TokenLab — soit environ une sur 23 — ont été rejetées par le système de sécurité en amont. La distribution n'est pas aléatoire ; les requêtes bloquées se regroupent étroitement autour de quelques modèles :

SignalTâches bloquéesToutes les autres tâchesLecture
Le prompt mentionne des mineurs (enfant, gamin, bébé, "7 ans", ...)79%33%Le prédicteur le plus fort
Termes liés au rendu photoréaliste ("photoréaliste", "humain réel", "prise de vue réelle")77%57%Amplificateur, surtout avec des mineurs
Descripteurs à connotation sexuelle (nu, sexy, lingerie, termes centrés sur le corps)43%17%Prédicteur fort
Mots génériques d'action/violence (bataille, épée, explosion)~50%~50%Aucune valeur prédictive par lui-même

Trois autres conclusions tirées de la même période :

  • Les images de référence augmentent le risque. Les tâches avec des images d'entrée/référence ont été bloquées à 8,4 %, contre 3,7 % pour la génération basée uniquement sur du texte — soit plus du double. Les images sont modérées aussi strictement que le texte.
  • Les prompts longs échouent davantage. Les prompts bloqués comptaient en moyenne environ 3 600 caractères, et plus de la moitié dépassaient les 2 000 caractères. Chaque clause supplémentaire augmente la surface d'analyse pour un classificateur.
  • Les tentatives de répétition n'ont jamais abouti. Chaque tâche bloquée durant cette période a fini dans un état d'échec terminal ; aucune n'a réussi en soumettant à nouveau la même entrée. Et chacune d'entre elles a été remboursée automatiquement.

Le flux de travail le plus souvent bloqué que nous avons observé : les fiches de conception de personnages photoréalistes de mineurs — des prompts de style "casting de référence" qui décrivent un personnage enfant avec un rendu ultra-réaliste, des proportions corporelles précises et des notes sur les vêtements. Les prompts combinant un vocabulaire lié aux mineurs avec un rendu photoréaliste ont été bloqués à ~9,5 %, soit 2,2 fois le taux de base.

Cinq modèles qui déclenchent des blocages

En analysant la population bloquée, presque chaque rejet tombe dans l'une de ces catégories :

  1. Représentations photoréalistes de mineurs. Personnages enfants ou bébés rendus comme "un humain réel photographié en studio", "ultra-photoréaliste", "pas de CGI, pas d'illustration". La combinaison d'un mineur et du photoréalisme est la limite la plus strictement surveillée dans la modération d'images, et elle se déclenche même lorsque l'intention est une simple fiche de personnage innocente.
  2. Termes centrés sur les vêtements ou le corps autour des mineurs. Des expressions comme "gros plan sur la clavicule dénudée" (destiné à un simple portrait) ou des mesures détaillées des proportions corporelles de la tête aux pieds d'un personnage enfant. Individuellement innocents, ils sont lus globalement comme une description centrée sur le corps d'un mineur.
  3. Descripteurs sexualisés de personnages adultes. Vocabulaire axé sur la pose, la peau et les sous-vêtements ("lingerie", "nu", "pose séduisante"), même dans des compositions par ailleurs appropriées (SFW).
  4. Anatomie gore graphique. Prompts d'horreur et de dark fantasy décrivant de la chair en décomposition, des organes exposés, des plaies ouvertes ou des parasites avec des détails anatomiques.
  5. Images de référence de personnes réelles. Photos réelles de mineurs, images avec une forte exposition de peau, ou visages ressemblant à des célébrités utilisés comme entrées d'édition.

Deux amplificateurs rendent tout ce qui précède plus susceptible de provoquer un blocage : les prompts très longs (plus de texte signifie plus de chances d'avoir une mauvaise combinaison) et les listes de mots négatifs. Une ligne comme "pas de nudité, pas de contenu sexuel, pas de gore" ne rassure pas le classificateur — elle répète les concepts que vous voulez éviter et les ajoute à l'entrée. Décrivez ce que vous voulez, pas ce que vous ne voulez pas.

Le guide d'optimisation des prompts

Voici les techniques de réécriture basées sur les données. (Les exemples sont illustratifs, ils ne proviennent pas du trafic client.)

1. Éloignez les mineurs du photoréalisme

Si votre histoire, bande dessinée ou jeu nécessite des personnages enfants, rendez-les dans un médium clairement stylisé :

Avant : "Photo de casting ultra-photoréaliste d'une fille de 7 ans, enfant
humain réel photographié en studio, proportions corporelles détaillées,
gros plan sur le visage dénudé au-dessus de la clavicule ..."

Après :  "Illustration à l'aquarelle de style livre d'histoires d'une jeune fille
en robe de la dynastie Ming, portrait au-dessus des épaules, visage rond,
chignon double attaché avec des rubans en tissu, expression douce, fond blanc uni"

Changez le médium (aquarelle, animation 2D, dessin animé 3D, style livre d'images), abandonnez le cadrage "humain réel / photographié", et ignorez complètement les mesures corporelles. Si vous devez décrire des vêtements, décrivez ce que le personnage porte ("portant une veste en tissu à col rond") plutôt que ce qu'il ne porte pas.

2. Supprimez les listes de mots négatifs

Remplacez "pas de nudité, pas de sang, pas de texte, pas de filigrane" par une formulation positive : "entièrement vêtu", "composition propre", "fond uni". Ne gardez que les négations qui ne nomment pas une catégorie restreinte (par exemple, "pas de filigrane" est acceptable ; "pas de nudité" n'aide pas).

3. Raccourcissez le prompt

Si vous générez des fiches de personnages multi-panneaux, ne répétez pas le même bloc de style dans chaque description de panneau. Une phrase de style partagée plus des spécificités par panneau vous maintient sous le seuil de surface d'analyse où les combinaisons déclenchantes accidentelles deviennent probables.

4. Désamorcez le gore avec l'atmosphère, pas l'anatomie

Avant : "son corps en décomposition, crâne exposé, chair, pustules et parasites ..."

Après :  "une moitié sereine et maternelle, l'autre moitié se dissolvant dans
l'ombre et la brume marine, décomposition suggérée par la silhouette et
l'éclairage plutôt que par des détails anatomiques"

La dark fantasy survit à la modération lorsque l'horreur est portée par l'ambiance, l'éclairage et la silhouette plutôt que par une description au niveau des tissus.

5. Neutralisez la proximité avec le contenu adulte

Pour les personnages adultes, remplacez les mots axés sur le corps et les sous-vêtements par un langage lié à la mode et à l'ambiance : "robe de soirée" au lieu de "lingerie", "contrapposto confiant" au lieu de "pose séduisante".

Hygiène des images de référence

Parce que les entrées d'image sont également modérées — et dans nos données, elles font plus que doubler le taux de blocage — traitez les images de référence comme faisant partie du prompt :

  • Préférez les références stylisées pour les mineurs. Une illustration ou un rendu 3D d'un personnage enfant est une entrée beaucoup plus sûre qu'une photographie réelle d'un enfant, et fonctionne généralement tout aussi bien pour la cohérence du personnage.
  • Recadrez sur ce qui compte. Si vous avez besoin d'un visage pour la cohérence de l'identité, téléchargez le recadrage du visage, pas une photo de plage en pied. Moins de peau et moins de contexte signifient moins de surface pour le classificateur.
  • Supprimez le texte superposé et les filigranes. Les légendes, le texte de mèmes et les chaînes de filigrane sur les images de référence sont lus comme du texte d'entrée et peuvent contenir des mots déclencheurs que vous aviez oubliés.
  • Évitez les ressemblances avec des célébrités réelles, à la fois comme images de référence et comme texte de prompt "dans le style de <acteur>".

Le paramètre de modération

Les modèles GPT Image acceptent un paramètre moderation avec deux valeurs, selon la documentation officielle :

  • auto (par défaut) : filtrage standard qui limite certaines catégories de contenu potentiellement inapproprié pour l'âge.
  • low : filtrage moins restrictif.

TokenLab transmet ce paramètre à la fois sur /v1/images/generations et /v1/images/edits :

curl https://api.tokenlab.sh/v1/images/generations \
  -H "Authorization: Bearer $TOKENLAB_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-image-2",
    "prompt": "Illustration à l'aquarelle de style livre d'histoires d'une jeune fille en robe de la dynastie Ming, portrait au-dessus des épaules",
    "size": "1024x1024",
    "moderation": "low"
  }'

Utilisez low lorsque votre contenu est clairement bénin mais continue d'être signalé — le travail d'illustration stylisée en est le cas classique. Deux mises en garde : low n'est pas off (les catégories illégales telles que le CSAM sont toujours bloquées), et c'est un curseur, pas une garantie — corrigez d'abord le prompt, puis utilisez le paramètre.

Gestion des blocages dans le code

Les conseils officiels sont explicites : les échecs image_generation_user_error sont corrigeables par l'utilisateur et ne doivent pas être relancés sans modifier la requête. Nos données le confirment — aucune tâche bloquée durant la période de 30 jours n'a été récupérée en relançant une requête inchangée. La bonne gestion :

  • Discriminez sur error.code, pas sur le texte du message. Seul moderation_blocked (et image_generation_user_error en général) signifie "corrigez l'entrée". Les limites de débit et les erreurs 5xx peuvent toujours être relancées.
  • Lisez le stade. moderation_stage: "input" signifie réécrivez le prompt ou changez l'image de référence ; "output" signifie que l'image générée elle-même a été signalée — relancer avec un prompt légèrement ajusté et moins risqué résout généralement le problème.
  • Gardez le message destiné à l'utilisateur final générique ("Cette requête n'a pas pu être complétée en raison des exigences de sécurité du contenu") et enregistrez moderation_details ainsi que l'ID de la requête pour votre propre débogage et support.
  • Ne faites pas de boucles. Arrêtez après un blocage de modération par entrée unique ; soumettre à nouveau un contenu identique gaspille de la latence et du temps de débogage, même si TokenLab le rembourse.

Liste de contrôle

Votre situationDéclencheur probableCorrection
Fiche de conception de personnage enfantMineur × photoréalismeMédium stylisé, pas de mesures corporelles, formulation positive pour les vêtements
Portrait adulte photoréaliste bloquéDescripteurs sexualisésFormulation axée sur la mode/l'ambiance ; envisagez moderation="low"
Créature dark fantasy / horreurAnatomie goreAtmosphère et silhouette plutôt que détails des tissus
Édition avec photo de référence bloquéeImage d'entrée réelle / avec beaucoup de peauRecadrez plus serré, utilisez une référence stylisée, supprimez le texte superposé
Prompt multi-panneaux long bloquéSurface d'analyse du prompt + listes négativesDédoublonnez le texte standard, supprimez les listes de mots négatifs
Travail stylisé bénin toujours signaléConservatisme du classificateurmoderation="low"

FAQ

Dois-je payer pour une génération bloquée ? Non. Sur TokenLab, les tâches bloquées par la modération échouent et le quota pré-déduit est remboursé automatiquement et en totalité.

Relancer le même prompt aide-t-il ? Non. En 30 jours de données, aucune tâche bloquée n'a réussi lors d'une nouvelle tentative inchangée. Modifiez d'abord l'entrée.

Est-ce que moderation="low" désactive le filtrage de sécurité ? Non. Il réduit la restrictivité ; les catégories de contenu illégal restent bloquées quoi qu'il arrive.

Les images de référence sont-elles vraiment modérées ? Oui — à la fois le prompt et chaque image d'entrée sont filtrés, et les tâches avec des images de référence ont été bloquées à plus du double du taux des tâches basées uniquement sur du texte dans nos données.

Puis-je voir exactement quelle règle s'est déclenchée ? Uniquement au niveau imprécis de moderation_details.categories, et seulement lorsque le système en amont l'inclut. Les fournisseurs ne dévoilent délibérément pas les rouages internes des classificateurs.

Limitations

Les statistiques ci-dessus sont des agrégats sur 30 jours provenant du trafic de production de TokenLab et décrivent des tendances, pas des garanties ; les classificateurs de modération changent avec le temps, et le même prompt peut être traité différemment après une mise à jour en amont. Les exemples de réécriture sont des modèles illustratifs, pas des données client. Validez toujours par rapport au comportement actuel avec un petit test avant un traitement par lots.

Pour essayer ces modèles, parcourez le catalogue de modèles d'image, consultez le guide de génération d'images asynchrone pour la gestion du cycle de vie des tâches, et vérifiez docs.tokenlab.sh pour le format de requête actuel.

Partager:

Modèles publics récents

Construire avec les modèles de ce guide

Comparez les prix, testez les routes et transformez la recherche en appel API fonctionnel.