Pular para o conteúdo

Técnica

Como escrever prompts quando nada os reescreve

Quando nada reescreve seu prompt, o que você digita é exatamente o que vai para a renderização: sua redação é a única variável disponível e a única coisa que há para depurar. Isso transforma a escrita de prompts em disciplina, e não em uma coleção de macetes. Descreva o quadro e a luz em vez de empilhar adjetivos, mude uma coisa por vez para saber a que atribuir a diferença e trate o prompt negativo como um campo que cada modelo declara ou não, e não como um hábito: alguns o têm, a maioria não.

O que uma requisição realmente leva

Uma requisição de geração leva um ID de modelo, um prompt e as opções que esse modelo aceita: para imagem, um tamanho; para vídeo, uma resolução, uma duração e, em alguns modelos, uma proporção; além dos endereços das imagens de referência, se houver. Essa é a superfície inteira, descrita endpoint por endpoint na referência da API. Nada se interpõe entre seu texto e a renderização: nenhuma etapa de reescrita, nenhum controle de guidance, nenhuma contagem de passos. Seed e prompt negativo estão disponíveis em alguns modelos e ausentes na maioria; o endpoint do catálogo e a página de cada modelo dizem quais. Quando um modelo vem com um expansor de prompt como configuração do fabricante, ele é enviado desligado.

É a falta dessa camada intermediária que explica por que tantos truques de prompt existem em outros lugares. A documentação de geração de imagem da OpenAI diz que o modelo “will automatically revise your prompt for improved performance”, devolve o texto reescrito em um campo revised_prompt e não documenta nenhuma forma de desligar isso. Hackear prompt é o que acontece quando se negocia com uma camada de reescrita automática, e aqui não há com quem negociar; um gerador de imagem que não reescreve prompts desmonta essa camada peça por peça.

Chaves que o endpoint não define simplesmente não são lidas. Coloque um valor de cfg ou uma contagem de passos no JSON e nada acontece, nem mesmo um erro. seed e negative_prompt são a exceção: são lidos nos modelos que os declaram, e um modelo que não declara um deles devolve 400 em vez de engolir o campo. Vale saber disso antes de passar uma tarde ajustando um campo que nunca chegou ao modelo.

Mude uma coisa só e conheça seu nível de ruído

Uma comparação só pode ser lida quando uma única coisa mudou. Troque a redação e o tamanho na mesma execução e você terá duas explicações para a diferença e nenhum jeito de separá-las: a execução não ensinou nada além de que algo aconteceu.

Existe uma segunda fonte de variação, e ela não vem de você. Sem seed, o adaptador sorteia uma nova a cada requisição, e nos modelos que não declaram seed não há campo nenhum para fixar; por isso o mesmo prompt enviado duas vezes não volta como a mesma imagem. Escolher resolução e duração explica o mecanismo e por que repetir em um nível maior é um sorteio novo, não uma ampliação. Meça essa variação antes de tirar conclusões de uma edição. Gere sua linha de base duas vezes, veja a distância entre os dois resultados e trate essa distância como a menor diferença que uma mudança de redação precisa superar. Faça isso na opção mais barata do modelo, já que cada tentativa gasta créditos e a página de preços mostra quanto cada uma custa.

Você não precisa de caderno de anotações para isso. O prompt é armazenado palavra por palavra ao lado da geração e volta em cada registro do endpoint de gerações, então seu histórico já é o diário do experimento. Copie de lá uma frase que funcionou em vez de redigitá-la: redigitar é uma edição que você não pretendia fazer.

Descreva o quadro, não o clima

Empilhar adjetivos deixa a composição para o modelo decidir. Palavras como moody, ethereal e hyperdetailed não nomeiam sujeito, posição nem direção da luz; expressam um desejo sobre o resultado, não descrevem uma imagem. O guia de prompts do Hugging Face Diffusers enuncia a regra diretamente: lista sujeito, estilo e contexto e depois orienta a “use these elements as a structured narrative, not a keyword list”, porque os modelos atuais leem linguagem em vez de casar palavras-chave.

Listas longas também falham de um jeito documentado. Em Attend-and-Excite (Chefer et al., SIGGRAPH 2023), os autores avaliam “catastrophic neglect, where the model fails to generate one or more of the subjects from the input prompt” e relatam que o modelo também “fails to correctly bind attributes (e.g., colors) to their corresponding subjects”. O problema começa com dois sujeitos e duas cores, não com dez.

Então escreva decisões. O que está no quadro e onde fica, de onde vem a luz e quão dura ela é, o que a lente faz com o fundo. Cada uma pode ser conferida na renderização: dá para ver se a luz veio da esquerda. Não dá para ver se ela ficou ethereal, então essa palavra nunca vai dizer se sua edição funcionou.

Prompt negativo não existe em todo modelo

Recorrer ao prompt negativo é memória muscular de pipelines locais, e nunca foi um jeito de escrever. É um argumento à parte, passado ao laço de amostragem. A referência do Diffusers define negative_prompt como “the prompt or prompts not to guide the image generation” e observa que ele é “ignored when not using guidance”: o campo existe porque há uma etapa de guidance com um ramo incondicional do qual se afastar.

Aqui o prompt negativo só existe nos modelos que o declaram; em todos os outros, qualquer coisa que você digitar é descrição. “No watermark, no text” é uma frase que menciona uma marca-d’água e um texto. Afirme o positivo: em vez de no hat, diga o que está na cabeça; em vez de not blurry, diga o que está nítido e com que rapidez o fundo se desfaz.

Quando um elemento indesejado sobrevive a várias tentativas, pare de sortear de novo. Entregue o quadro que você tem a um modelo de edição como referência e descreva a mudança em relação a ele, o que é uma requisição mais curta e de outra natureza. O catálogo indica quais modelos leem referências, e manter um personagem consistente mostra o que um anexo carrega e uma frase não consegue carregar.

O que a redação não compra

Vídeo exige mais do mesmo campo. Um clipe é renderizado como uma tomada única, então sua frase precisa carregar movimento e câmera além do quadro, e a câmera é a parte que as pessoas esquecem: se você a omite, o modelo escolhe uma no seu lugar. Converter imagem em vídeo trata dessa passagem, e chamar a API pelo código é o mesmo ciclo conduzido por um script.

O que nenhuma formulação compra é um atalho pelas regras. A verificação automática analisa o prompt em busca de uma lista fixa de categorias proibidas, com menores de idade à frente; uma requisição barrada é recusada antes de a execução começar, então não custa nada. Ela procura categorias em vez de ler seu tom, e reformular não tira uma requisição de dentro delas. Usar uma pessoa real sem consentimento é proibido pelos termos; a verificação recusa um nome conhecido, mas uma pessoa comum é assunto dos termos, não da detecção, e trocar as palavras também não muda isso. O que é permitido e o que é bloqueado mostra onde fica a linha.

Dúvidas frequentes

Alguma coisa altera meu prompt antes de o modelo recebê-lo?

Não. Não existe etapa de reescrita, e quando um modelo vem com um expansor de prompt como configuração do fabricante, ele é enviado desligado. O texto armazenado com sua geração é o texto que foi renderizado, então uma frase copiada de volta do histórico se comporta como da primeira vez.

Onde coloco um prompt negativo?

No campo negative_prompt, nos modelos que o declaram; a página de cada modelo e o endpoint do catálogo dizem quais são. Envie o campo a um modelo que não o declara e a requisição volta com 400, em vez de ele ser engolido. Onde não há campo, escreva a afirmação positiva, ou mande a imagem de volta por um modelo de edição e descreva a correção em relação a ela.

Por que o mesmo prompt me dá uma imagem diferente a cada vez?

Sem seed, o adaptador sorteia uma nova a cada requisição, e os modelos que não declaram seed não oferecem nada para fixar. Meça isso em vez de brigar com isso: gere sua linha de base duas vezes e trate a distância entre os resultados como a menor diferença que uma mudança de redação precisa superar.

Guias relacionados

Todos os guias

Veja o catálogo antes de gastar qualquer coisa

Sem assinatura. Adicione créditos e pague só pelo que usar.

Escolher um modelo