Quando você passa uma pasta inteira de imagens por um fluxo, algumas são paisagem e outras retrato. Redimensione todas para uma só forma e metade fica esmagada. A solução é um pequeno trecho de lógica que verifica a orientação de cada imagem e escolhe o tamanho certo, um interruptor booleano: ligado ou desligado, A ou B.
Como artista, booleanos eram um conceito novo para mim e levei um tempo para entender, então este guia explica do zero. Não usa nenhum modelo de IA; é lógica pura, parte do meu pipeline automatizado de 3D para concept art maior. Mostro duas versões: uma que alterna imagens (mais fácil de acompanhar) e outra que alterna números (mais rápida).
Em resumo
- Image Aspect Ratio (WAS Node Suite) entrega 1 para paisagem, 0 para retrato.
- Passe-o por um nó If/else; o switch não o aceita diretamente.
- Versão 1: redimensione cada imagem nos dois sentidos e deixe um Image Input Switch escolher a certa.
- Versão 2: alterne apenas os números de largura e altura, com dois Number Input Switches. Mais rápida, e a que eu uso.
- Imagens quadradas não são tratadas; se todas as suas são quadradas, você não precisa disto.
O começo comum: detectar a orientação
As duas versões começam do mesmo jeito.
- O Load Image Batch (do WAS Node Suite) aponta para uma pasta, no modo incremental image, para cada execução carregar a próxima imagem e repetir para sempre. Para testar usei uma pasta com apenas três imagens, para percorrer rápido.
- O Image Aspect Ratio (também do WAS) lê a imagem e entrega
is_landscape_bool: 1 se a imagem é paisagem, 0 se é retrato. Esse é o booleano. - Um nó Display Any (do rgthree) mostra o valor: 1 ou 0. Serve só para diagnóstico e para mostrar aos outros como funciona.
- Um nó If/else repassa o valor. Você não pode conectar a saída da proporção direto à entrada booleana de um switch; passar pelo If/else faz funcionar.
Versão 1: alternar entre imagens
A forma mais fácil de ver o que está acontecendo.
- Redimensione cada imagem que chega duas vezes: uma para um tamanho paisagem e outra, à força, para um tamanho retrato. Use tamanhos que sirvam ao Flux e ao SDXL.
- Conecte as duas a um Image Input Switch (WAS): a paisagem em image_a, a retrato em image_b, e o booleano no switch.
- Se o booleano for 1 (paisagem), o switch entrega a imagem A; se 0 (retrato), a imagem B.
Uma pré-visualização depois do switch confirma que você obteve a forma e o tamanho certos.
O mesmo truque funciona fora da geração de imagens. Quer separar milhares de fotos numa pasta de paisagem e numa de retrato? É este switch com dois nós de salvamento.
O porém: cada imagem é redimensionada duas vezes e as duas cópias ficam na memória. Isso custa tempo a cada execução, e por isso criei a versão 2.
Versão 2: alternar entre números
Em vez de alternar imagens, alterne só os tamanhos. Nada extra fica na memória. Esta versão tem seu próprio vídeo curto: parte 2.
- Dois nós Constant Number guardam os tamanhos: 1920 para o lado longo e 1088 para o lado curto.
- Dois Number Input Switches (WAS), um para a largura e outro para a altura, ambos controlados pelo mesmo booleano.
- Paisagem (1): o switch de largura escolhe o número A (1920) e o de altura escolhe 1088. Retrato (0): escolhem ao contrário, 1088 de largura e 1920 de altura.
- A largura e a altura escolhidas vão para o redimensionamento da imagem e seguem pelo resto do fluxo.
É mais difícil de ler do que alternar imagens, mas é durável, não quebra, e a pré-visualização no final sempre mostra se está funcionando. Permite passar qualquer quantidade de imagens, redimensionadas para o maior tamanho que o SDXL ou o Flux tratam bem em cada orientação.
Além das imagens
Um interruptor booleano é um bloco de construção para qualquer coisa no ComfyUI. Você pode alternar com base em texto que digita, numa descrição ou num prompt. Quando a ficha cai, abre-se muita automação. Se você conhece uma forma mais eficiente de fazer isso, eu adoraria saber nos comentários do vídeo.
Este switch faz parte de um pacote maior de fluxos no meu Patreon, junto com a configuração de profundidade em que ele entra. Essa configuração é explicada em esboço em arte numa GPU de 4 GB.
Assista à versão em vídeo (4:50)
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
Como o ComfyUI sabe se uma imagem é paisagem ou retrato?
O nó Image Aspect Ratio do WAS Node Suite entrega um booleano: 1 (verdadeiro) para paisagem, 0 (falso) para retrato. Você usa esse valor para alternar entre imagens ou números.
Por que preciso do nó If/else?
A saída da proporção não pode ser ligada direto à entrada booleana do switch. Passá-la por um nó If/else a converte num valor que o switch aceita.
E as imagens quadradas?
Esta configuração não as trata. Se suas imagens são quadradas, você nem precisa do switch.
