Se você gera imagens com modelos GPT Image (gpt-image-2, gpt-image-2.5) em qualquer volume, eventualmente encontrará um erro frustrante: HTTP 400, e uma mensagem dizendo que sua solicitação foi rejeitada pelo sistema de segurança. Sem imagem, sem saída parcial, e um prompt que parecia perfeitamente razoável para você.
Este guia explica o que é esse erro, o que o aciona na prática e como ajustar prompts e imagens de referência para que ele ocorra menos. Ele é baseado em 30 dias de dados de produção da API de imagens da TokenLab (19 de agosto a 18 de setembro de 2026), além da documentação oficial de geração de imagens da OpenAI. Onde citamos números, eles são estatísticas agregadas da plataforma; nenhum conteúdo de cliente é reproduzido.
O que o erro realmente é
Os modelos GPT Image filtram cada prompt, cada imagem de entrada e cada imagem gerada de acordo com a política de conteúdo do provedor. Quando um filtro é acionado, a solicitação falha com um 400 cujo discriminador estável é o código de erro:
{
"error": {
"type": "image_generation_user_error",
"code": "moderation_blocked",
"moderation_details": {
"moderation_stage": "input",
"categories": ["sexual"]
}
}
}
De acordo com a documentação oficial, moderation_details é opcional e deliberadamente genérico: moderation_stage informa se o bloqueio veio de suas entradas (input) ou da imagem gerada (output), e categories carrega rótulos públicos amplos como harassment, self-harm, sexual ou violence. Ele nunca expõe pontuações internas do classificador.
Na TokenLab, o mesmo evento aparece de duas formas:
- Chamadas síncronas (
/v1/images/generations,/v1/images/edits) retornam HTTP 400 imediatamente. - Tarefas assíncronas transitam para
failedcom a mensagem "The request was rejected by the safety system."
De qualquer forma, dois fatos operacionais são importantes. Primeiro, um bloqueio de moderação é determinístico para o mesmo conteúdo: tentar novamente uma solicitação inalterada praticamente nunca funciona. Segundo, na TokenLab, uma tarefa bloqueada por moderação é tratada como uma tarefa com falha e a cota pré-deduzida é automaticamente reembolsada integralmente — você nunca paga por uma geração bloqueada.
Trinta dias de dados de produção
Entre 19 de agosto e 18 de setembro de 2026, cerca de 4,3% das tarefas de GPT Image na TokenLab — aproximadamente uma em cada 23 — foram rejeitadas pelo sistema de segurança upstream. A distribuição não é aleatória; as solicitações bloqueadas agrupam-se fortemente em torno de alguns padrões:
| Sinal | Tarefas bloqueadas | Todas as outras tarefas | Leitura |
|---|---|---|---|
| Prompt menciona menores (criança, bebê, "7 anos", ...) | 79% | 33% | Preditor individual mais forte |
| Termos de renderização fotorrealista ("fotorrealista", "humano real", "live-action") | 77% | 57% | Amplificador, especialmente com menores |
| Descritores sexualmente adjacentes (nu, sexy, lingerie, termos focados no corpo) | 43% | 17% | Preditor forte |
| Palavras genéricas de ação/violência (batalha, espada, explosão) | ~50% | ~50% | Sem valor preditivo por si só |
Mais três descobertas do mesmo período:
- Imagens de referência aumentam o risco. Tarefas com imagens de entrada/referência foram bloqueadas em 8,4%, contra 3,7% para geração apenas de texto — mais que o dobro. Imagens são moderadas tão estritamente quanto o texto.
- Prompts longos falham mais. Prompts bloqueados tiveram uma média de cerca de 3.600 caracteres, e mais da metade excedeu 2.000 caracteres. Cada cláusula extra é mais área de superfície para um classificador.
- Tentativas de reenvio nunca recuperaram. Cada tarefa bloqueada no período terminou em um estado de falha terminal; nenhuma obteve sucesso ao reenviar a mesma entrada. E todas foram reembolsadas automaticamente.
O fluxo de trabalho mais bloqueado que observamos: folhas de design de personagens fotorrealistas de menores — prompts no estilo "referência de elenco" que descrevem um personagem infantil com renderização ultrarrealista, proporções corporais precisas e notas sobre roupas. Prompts que combinam vocabulário relacionado a menores com renderização fotorrealista foram bloqueados em ~9,5%, 2,2x a taxa base.
Cinco padrões que acionam bloqueios
Analisando a população bloqueada, quase toda rejeição cai em um destes grupos:
- Representações fotorrealistas de menores. Personagens infantis ou bebês renderizados como "um humano real fotografado em estúdio", "ultrafotorrealista", "não CGI, não ilustração". A combinação de um menor e fotorrealismo é a fronteira mais fortemente protegida na moderação de imagens, e ela é acionada mesmo quando a intenção é uma folha de personagem inocente.
- Termos focados em roupas ou corpo em torno de menores. Frases como "close-up da clavícula para cima sem roupas" (pretendido como um corte de retrato simples) ou medições detalhadas de proporção corporal da cabeça aos pés de um personagem infantil. Individualmente inocentes, no agregado eles são lidos como descrição focada no corpo de um menor.
- Descritores sexualizados de personagens adultos. Vocabulário focado em pose, pele e roupas íntimas ("lingerie", "nu", "pose sedutora"), mesmo em composições que seriam seguras para o trabalho (SFW).
- Anatomia com gore gráfico. Prompts de terror e fantasia sombria que descrevem carne apodrecendo, órgãos expostos, feridas abertas ou parasitas em detalhes anatômicos.
- Imagens de referência de pessoas reais. Fotos reais de menores, imagens com alta exposição de pele ou rostos semelhantes a celebridades usados como entradas de edição.
Dois amplificadores tornam tudo acima mais propenso a falhas: prompts muito longos (mais texto significa mais chances de uma combinação ruim) e listas de palavras negativas. Uma linha como "sem nudez, sem conteúdo sexual, sem gore" não tranquiliza o classificador — ela repete os conceitos que você deseja evitar e os adiciona à entrada. Descreva o que você quer, não o que você não quer.
O manual de ajuste de prompt
Estes são os movimentos de reescrita que mapeiam os dados. (Os exemplos são ilustrativos, não provenientes de tráfego de clientes.)
1. Mantenha menores longe do fotorrealismo
Se sua história, quadrinho ou jogo precisa de personagens infantis, renderize-os em um meio claramente estilizado:
Antes: "Foto de elenco ultrafotorrealista de uma menina de 7 anos, criança
humana real fotografada em estúdio, proporções corporais detalhadas, close-up
facial sem roupas da clavícula para cima ..."
Depois: "Ilustração em aquarela de livro de histórias de uma jovem menina com
vestido da dinastia Ming, retrato dos ombros para cima, rosto redondo, coques
de cabelo presos com fitas de tecido, expressão gentil, fundo branco simples"
Mude o meio (aquarela, animação 2D, desenho animado 3D, estilo de livro infantil), abandone a estrutura "humano real / fotografado" e pule as medições corporais completamente. Se você precisar descrever roupas, descreva o que o personagem veste ("vestindo uma jaqueta de tecido com gola redonda") em vez do que ele não veste.
2. Exclua listas de palavras negativas
Substitua "sem nudez, sem sangue, sem texto, sem marca d'água" por frases positivas: "totalmente vestido", "composição limpa", "fundo simples". Mantenha apenas negativos que não nomeiem uma categoria restrita (por exemplo, "sem marca d'água" é aceitável; "sem nudez" não ajuda).
3. Corte o prompt
Se você gerar folhas de personagens com vários painéis, não repita o mesmo bloco de estilo em cada descrição de painel. Uma frase de estilo compartilhada mais especificações por painel mantém você abaixo do limite de área de superfície onde combinações acidentais de gatilhos se tornam prováveis.
4. Desarme o gore com atmosfera, não anatomia
Antes: "seu corpo apodrecendo, crânio exposto, carne, pústulas e parasitas ..."
Depois: "uma metade serena e maternal, a outra metade dissolvendo-se em sombra
e névoa, decadência sugerida através de silhueta e iluminação em vez de
detalhes anatômicos"
A fantasia sombria sobrevive à moderação quando o horror é carregado pelo clima, iluminação e silhueta em vez de descrição em nível de tecido.
5. Neutralize a adjacência de conteúdo adulto
Para personagens adultos, troque palavras focadas no corpo e roupas íntimas por linguagem de moda e clima: "vestido de noite" em vez de "lingerie", "contrapposto confiante" em vez de "pose sedutora".
Higiene de imagem de referência
Como as entradas de imagem também são moderadas — e em nossos dados elas mais que dobram a taxa de bloqueio — trate as imagens de referência como parte do prompt:
- Prefira referências estilizadas para menores. Uma ilustração ou renderização 3D de um personagem infantil é uma entrada muito mais segura do que uma fotografia real de uma criança, e geralmente funciona tão bem para a consistência do personagem.
- Corte para o que importa. Se você precisa de um rosto para consistência de identidade, envie o corte do rosto, não uma foto de corpo inteiro na praia. Menos pele e menos contexto significam menos superfície para o classificador.
- Remova texto sobreposto e marcas d'água. Legendas, texto de memes e strings de marca d'água em imagens de referência são lidos como texto de entrada e podem carregar palavras de gatilho que você esqueceu que estavam lá.
- Evite semelhanças de celebridades reais, tanto como imagens de referência quanto como texto de prompt "no estilo de <ator>".
O parâmetro de moderação
Os modelos GPT Image aceitam um parâmetro moderation com dois valores, de acordo com a documentação oficial:
auto(padrão): filtragem padrão que limita certas categorias de conteúdo potencialmente impróprio para a idade.low: filtragem menos restritiva.
A TokenLab passa esse parâmetro em /v1/images/generations e /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": "Ilustração em aquarela de livro de histórias de uma jovem menina com vestido da dinastia Ming, retrato dos ombros para cima",
"size": "1024x1024",
"moderation": "low"
}'
Use low quando seu conteúdo for claramente benigno, mas continuar sendo sinalizado — trabalhos de ilustração estilizada são o caso clássico. Duas advertências: low não é off (categorias ilegais, como CSAM, são sempre bloqueadas), e é um ajuste, não uma garantia — corrija o prompt primeiro, depois recorra ao parâmetro.
Lidando com bloqueios no código
A orientação oficial é explícita: falhas de image_generation_user_error são corrigíveis pelo usuário e não devem ser tentadas novamente sem alterar a solicitação. Nossos dados concordam — nenhuma tarefa bloqueada na janela de 30 dias foi recuperada ao tentar novamente uma solicitação inalterada. A forma correta de lidar:
- Discrimine pelo
error.code, não pelo texto da mensagem. Apenasmoderation_blocked(eimage_generation_user_errorem geral) significa "corrija a entrada". Limites de taxa e 5xx ainda podem ser tentados novamente. - Leia o estágio.
moderation_stage: "input"significa reescrever o prompt ou trocar a imagem de referência;"output"significa que a própria imagem gerada foi sinalizada — refazer com um prompt ligeiramente ajustado e com menos risco geralmente resolve. - Mantenha a mensagem do usuário final genérica ("Esta solicitação não pôde ser concluída devido aos requisitos de segurança de conteúdo") e registre
moderation_detailse o ID da solicitação para sua própria depuração e suporte. - Não faça loops. Interrompa após um bloqueio de moderação por entrada única; reenviar conteúdo idêntico desperdiça latência e tempo de depuração, mesmo que a TokenLab o reembolse.
Lista de verificação
| Sua situação | Gatilho provável | Correção |
|---|---|---|
| Folha de design de personagem infantil | Menor × fotorrealismo | Meio estilizado, sem medições corporais, termos de roupa positivos |
| Retrato adulto fotorrealista bloqueado | Descritores sexualizados | Termos de moda/clima; considere moderation="low" |
| Criatura de fantasia sombria / terror | Anatomia com gore | Atmosfera e silhueta em vez de detalhes de tecido |
| Edição com foto de referência bloqueada | Entrada de pessoa real / muita pele | Corte mais justo, use referência estilizada, remova texto sobreposto |
| Prompt longo de vários painéis bloqueado | Área de superfície do prompt + listas negativas | Remova boilerplate, exclua listas de palavras negativas |
| Trabalho estilizado benigno ainda sinalizado | Conservadorismo do classificador | moderation="low" |
Perguntas frequentes
Eu pago por uma geração bloqueada? Não. Na TokenLab, tarefas bloqueadas por moderação falham e a cota pré-deduzida é reembolsada automaticamente e integralmente.
Tentar novamente o mesmo prompt ajuda? Não. Em 30 dias de dados, nenhuma tarefa bloqueada obteve sucesso em uma tentativa de reenvio inalterada. Altere a entrada primeiro.
O moderation="low" desativa a filtragem de segurança? Não. Ele reduz a restritividade; categorias de conteúdo ilegal permanecem bloqueadas independentemente.
Imagens de referência são realmente moderadas? Sim — tanto o prompt quanto cada imagem de entrada são filtrados, e tarefas com imagens de referência foram bloqueadas a uma taxa mais que o dobro da taxa apenas de texto em nossos dados.
Posso ver exatamente qual regra foi acionada? Apenas no nível genérico de moderation_details.categories, e apenas quando o upstream o inclui. Os provedores deliberadamente não expõem os internos do classificador.
Limitações
As estatísticas acima são agregados de 30 dias do tráfego de produção da TokenLab e descrevem tendências, não garantias; os classificadores de moderação mudam com o tempo, e o mesmo prompt pode ser tratado de forma diferente após uma atualização de upstream. Os exemplos de reescrita são modelos ilustrativos, não dados de clientes. Sempre valide em relação ao comportamento atual com um pequeno teste antes de uma execução em lote.
Para experimentar esses modelos, navegue pelo catálogo de modelos de imagem, revise o guia de geração de imagem assíncrona para lidar com o ciclo de vida da tarefa e verifique docs.tokenlab.sh para o formato de solicitação atual.



