Peça ao Stable Diffusion «a white vase with red flowers» e muitas vezes você recebe outra coisa: flores brancas, um fundo rosa, uma mesa vermelha. As cores vazam umas para as outras, porque todas as palavras do prompt compartilham o mesmo condicionamento. O ComfyUI tem algumas formas de mantê-las separadas. Aqui vou de simples pesos de prompt a dois nós de condicionamento que dão resultados muito mais previsíveis.
Em resumo
- Pesos:
(red:1.5)deixa uma palavra mais forte. Fique entre cerca de 0,5 e 1,5. - Escolha aleatória:
{red|blue|yellow|pink}escolhe uma opção por imagem, mas as cores ainda vazam. - Conditioning (Concat): um prompt por objeto, unidos de ponta a ponta. As cores ficam onde devem.
- ConditioningAverage: mistura dois prompts; o controle deslizante de força define o equilíbrio.
Se você é novo no ComfyUI, comece por noções básicas do ComfyUI e texto para imagem.
Configuração
Comece por Workflow → Browse Templates → Image generation. Para o checkpoint uso o epiCPhotoGasm, um modelo SD 1.5 com imagens mais realistas. Meu prompt de teste é «white vase with red flowers». Aperte Ctrl+Enter para executar e Q para mostrar resultados anteriores no painel da fila. A contagem do lote ao lado do botão Queue define quantas imagens cada execução faz.
Dando peso a uma palavra
Coloque a palavra entre parênteses com dois pontos e um valor: white vase with (red:1.5) flowers. Isso deixa o vermelho mais vermelho. Você também pode selecionar a palavra e apertar Ctrl+Cima ou Ctrl+Baixo para mudar o valor em pequenos passos. A documentação da comunidade do ComfyUI explica a sintaxe completa, incluindo aninhamento e as escolhas {a|b} abaixo. Mantenha os valores entre cerca de 0,5 e 1,5.
Testei valores mais altos. Em 2,2 ficou vermelho demais e surgiram artefatos.
Opções aleatórias, e onde o vazamento aparece
Chaves com opções separadas por | escolhem uma ao acaso para cada imagem: white vase with {red|blue|yellow|pink} flowers. Rode um lote de quatro e você obtém cores diferentes. Não há um loop de verdade pela lista; é aleatório. (Para percorrer prompts em ordem, veja meu nó Prompt Cycler.)
É aqui que o problema fica óbvio. O modelo calcula as cores juntas e as mistura pela imagem: flores azuis e brancas, um fundo que vira azul ou rosa. Não há controle sobre onde vai cada cor.
Conditioning (Concat): um prompt por objeto
Para impor esse controle, divida o prompt:
- Adicione um segundo CLIP Text Encode e conecte o clip do checkpoint.
- Adicione o Conditioning (Concat). Conecte os dois prompts às entradas conditioning_to e conditioning_from dele, e a saída à entrada positive do KSampler.
- Coloque white vase num prompt e red flowers no outro.
Concat é abreviação de concatenação: pôr peças lado a lado sem fundi-las. «Snow» e «ball» viram «snowball»; os números 3, 5, 7, 8 viram a string «3,5,7,8», não a soma deles. Os prompts ficam separados, então o vermelho não vaza para um fundo rosa nem para uma mesa vermelha.
Num lote de quatro, na maioria obtive flores vermelhas num vaso sobre um fundo limpo. Às vezes deu defeito e virou um campo de flores ou deixou o vaso transparente. Acrescentar transparency ao prompt negativo impediu a maioria dos vasos transparentes, mas não todas as vezes.
Com tudo num só prompt, o peso se distribui por todos os tokens, então você obtém flores vermelhas e brancas misturadas. Às vezes funciona, mas é imprevisível.
Acrescentando um terceiro prompt
Copie um nó de prompt com Ctrl+C, Ctrl+Shift+V (colando com suas conexões) e encadeie um segundo nó Concat: a saída do primeiro Concat mais um terceiro prompt, black background, na entrada positive do KSampler.
Depois de corrigir um erro de digitação, obtive vasos brancos com flores vermelhas sobre fundo preto. Ainda dá defeito de vez em quando (um vaso saiu preto), mas no geral os prompts ficam muito mais previsíveis, e você escolhe a dedo o que serve. Sem isso, as cores se misturam por toda parte.
ConditioningAverage: um controle deslizante entre dois prompts
O ConditioningAverage recebe as mesmas duas entradas e as mistura. O conditioning_to_strength dele define o equilíbrio:
- Em 1,0: sobretudo flores vermelhas, o lado mais forte.
- Em 0,5: uma imagem equilibrada de um vaso branco com flores vermelhas.
- Em cerca de 0,21: flores brancas num vaso branco.
Com «white skull» e «gold crown», e man, woman, female, male no prompt negativo, ele ainda me deu algumas pessoas. Com um valor baixo, pegou quase só a caveira branca e nada da coroa. Mais alto, tudo ficou dourado, caveira incluída, ou mostrou só a coroa. Em algum ponto intermediário obtive uma caveira dourada com uma coroa dourada, e um defeito: uma mulher com algo como uma caveira em cima. Gosto muito de mudar esses valores; os resultados aleatórios podem ser fascinantes. Mais um pouco de trabalho no prompt («white skull isolated», mais face no negativo) mostrou menos rostos.
Para resultados limpos, use o Concat
Para este tipo de prompt, o Concat funciona muito melhor. Com gold crown e white skull isolated unidos por Conditioning (Concat), o dourado parou de se fundir com a caveira.
Escolhi a imagem de que gostei e a ampliei quatro vezes com o fluxo de upscaling de IA gratuito com o SD 1.5.
Assista à versão em vídeo (7:46)
Tudo o que está acima também está no vídeo, se você preferir acompanhar na tela. O vídeo está em inglês.
Perguntas frequentes
O que é vazamento de cor no Stable Diffusion?
Quando um prompt menciona várias cores ou materiais, o modelo os mistura: um «white vase with red flowers» pode sair com flores brancas, um fundo rosa ou uma mesa vermelha. As palavras compartilham um só condicionamento, então a influência delas se espalha pela imagem.
Como mudo o peso de uma palavra num prompt do ComfyUI?
Coloque-a entre parênteses com um valor, como (red:1.5), ou selecione a palavra e aperte Ctrl+Cima / Ctrl+Baixo. Valores entre cerca de 0,5 e 1,5 são seguros; em 2,2 a imagem ficou vermelha demais e com artefatos.
Qual a diferença entre Conditioning Concat e Conditioning Average?
O Concat mantém os prompts como peças separadas lado a lado, então não se misturam. O Average os mistura, e o controle deslizante de força decide qual prompt domina.
