Transforme fotos de banco de imagens em arte cinematográfica de IA em lote com o SDXL numa GPU de 4 GB

Um fluxo do ComfyUI gratuito e totalmente local que restiliza uma pasta inteira de fotos com o SDXL e um ControlNet de profundidade. Roda numa placa de vídeo com apenas 4 GB de VRAM.

Anton Tenitsky13 de outubro de 20264 min de leituraVersão em vídeo abaixo

Este guia foi traduzido do inglês com IA e pode conter erros. Leia o original.

Uma porta cinematográfica metálica escura de ficção científica gerada com o SDXL a partir de uma foto de um portão ornamentado de cidade do deserto

Fotos são ótimos pontos de partida para arte de IA: trazem composição, profundidade e iluminação, então você precisa de muito menos prompt. Este fluxo pega uma pasta inteira de fotos e restiliza cada uma delas, tudo de graça e no seu próprio computador. Rodei numa placa de vídeo com 4 GB de VRAM.

Ele usa SDXL. O Flux dá resultados melhores, mas é muito mais pesado. Se você tem uma GPU pequena, esta é a versão para você.

Em resumo

  • Modelo: Juggernaut XL, um modelo SDXL de 6 GB. Ainda roda com 4 GB de VRAM.
  • Estrutura: um mapa de profundidade de cada foto conduz um ControlNet de profundidade do SDXL.
  • Ajustes: resolução de profundidade 768, 30 steps, CFG 4.
  • Lote: uma pasta de fotos, processadas uma após a outra.
  • O fluxo pronto está no meu Patreon, mas está tudo explicado aqui.
Uma grade de fotos de uma antiga cidade murada do deserto: muralhas, portões e arcos
A entrada: meu pacote de fotos da cidade murada do deserto na Fotoref, da qual sou cofundador. Sua própria biblioteca de fotos funciona igualmente bem.

Custom nodes

Pelo ComfyUI Manager: WAS Node Suite para o carregador em lote, comfyui_controlnet_aux para o Depth Anything, ComfyUI Essentials, KJNodes para salvar, e rgthree para a comparação antes/depois.

1. Carregue a pasta

O Load Image Batch (do WAS Node Suite) está em incremental: aponta para uma pasta e pega a próxima imagem a cada execução.

2. Gere um mapa de profundidade

Cada foto entra no Depth Anything, que gera um mapa de profundidade em tons de cinza: branco para o que está perto, preto para o que está longe. É esse mapa, e não a foto em si, que guia a IA. Você mantém a estrutura da foto e ganha novos materiais, iluminação e estilo.

Um mapa de profundidade em tons de cinza de uma porta em arco, 1114 por 768 pixels
O mapa de profundidade de uma porta em arco: perto é branco, longe é preto.

O ajuste resolution do nó importa. Minhas fotos tinham de 4K a 7K pixels de largura, grandes demais. O valor de resolução define o lado curto da imagem, e o lado longo escala na proporção, então funciona igual para fotos em retrato e em paisagem. Usei 768; 1024 funciona se sua GPU aguentar.

O nó Depth Anything com o modelo vitl e o ajuste de resolução
A resolução no Depth Anything define o lado curto de cada imagem.

3. Aplique o ControlNet de profundidade

O mapa de profundidade entra no Apply ControlNet com um modelo ControlNet de profundidade do SDXL. Encontre um no Model Manager do ComfyUI buscando «SDXL depth», baixe, recarregue o navegador e escolha-o no menu. O Apply ControlNet então alimenta o KSampler.

4. O modelo

O Load Checkpoint carrega o Juggernaut XL, da RunDiffusion, um modelo de 6 GB.

O nó Load Checkpoint com o modelo Juggernaut XL e uma nota explicativa
Juggernaut XL, um checkpoint SDXL de 6 GB.

Um espectador perguntou como um modelo de 6 GB roda numa placa de 4 GB. Funciona porque o ComfyUI gerencia a memória por você: quando o modelo não cabe na VRAM, ele mantém parte na RAM do sistema e traz as peças conforme são necessárias. Isso o deixa mais lento do que numa placa maior, mas roda.

5. O prompt

O prompt positivo é curto, porque a foto faz a maior parte do trabalho. Usei «Star Wars» como um atalho rápido para um estilo reconhecível. Troque pelo que quiser: «sci-fi, black metallic city», um castelo medieval, qualquer coisa.

O nó de prompt positivo com um prompt curto de ficção científica
Um prompt curto: a profundidade da foto carrega a composição.

Deixo o prompt negativo vazio. A maioria dos modelos que usei, e já testei 20 ou 30, funciona só com prompts positivos. Os dois prompts passam pelo Apply ControlNet e seguem para o sampler.

6. Tamanho, amostragem e decodificação

A imagem redimensionada também passa pelo VAE Encode. A função dele aqui é só definir o tamanho da tela latente, o ruído que o sampler transforma em imagem. Com denoise em 1,0, nenhum pixel da foto sobrevive; só o mapa de profundidade molda o resultado.

Os ajustes do KSampler vêm da página do modelo no Civitai, onde você encontra os ajustes recomendados para a maioria dos modelos da comunidade:

  • Seed: increment, para as imagens serem numeradas em ordem (654, 655 e assim por diante).
  • Steps: 30.
  • CFG: 4.
  • Sampler e scheduler: conforme recomendado na página do modelo.
O nó KSampler com a seed em increment, 30 steps, CFG 4 e o sampler recomendado
O KSampler, nos valores recomendados pelo modelo.

O VAE Decode converte o resultado em pixels, e um rgthree image comparer mostra a foto e o resultado lado a lado.

Uma porta cinematográfica metálica escura de ficção científica gerada a partir de uma foto de um portão de cidade do deserto
Um portão em arco do pacote de fotos, reimaginado como uma porta escura de ficção científica.

7. Salve onde quiser

Em vez da pasta de saída padrão do ComfyUI, uso um nó de salvamento que grava numa pasta que eu escolho, com SDXL como prefixo do nome do arquivo. Aponte para onde o seu projeto estiver.

Um nó Save Image com o prefixo de nome de arquivo SDXL e uma pasta de saída personalizada
Salvando numa pasta personalizada, com um prefixo.

Depois enfileire o lote e deixe-o percorrer a pasta. Navegue por alguns pacotes de fotos, ou pela sua própria galeria, e você terá muitas ideias muito rápido.

Assista à versão em vídeo (7:10)

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 SDXL roda numa GPU de 4 GB?

Sim. Rodei este fluxo, com o modelo Juggernaut XL de 6 GB, numa placa com 4 GB de VRAM. O gerenciamento de memória do ComfyUI faz funcionar, embora seja mais lento que numa placa maior.

Que ajustes o Juggernaut XL precisa?

Usei os ajustes recomendados do Civitai para o modelo: 30 steps e CFG 4, com o sampler e o scheduler listados na página do modelo.

Devo usar SDXL ou Flux para isso?

O Flux dá resultados melhores, mas precisa de mais memória e é mais lento. O SDXL é a opção para GPUs pequenas e para gerar ideias rápido.

Anton Tenitsky é artista 3D com mais de 15 anos em computação gráfica, que trabalhou com Nickelodeon, Gameloft, Marvel Rivals e muitos outros clientes. Mais sobre mim

Guias relacionados