Pular para o conteúdo

Configuração: ComfyUI

O TomoriBot pode gerar imagens e vídeos através da sua própria instância do ComfyUI. Ele controla o ComfyUI enviando um fluxo de trabalho em formato de API com o seu prompt e tamanho substituídos, e então verifica o endpoint /history do ComfyUI continuamente até que a saída esteja pronta.

Este guia cobre a instalação/execução do ComfyUI e como registrá-lo. Para criar ou editar um fluxo de trabalho compatível com o TomoriBot (os marcadores {TOMORI_*}), use o aprofundamento no Discord, abra /help, escolha Features, depois Custom Endpoints, e use o README de fluxo de trabalho no GitHub.

A geração de imagens e vídeos é limitada pela GPU: o maior custo é a VRAM (a memória da sua placa de vídeo, separada da RAM do sistema), definida pelo checkpoint do modelo que o seu fluxo de trabalho carrega, não pelo próprio ComfyUI. Uma GPU NVIDIA é fortemente recomendada. Os dois fluxos de trabalho que acompanham o TomoriBot são ambos modelos modernos e mais pesados que o SDXL:

Fluxo de trabalho inclusoModelo baseVRAM práticaNotas
Anima v1 (imagem)Qwen-Image (~20B), fp8~16 GB mínimo · 24 GB confortávelO codificador de texto e o VAE adicionam ~8-10 GB de sobrecarga. Abaixo de 16 GB, use uma build GGUF + --lowvram.
WAN i2v loop (vídeo)Wan 2.2 14B, fp8 + 4-step LightX2V LoRAs~16 GB viável · 24 GB+ confortávelA opção mais pesada, espere minutos por clipe. Descarregue o codificador de texto UMT5 para a RAM (t5_cpu, necessita de 24 GB+ de RAM no sistema) em placas menores.

Ambos os checkpoints inclusos já estão quantizados em fp8 para caber em placas de consumo. Se você tem menos VRAM, troque a UNET por uma quantização menor e ative o --lowvram / descarregamento para CPU do ComfyUI. A difusão apenas com CPU é impraticável (vários minutos por imagem, pior para vídeo) e pode exceder a janela de espera do TomoriBot, então uma GPU é efetivamente necessária para uso regular.

Instale o ComfyUI de acordo com seu README e inicie-o para que ele escute na rede:

Terminal window
python main.py --listen 0.0.0.0 --port 8188

O --listen 0.0.0.0 é importante se o TomoriBot rodar no Docker ou em uma máquina diferente, pois o padrão se vincula apenas ao loopback. Confirme a acessibilidade a partir da máquina onde o bot está rodando:

Terminal window
curl http://127.0.0.1:8188/system_stats

Se você quiser testar, carregue os checkpoints do modelo que o fluxo de trabalho escolhido espera e faça uma geração manual na interface web do ComfyUI para confirmar que funciona de ponta a ponta antes de conectar o TomoriBot.

Baixe um fluxo de trabalho pronto para uso no formato de API. Exemplos podem ser encontrados no repositório sob assets/comfyui-workflows/:

Fluxo de trabalhoModos
Anima v1 (imagem) : tomoribot-anima-v1-comfyui.jsontxt2img, img2img, inpaint
WAN i2v loop (vídeo) : tomoribot-wan-i2v-loop-video.jsonimagem para vídeo

Estes estão no formato de API (o JSON que o ComfyUI exporta via Save (API Format)), não no formato regular salvo pela interface. Se você criar o seu próprio, ele deve conter os marcadores {TOMORI_*} que o TomoriBot substitui (prompt, largura/altura, seed, imagens de referência, etc.). Veja o README do fluxo de trabalho e a página Custom Endpoints sob Providers em /help.

Execute /providers (ou /personal providers), escolha Add New Custom Endpoint, e insira:

CampoValor para o ComfyUI
endpoint_labelUm nome de sua escolha, ex. home-comfy
API CompatibilityComfyUI
endpoint_urlhttp://127.0.0.1:8188 (raiz, sem /v1)
auth_token(deixe em branco, a menos que seu ComfyUI exija autenticação)

Após salvar a conexão, selecione-a e use o menu suspenso de modelos para adicionar um modelo de Imagem ou Vídeo. Insira o nome de código exato do checkpoint e faça upload do .json do fluxo de trabalho que você baixou no Passo 2. A capacidade do modelo deve corresponder ao fluxo de trabalho (fluxo de imagem → image, fluxo de vídeo → video).

Um modelo de imagem também solicita as suas Image Capabilities: texto para imagem, imagem de referência, inpainting, e prompt negativo. Marque apenas os modos que o seu fluxo de trabalho realmente implementa, porque a Tomori oferece à ferramenta apenas os modos que você declarar. O inpainting aparece apenas para conexões do ComfyUI, pois nenhuma outra compatibilidade de API aceita uma máscara. Editar o modelo mais tarde reabre o formulário com a sua seleção atual, então alterar um nome de código não irá limpá-la.

Adicionar o modelo o torna o modelo de image/video ativo automaticamente. Acione a geração pedindo diretamente para a Tomori no chat. Se ele não estiver ativo por algum motivo, execute /config > Models > Switch Models e selecione o seu endpoint do ComfyUI registrado.

  • Inacessível ao adicionar: O ComfyUI foi vinculado ao loopback enquanto o bot está no Docker / em outro host. Inicie-o com --listen 0.0.0.0 e use http://host.docker.internal:8188 ou o IP da LAN.
  • A geração nunca é concluída: O TomoriBot verifica o /history até que a saída apareça. Inícios a frio e modelos grandes na CPU podem exceder a janela de verificação.
  • Prompt/tamanho ignorado ou tamanho de saída incorreto: o fluxo de trabalho está sem os marcadores obrigatórios {TOMORI_*}, ou você fez upload de uma exportação do formato de interface em vez do formato de API.
  • Capacidade incorreta: um fluxo de trabalho de image registrado sob video (ou vice-versa) não irá funcionar. Adicione-o novamente sob a capacidade correspondente.