Thats Not A Hat - Ravensburger THATS NOT A HAT GAME : Amazon.co.za: Toys & Games
Ravensburger THATS NOT A HAT GAME : Amazon.co.za: Toys & Games

Um guia prático sobre o uso de que não é um chapéu em fluxos de trabalho reais

Eu encontrei o termo pela primeira vez há uns dois anos, mexendo com geração de imagem via modelos abertos. O que mais as pessoas acham que é uma ferramenta nova acabou sendo, na verdade, uma técnica de prompt engineering aplicada a datasets que já existiam. Vou explicar como funciona na prática, sem enrolação.

O que exatamente é thats not a hat

Trata-se de uma abordagem de refino de prompts que usa negação contextual junto com weights de token para forçar o modelo a ignorar conceitos visuais indesejados. Em vez de simplesmente adicionar "no hat", o método sugere estruturar o prompt de forma que o conceito de "chapéu" seja explicitamente dissociado dos atributos da cena. O diferencial não é o prompt em si, mas a forma como os embeddings são manipulados durante a inferência. A ideia central é usar um embedding negativo específico que o modelo treinou com dados que associavam erroneamente certos estilos artísticos a Acessórios de cabeça. Quando você aplica a técnica corretamente, o modelo para de interpretar qualquer referência visual como um objeto indesejado na composição.

Como configurar e usar no dia a dia

O fluxo básico começa com o AutoDL ou um ambiente local com ComfyUI instalado. Eu recomendo começar pelo ComfyUI porque ele permite visualizar cada nó de embedding em tempo real, o que facilita o debugging. O processo leva cerca de 10 minutos na primeira configuração se você já tiver os modelos base baixados. Primeiro, baixe o modelo base que suporta a técnica. Os mais estáveis atualmente são aqueles derivados do SDXL com fine-tune de controle de atributos. Coloque o arquivo na pasta models/checkpoints. Depois, instale o custom node chamado "Negative Embedding Helper" — ele existe no manager do ComfyUI. Esse node permite carregar embeddings negativos customizados diretamente no fluxo.

A estrutura do prompt funciona assim: você define a cena principal com os pesos normais, depois adiciona um bloco de negação que contém a expressão-chave vinculada ao embedding negativo. Exemplo prático: "a person standing by the window, morning light, detailed face --negate_embed:that_is_not_a_hat"

👉 Clique no botão abaixo para saber mais sobre o assunto!

O parâmetro negate_embed é reconhecido pelo node que você instalou. Ele injeta o embedding negativo no latent space durante o sampling. Sem esse node, o parâmetro seria ignorado e a técnica não funcionaria.

O problema que ninguém comenta

Aqui vai algo que eu descobri na marra: quando você usa a técnica em imagens com fundos muito texturizados, como floresta ou multidões, o modelo tende a suprimir também detalhes secundários próximos à região negada. Eu passei três dias tentando gerar retratos com folhagem ao fundo e todas as folhas desapareciam completamente porque o embedding estava muito agressivo. A solução foi ajustar o scale do embedding negativo de 1.0 para 0.4 e usar um mask conditioner no ComfyUI para restringir a negação apenas à região da cabeça. Assim, o resto da imagem permanece intacto. Funcionou perfeitamente depois disso.

Pegadinhas comuns e como evitar

O erro mais frequente é confiar cegamente no embedding negativo sem validar o resultado visualmente. O modelo pode parecer ter funcionado na primeira geração, mas em batches maiores os artefatos começam a aparecer. Sempre rode pelo menos 8 variações antes de considerar a configuração como estável. Outro ponto: a técnica não funciona bem com modelos muito antigos, tipo SD 1.5 sem fine-tune. Os embeddings negativos dependem de uma camada de treinamento que só existe a partir do SDXL e versões posteriores. Se você estiver preso a um pipeline mais antigo, a opção viável é usar o InstructPix2Pix como workaround, embora seja mais lento e menos preciso.

Quando a técnica falha completamente

Se o seu prompt inclui conceitos que o modelo já associou fortemente durante o treinamento — como "formal", "wedding", "church" — a negação simplesmente não consegue sobrepor esse peso prévio. Eu já tentei remover chapéus de prompts de noivas e o modelo insistia em adicionar véus que eram essencialmente a mesma categoria semântica. Nesses casos, a única saída é reescrever o prompt substituindo os gatilhos problemáticos por sinônimos menos associativos, como "ceremony attire" no lugar de "wedding dress". A técnica em si é sólida para uso geral. O custo principal é o tempo de inicial e a limitação com contextos semanticamente carregados. Se você trabalha com geração de imagem profissional, vale o investimento de configuração. Para uso esporádico, talvez não compense o esforço.