Pular para o conteúdo
ENSAIO / IA

Transformando Imagens em Vídeos com ComfyUI e LTXV em Lote

Aprenda a transformar imagens em vídeos de alta qualidade usando o ComfyUI e o modelo LTX-Video de forma automatizada.

A criação de vídeos a partir de imagens estáticas sempre foi um desafio para designers, artistas e entusiastas da tecnologia. Com o avanço das ferramentas de inteligência artificial, esse processo ficou mais acessível e poderoso. Neste artigo, vou mostrar como utilizar o ComfyUI Img2Video, uma solução inovadora que transforma imagens em vídeos dinâmicos de forma simples e intuitiva. Se você quer dar vida às suas fotos ou explorar novas possibilidades criativas, continue lendo para descobrir como essa tecnologia pode revolucionar seu fluxo de trabalho.

Para expandir seu conhecimento, confira também Agentes IA e Gemini Flash.

Visão Geral e Preparativos Iniciais

ComfyUI + LTXV: O modelo LTX-Video (LTXV), desenvolvido pela Lightricks, permite gerar vídeos de alta qualidade a partir de texto e imagens. Ele utiliza uma arquitetura DiT (Diffusion Transformer) com ~2 bilhões de parâmetros e é capaz de gerar vídeos 768x512 @ 24 FPS em tempo real (AI Video Creation Made Easy: How to Install and Use the LTXV Model in ComfyUI | by Webster | Medium). Por exemplo, consegue produzir um vídeo de 5 segundos em apenas ~4 segundos, superando a velocidade de reprodução normal (AI Video Creation Made Easy: How to Install and Use the LTXV Model in ComfyUI | by Webster | Medium). Iremos usar o ComfyUI (uma interface gráfica de nós para Stable Diffusion) para rodar o LTXV localmente na GPU RTX 3090 de 24GB. Cada imagem será animada com um prompt detalhado descrevendo a cena e a ação, e faremos isso em lote (batch), ou seja, processando centenas de imagens de forma sequencial e automatizada.

Requisitos: Certifique-se de ter o ambiente pronto: Python 3.10+, CUDA 12+ e PyTorch 2.1+ ou superior, além do ComfyUI atualizado (LTX Video Workflow Step-by-Step Guide | ComfyUI Wiki) (LTX Video Workflow Step-by-Step Guide | ComfyUI Wiki). A RTX 3090 24GB atende bem – o LTXV é eficiente e projetado para rodar rápido mesmo em GPUs prosumer (AI Video Creation Made Easy: How to Install and Use the LTXV Model in ComfyUI | by Webster | Medium). Antes de tudo, atualize o ComfyUI para a versão mais recente (use o ComfyUI Manager para isso) (How to use LTX Video 0.9.5 on ComfyUI - Stable Diffusion Art) (How to use LTX Video 0.9.5 on ComfyUI - Stable Diffusion Art).

1. Configurando o ComfyUI para o Modelo LTXV

Instalação do LTXV no ComfyUI: O suporte ao LTXV no ComfyUI é nativo nas versões recentes (suporte day-1). Ainda assim, convém instalar a extensão de nós personalizada ComfyUI-LTXVideo via ComfyUI Manager (busque por “LTXVideo” e instale) (LTX Video Workflow Step-by-Step Guide | ComfyUI Wiki). Como alternativa manual, clone o repositório Lightricks/ComfyUI-LTXVideo na pasta ComfyUI/custom_nodes e instale as dependências (pip install -r requirements.txt) (LTX Video Workflow Step-by-Step Guide | ComfyUI Wiki). Após instalar, reinicie o ComfyUI.

Baixando os modelos necessários: Você precisa colocar os arquivos de modelo nos diretórios corretos do ComfyUI (LTX Video Workflow Step-by-Step Guide | ComfyUI Wiki):

Dica: Utilize o próprio Model Manager do ComfyUI para baixar os encoders de texto, ou um gerenciador de downloads para o T5 (é um arquivo grande) (LTX Video Workflow Step-by-Step Guide | ComfyUI Wiki). Após colocar os modelos nas pastas, reinicie o ComfyUI para carregá-los.

Configurações no ComfyUI: Com tudo instalado, carregue ou monte um workflow de Imagem-para-Vídeo (img2vid) com LTXV. A comunidade fornece fluxos prontos – por exemplo, no repositório oficial há templates JSON que você pode baixar e arrastar para o ComfyUI (LTX Video Workflow Step-by-Step Guide | ComfyUI Wiki):

  • Workflow simples de img2vid (uma imagem inicial): gera um vídeo a partir de uma única imagem de entrada e um prompt. Template: [ltxvideo-i2v.json] – disponível no GitHub (Lightricks LTX-Video Model | ComfyUI_examples). Esse fluxo usa apenas o primeiro frame para guiar o vídeo.
  • Workflow img2vid com múltiplas imagens guia: permite definir quadro inicial e quadros intermediários/finais para controlar a animação (transições). Template: um JSON de exemplo é fornecido no GitHub (Lightricks LTX-Video Model | ComfyUI_examples) – ele utiliza nós de Frame Conditioning para guiar o vídeo com várias imagens.
  • Workflow texto-para-vídeo (text2vid): caso queira gerar vídeo só com prompt (sem imagem), há um fluxo dedicado (Lightricks LTX-Video Model | ComfyUI_examples).

Basta baixar o JSON e carregá-lo no ComfyUI (arrastando na interface ou usando “Load” > selecionar arquivo). Se ao carregar aparecerem blocos vermelhos (missing nodes), clique em Manager > Install Missing Custom Nodes para instalar automaticamente o que faltar (por exemplo, os nós da VideoHelperSuite) (How to use LTX Video 0.9.5 on ComfyUI - Stable Diffusion Art). Em seguida, reinicie o ComfyUI para que todos os nós extras (como Video Combine) estejam disponíveis.

Saída do vídeo: Por padrão, o LTXV gera uma sequência de frames (imagens). Para salvar como vídeo, use os nós da extensão ComfyUI-VideoHelperSuite. O mais importante é o nó Video Combine (ou Save Video), que compila os frames em um arquivo de vídeo (MP4, WEBM ou GIF). Os fluxos de exemplo já incluem esse nó – por exemplo, o tutorial mostra o Video Combine salvando em MP4 (How to use LTX Video 0.9.5 on ComfyUI - Stable Diffusion Art). Assegure-se de configurá-lo (e.g. definir FPS = 24 e nome/dir do arquivo de saída). Assim, cada execução do fluxo resultará em um vídeo salvo no diretório escolhido.

2. Gerando Vídeos a partir de Imagens com Prompts Detalhados

Carregando a imagem inicial: No ComfyUI, localize o nó de Load Image (ou similar) no workflow e selecione a imagem que será o frame inicial do vídeo. Essa imagem serve de condição para o primeiro frame – o modelo vai “animá-la” a partir daí. Por exemplo, se a imagem é o rosto de alguém neutro, o vídeo pode fazê-lo sorrir gradualmente conforme o prompt (How to use LTX Video 0.9.5 on ComfyUI - Stable Diffusion Art). Importante: atualmente o LTXV suporta resoluções múltiplas de 32 (ex: 768x512) e no máximo ~720p para garantir desempenho (LTX Video Workflow Step-by-Step Guide | ComfyUI Wiki). Se suas imagens não estiverem nessa proporção, o ComfyUI pode ajustar ou você deve redimensioná-las antes.

Escrevendo um prompt eficaz: LTXV responde melhor a prompts em inglês, longos e descritivos (Lightricks LTX-Video Model | ComfyUI_examples). Descreva em detalhes a cena, o sujeito, o ambiente e principalmente a ação ou transição que deve ocorrer nos próximos segundos. Por exemplo, para uma foto de uma pessoa séria, um prompt poderia ser: “A close-up of a 25-year-old woman’s face, she slowly starts smiling and blinking, snow gently falling around her”. Inclua detalhes de cenário e movimento. Quanto mais completo o prompt (cenários, movimentos, emoções, etc.), mais rico será o vídeo (LTX Video Workflow Step-by-Step Guide | ComfyUI Wiki). Evite frases curtas – use frases completas em inglês. (Você pode inclusive usar ferramentas como ChatGPT para “expandir” seus prompts curtos em descrições mais ricas (How to use LTX Video 0.9.5 on ComfyUI - Stable Diffusion Art).)

Coerência com a imagem: Certifique-se de que o prompt corresponde à imagem de entrada e ao efeito desejado (How to use LTX Video 0.9.5 on ComfyUI - Stable Diffusion Art). Ou seja, mencione o que já está presente (ex.: aparência da pessoa ou objeto) e o que vai acontecer na animação. Exemplo: se a imagem é de um carro esportivo enferrujado em um galpão, um prompt coerente poderia descrever o carro e dizer que ele começa a se reconstruir e ganhar pintura nova, etc. Essa sintonia fina ajuda o modelo a manter o primeiro frame fiel à imagem original e a partir daí introduzir movimento ou transformação de forma natural.

Gerando o vídeo: Com imagem e prompt definidos, ajuste outros parâmetros conforme necessário no workflow (número de frames do vídeo, FPS, passos de difusão, etc. – os templates geralmente vêm configurados para ~120 frames a 24 FPS, ~5 segundos). Em seguida, clique em Queue Prompt (no topo da interface) para enviar a tarefa para execução (How to use LTX Video 0.9.5 on ComfyUI - Stable Diffusion Art). O ComfyUI vai processar o fluxo e gerar o vídeo. Com uma RTX 3090, um vídeo de ~5 segundos deve levar apenas alguns segundos ou dezenas de segundos, dependendo do número de passos de difusão configurados (o LTXV é muito rápido mesmo em 24FPS (AI Video Creation Made Easy: How to Install and Use the LTXV Model in ComfyUI | by Webster | Medium)). Quando concluir, confira o arquivo de vídeo salvo (ou o animated WEBP/APNG gerado, caso tenha usado esses formatos).

Dica: Se quiser variar o resultado, altere a semente de ruído (noise_seed) no sampler entre execuções (How to use LTX Video 0.9.5 on ComfyUI - Stable Diffusion Art). Mantendo a mesma imagem e prompt, sementes diferentes gerarão variações de movimento.

3. Processamento em Lote de Centenas de Imagens (Bulk Automation)

Agora, para automatizar centenas de imagens em sequência, precisamos configurar uma forma de fila/loop no ComfyUI ou usar um script externo. Existem duas abordagens principais:

A. Usando Extensões de Batch no ComfyUI

A comunidade desenvolveu nós personalizados para facilitar processamento em lote. Algumas opções úteis:

  • ComfyUI-Addoor: Extensão com nós de automação de arquivos. Inclui o nó Batch Image Load para carregar todas imagens de um diretório, e o CSV Reader para ler planilhas CSV (ComfyUI-Addoor/README_EN.md at main · Eagle-CN/ComfyUI-Addoor · GitHub). Você pode instalar pelo ComfyUI Manager (busque “Addoor”). Com esses nós, é possível montar um workflow que lê, por exemplo, uma pasta entrada_imagens/ contendo 400 imagens, e um CSV associando cada nome de arquivo a um prompt.

  • ComfyUI-CSV-Prompt-Builder: Um nó customizado focado em ler prompts de um arquivo CSV (ComfyUI: Workflows, Extensions, Nodes, and Tools Directory). Você fornece um CSV (por exemplo, com duas colunas: arquivo, prompt) e esse nó pode gerar um prompt diferente a cada execução da fila, iterando pelas linhas do arquivo. Assim, a cada vez que rodar o workflow, ele pega a próxima linha (ou uma aleatória, conforme configuração) (ComfyUI: Workflows, Extensions, Nodes, and Tools Directory). Instalação via Manager (busque “CSV prompt builder”).

  • ComfyUI-CSV-Loader (PCMonsterx): Outra extensão que permite buscar prompts positivos/negativos de CSV via chave/nome (ComfyUI: Workflows, Extensions, Nodes, and Tools Directory). Pode ser útil para mapear nomes de arquivo a textos. Ex: coluna 1 tem o nome da imagem, coluna 2 o prompt; o nó pode procurar a linha pela chave (nome do arquivo).

  • Jovian/Jovimetrix Queue Nodes: A extensão Jovimetrix Composition fornece um nó Queue (JOV) para gerenciamento de filas (QUEUE (JOV) ). Com ele, você pode alimentar uma lista (de caminhos de arquivos, textos, etc.) e controlar um índice atual. O nó Queue (JOV) emite o item atual da fila (ex.: caminho da imagem atual) e você pode incrementá-lo para o próximo item após cada execução (QUEUE (JOV) ) (QUEUE (JOV) ). Esse nó é avançado, mas essencialmente ajuda a iterar itens em ordem. Combine-o com Batch Image Load para enfileirar todos os caminhos de imagens.

Exemplo de configuração de lote: Uma estratégia é usar dois fluxos dentro do ComfyUI – um fluxo “externo” controlador do lote, e o fluxo “interno” do LTXV. O fluxo externo poderia usar o nó Batch Image Load apontando para a pasta de entrada, cujo output é uma lista de caminhos (imagens). Esse output entra em um nó Queue, que começa no item 0. O Queue então fornece um caminho de imagem (atual) para um nó Load Image do fluxo LTXV, e também pode fornecer um índice para selecionar a linha correspondente no CSV Reader (para pegar o prompt certo da mesma linha). Em seguida, aciona-se o fluxo LTXV normal para gerar o vídeo daquela imagem+prompt, salvando o resultado (talvez usando Image/Video Saver com nome baseado no nome do arquivo). Após gerar, o índice da Queue pode ser incrementado (há modos de auto-incremento ou você pode ligar a saída “current index” em alguma lógica de +1). Ao rodar novamente (ou em loop), ele pega o próximo. Em suma, é possível encadear dentro do ComfyUI dessa forma para processar todos os itens sequencialmente e automaticamente.

⚠️ Obs: O ComfyUI não tem um loop “persistente” out of the box. Muitas vezes, você ainda precisa clicar Queue Prompt repetidamente ou configurar algo como o nó Silly Toggle para rodar grupos automaticamente. Extensões como SillyNodes permitem simular cliques e rodar grupos em sequência (executando um grupo de nós após o outro) (ComfyUI: Workflows, Extensions, Nodes, and Tools Directory). Mas uma solução mais simples: carregar todos os prompts na fila do próprio UI – você pode clicar Queue Prompt uma vez para cada item (400 vezes não é ideal manualmente) ou usar um script para automatizar isso via API (ver adiante). Em geral, usar os nós de CSV e Batch facilita preparar o workflow, mas a execução contínua de todos os 400 itens pode requerer intervenção ou criatividade (por ex., apertar Queue repetidamente, ou usar o Loop Scheduling de algum plugin).

B. Automação Externa via Script Python (API do ComfyUI)

Para máxima automação, você pode controlar o ComfyUI fora da interface, usando Python. O ComfyUI suporta execuções via API (WebSocket/HTTP) e até execução headless de um workflow. O repositório oficial inclui exemplos em ComfyUI/script_examples/ mostrando como carregar um JSON de workflow e executá-lo programaticamente (Is there a way to command line execute a saved out workflow graph json? · comfyanonymous ComfyUI · Discussion #3132 · GitHub) (Is there a way to command line execute a saved out workflow graph json? · comfyanonymous ComfyUI · Discussion #3132 · GitHub). Em resumo, você pode escrever um script que:

  1. Carrega o workflow JSON (pré-montado com LTXV e placeholders para imagem/prompt).
  2. Para cada imagem na pasta ou cada linha do CSV:
    • Insere o caminho da imagem no campo apropriado do JSON (ou usa a API para setar o nó Load Image).
    • Insere o prompt correspondente no nó de prompt do workflow.
    • Envia o workflow para execução (usando a API do ComfyUI ou chamando a função interna). O exemplo basic_api_example.py mostra como enviar requisições para gerar imagens; para vídeo é semelhante, apenas cuidando do retorno (que será múltiplos frames ou um arquivo).
    • Espera terminar e salva/renomeia o resultado se necessário.
  3. Repete para o próximo item.

Essa abordagem requer um pouco de programação, mas lhe dá controle total. Você pode rodar o ComfyUI como servidor (executar python main.py --listen por exemplo) e então usar requests HTTP para o endpoint /prompt com o payload JSON do workflow. Alternativamente, usar WebSockets (veja websockets_api_example.py). Há também projetos de terceiros e wrappers CLI para ComfyUI (por exemplo, RunComfy ou comfyui-client) que permitem enfileirar dozens of prompts at once via terminal (any interest in my command-line ComfyUI companion program that ...).

Vantagem da automação externa: Você consegue processar 400 imagens sem intervenção manual, aproveitando 100% a GPU em sequência. Pode agendar para rodar à noite, etc. Com 24GB de VRAM, é recomendável processar um vídeo de cada vez (em vez de paralelizar) – assim evita estouro de memória e mantém a VRAM totalmente focada no job atual. A RTX 3090 pode gerar talvez ~2–3 vídeos simultâneos menores, mas o gerenciamento é complexo e não linear (e LTXV já é tão rápido que não vale a pena dividir recursos). Portanto, a execução sequencial é mais simples e segura.

Associação automática imagem→prompt: Certifique-se de ter um CSV ou esquema claro para casar cada imagem com seu prompt. Por exemplo, um arquivo prompts.csv com linhas do tipo:

arquivo, prompt
foto1.png, "A tranquil beach at sunset, the waves start moving gently..."
foto2.png, "Portrait of an old man, who begins to laugh, camera zooming in..."
...

No workflow, o nome do arquivo pode ser usado como chave. Com um nó CSV Loader, você pode consultar pelo nome e obter o prompt correspondente (ComfyUI: Workflows, Extensions, Nodes, and Tools Directory) (ComfyUI: Workflows, Extensions, Nodes, and Tools Directory). Outra abordagem é ordenar alfanumericamente os arquivos e assumir que a n-ésima linha do CSV corresponde à n-ésima imagem na pasta – desde que você tenha certeza da ordem. Usar nomes explícitos é menos propenso a erro. Em último caso, se os nomes dos arquivos já contêm a descrição, você poderia tentar parsear o nome como prompt, mas isso raramente é ideal. Prefira usar um CSV para total controle.

Salvando os vídeos gerados: No fluxo, utilize variáveis ou dinamize o nome do arquivo de saída. Por exemplo, o nó Save Video/Combine pode salvar cada vídeo com um nome derivado do nome da imagem (muitos nós permitem usar placeholders ou você pode duplicar o nome do arquivo de input para a saída). A extensão Addoor traz um Image (or Video) Saver que você consegue parametrizar o caminho de saída (ComfyUI-Addoor/README_EN.md at main · Eagle-CN/ComfyUI-Addoor · GitHub). Dessa forma, ao rodar em lote, você terá arquivos distintos (ex.: foto1.mp4, foto2.mp4, ... na pasta de saída).

4. O Conceito de Interpolação em Vídeos por IA

No contexto de geração de vídeo por IA (como o LTXV), interpolação refere-se a criar transições suaves entre quadros ou estados fornecidos. Em outras palavras, o modelo gera frames intermediários para interpolar a mudança de uma imagem para outra, resultando em movimento contínuo em vez de cortes bruscos.

  • Interpolação de Quadros (Frame Interpolation): O LTXV introduziu um recurso de Frame Conditioning que permite fornecer quadros chave (por exemplo, um primeiro e um último frame), e o modelo preenche os frames entre eles de forma gradual (GitHub - Lightricks/ComfyUI-LTXVideo: LTX-Video Support for ComfyUI). Imagine ter uma imagem inicial A e uma imagem final B – a IA produz uma sequência onde A se transforma gradualmente em B. Isso é útil para animar transformações ou garantir que o vídeo termine exatamente em um estado desejado. Por exemplo, poderíamos dar a foto de uma pessoa séria como primeiro frame e a mesma pessoa sorrindo como último frame; a interpolação criaria um vídeo onde o rosto lentamente passa de sério a sorridente.

  • Interpolação de Movimento/Sequência: Outra capacidade relacionada é a Sequence Conditioning, em que você fornece uma sequência de frames (uma mini-vídeo) e o modelo estende ou infere movimentos além daquela sequência (GitHub - Lightricks/ComfyUI-LTXVideo: LTX-Video Support for ComfyUI). É como “continuar o vídeo”: a IA analisa o movimento nos frames dados e gera novos frames que prosseguem aquele movimento de forma coerente (no começo, no fim ou até inserindo no meio, dependendo da configuração). Em resumo, a IA aprende a trajetória e interpola mais movimento adiante.

Em termos simples, interpolar é preencher as lacunas. Ferramentas de IA criam frames intermediários para que uma mudança pareça natural e suave. No pipeline do LTXV, isso se manifesta quando usamos múltiplas imagens de referência no workflow: o vídeo resultante fará transições fluidas entre cada imagem de referência fornecida, graças à interpolação que o modelo realiza entre elas (GitHub - Lightricks/ComfyUI-LTXVideo: LTX-Video Support for ComfyUI). Se nenhuma imagem final for dada, o modelo apenas segue o prompt e o próprio aprendizado para gerar movimento (nesse caso, não é uma “interpolação explícita” mas ainda assim há coerência temporal aprendida). Mas ao aproveitar a interpolação com frames-chave, você ganha controle: pode determinar exatamente onde o vídeo começa e termina visualmente.

Exemplo ilustrativo: Suponha que você queira um vídeo mostrando a passagem do dia para a noite numa paisagem. Você pode fornecer uma imagem de um campo ao entardecer como primeiro frame e o mesmo campo à noite (com céu estrelado) como último frame. Com interpolação, o LTXV gerará a transição gradual do pôr do sol até o anoitecer, preenchendo cada minuto de mudança de luminosidade de forma contínua. Sem interpolação, seria mais difícil garantir que o último frame saia exatamente como desejado – mas com dois frames chave, a IA “mira” nesses alvos e faz o morphing entre eles (GitHub - Lightricks/ComfyUI-LTXVideo: LTX-Video Support for ComfyUI).

Em suma, interpolação em vídeos de IA é o que permite aquelas transformações e movimentos suaves que parecem filmagens contínuas. No workflow do ComfyUI com LTXV, você verá nós dedicados a isso (como Frame Interpolation, First/Last Sequence Conditioning nos templates avançados (GitHub - Lightricks/ComfyUI-LTXVideo: LTX-Video Support for ComfyUI)). Eles são opcionais – use-os apenas se precisar ligar vários frames guia. Para muitos casos (como animar individualmente cada imagem da sua pasta com um prompt), você não precisará fornecer frames finais; basta um bom prompt descrevendo o movimento, e o LTXV criará a animação. Mas é valioso entender o conceito de interpolação, pois ele abre possibilidades de controle criativo maior sobre o vídeo gerado.

5. Referências Úteis e Recursos da Comunidade

Com essa configuração, você poderá converter ~400 imagens em vídeos animados de forma automática. Prepare seus prompts cuidadosamente para cada imagem – essa é a parte mais importante para obter resultados coerentes e interessantes (How to use LTX Video 0.9.5 on ComfyUI - Stable Diffusion Art). Uma vez pronto o setup, deixe a pipeline rodar em sequência e aproveite o poder da sua GPU para gerar dezenas de minutos de vídeo em poucas horas. Boa criação!

Referências Citadas:

DO CONHECIMENTO À APLICAÇÃO

A próxima ideia pode mudar a sua operação.

Vamos conectar o que você está aprendendo a um problema real do seu negócio ou ao serviço que você quer construir.