Gerador de imagens IA self-hosted: hardware real
Veja o hardware real para rodar Stable Diffusion: CPU VPS, SDXL com arquivo de 6,94 GB, comandos de instalação do ComfyUI e espaço em disco.
O que um gerador de imagens com IA auto-hospedado realmente precisa
Um gerador de imagens com IA auto-hospedado é um aplicativo web e um arquivo de modelo. O aplicativo é o ComfyUI, e ele funciona em qualquer máquina Linux. O modelo define o hardware necessário. Um checkpoint da classe SDXL é um único arquivo de 6.94 GB e precisa permanecer na memória da GPU. Esse único fato define todo o orçamento. Leia a escala de hardware abaixo antes de contratar qualquer serviço.
O resumo honesto é o seguinte: uma VPS somente com CPU pode instalar e disponibilizar o software, além de gerar imagens em 512x512 usando um modelo Stable Diffusion 1.5 mais antigo, em um ou dois minutos por imagem. A mesma máquina executando SDXL em 1024x1024 leva de dez a vinte minutos por imagem. Isso não indica uma configuração com falha. É uma questão de capacidade de processamento, e este guia explica os motivos.
Por que o tamanho do modelo determina a máquina
A geração de imagens executa um loop de remoção de ruído. Uma renderização de 30 etapas percorre o modelo completo sobre a imagem 30 vezes, e cada etapa lê todos os pesos. O SDXL em meia precisão ocupa cerca de 6.9 GB de pesos, portanto uma renderização de 30 etapas move aproximadamente 200 GB pela memória antes que você veja uma imagem.
Uma GPU com 24 GB de memória de vídeo (VRAM, a memória soldada ao lado do chip gráfico) lê a centenas de gigabytes por segundo e mantém todos os 6.9 GB carregados ao mesmo tempo. Uma VPS com CPU lê a RAM do sistema a dezenas de gigabytes por segundo e não tem hardware matricial para as convoluções. Por isso, o mesmo loop executa de uma a duas ordens de grandeza mais lentamente. Esse é o mesmo argumento de largura de banda de memória que rege os modelos de texto e vale a pena ler junto com quando uma VPS com GPU realmente vale o custo.
A geração de imagens difere da geração de texto em um aspecto importante. Um modelo de chat transmite tokens, portanto uma máquina lenta ainda parece utilizável porque as palavras aparecem enquanto você lê. Uma imagem só aparece quando a última etapa termina. Lentidão significa ficar olhando para uma barra de progresso.
A escala de hardware, com números reais
O bloco abaixo contém valores típicos para uma imagem SDXL em 1024x1024, com 30 etapas e o sampler Euler, em julho de 2026. Considere-os como ordens de grandeza. O sampler, o número de etapas e a resolução alteram esses valores.
The data behind this chart
[
{
"label": "8 vCPU VPS, no GPU",
"seconds_per_image": 780
},
{
"label": "8GB VRAM GPU",
"seconds_per_image": 32
},
{
"label": "12GB VRAM GPU",
"seconds_per_image": 18
},
{
"label": "24GB VRAM GPU",
"seconds_per_image": 9
}
]A linha da CPU é de 780 segundos, cerca de treze minutos. A placa de 24 GB leva 9 segundos. Essa é a diferença que você está pagando para reduzir.
Leia a escala desta forma. Abaixo de 8 GB de VRAM, o SDXL ainda funciona, porque o ComfyUI transfere camadas para a RAM do sistema automaticamente e consegue usar uma placa com apenas 1 GB. A transferência custa tempo em cada etapa, portanto uma placa de 6 GB fica mais próxima de um minuto por imagem do que de trinta segundos. Com 8 GB, o modelo base cabe e a renderização ocorre sem dificuldades. Com 12 GB, você pode manter um ControlNet ou dois junto com o checkpoint sem transferir dados para a RAM. Com 24 GB, você pode executar o SDXL, o refiner e o upscaling no mesmo workflow, além de começar a treinar adaptadores LoRA, que exigem muito mais memória do que a geração.
O que uma CPU VPS pode e não pode fazer
Ela pode fazer mais do que as pessoas esperam e menos do que o marketing sugere. Seja específico sobre esse limite.
Uma CPU VPS pode instalar o ComfyUI, disponibilizar a interface web, armazenar sua biblioteca de modelos, executar a fila e gerar imagens sem nenhuma GPU. Com Stable Diffusion 1.5 em 512x512 e 20 etapas, espere aproximadamente 60 a 150 segundos por imagem em 8 vCPUs modernas com 16 GB de RAM. Para um trabalho em lote executado durante a noite ou um endpoint de imagens de baixo volume atrás de uma fila, isso é perfeitamente aceitável.
Uma CPU VPS não permite trabalho interativo. Iterar prompts significa fazer vinte renderizações em uma hora; a treze minutos por imagem, você consegue fazer quatro. Ela também não pode treinar. O fine-tuning de LoRA em CPU é medido em dias, não em horas. Portanto, considere esse uso indisponível.
A regra de memória para uso somente com CPU é diferente da regra para GPU. Os pesos são carregados na RAM do sistema. Portanto, você precisa do tamanho do modelo mais o espaço de trabalho: aproximadamente 16 GB de RAM para SDXL e aproximadamente 8 GB para SD 1.5. Uma máquina com 4 GB iniciará o ComfyUI e depois será encerrada pelo out-of-memory killer no meio da primeira renderização. Isso aparece como o desaparecimento do processo com Killed em dmesg e sem traceback do Python.
Instalar o ComfyUI em uma máquina com GPU
Estes são os comandos do projeto upstream. Comece com uma instalação limpa do Ubuntu 24.04, com o driver da NVIDIA já instalado. Confirme o driver primeiro, porque, sem essa verificação, todas as falhas posteriores parecem iguais.
nvidia-smiIsso deve exibir uma tabela com sua placa e uma versão do CUDA. command not found ou NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver significa que o driver está ausente ou que o módulo do kernel não foi carregado após uma atualização. Corrija isso antes de continuar, porque o ComfyUI passará silenciosamente a usar a CPU e você culpará o software.
sudo apt update
sudo apt install -y git python3-venv python3-pip wget
git clone https://github.com/comfyanonymous/ComfyUI.git
cd ComfyUI
python3 -m venv venv
. venv/bin/activate
pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu130
pip install -r requirements.txtO ambiente virtual não é uma recomendação opcional. O PyTorch instala uma árvore grande de dependências, e instalá-lo no sistema em uma máquina que executa outras coisas é uma forma de quebrar o outro software. Verifique se o PyTorch consegue detectar a placa antes de prosseguir.
python -c "import torch; print(torch.cuda.is_available(), torch.cuda.get_device_name(0))"True junto com o nome da sua placa significa que a pilha está funcionando. False significa que o wheel instalado não é compatível com o driver, geralmente porque um wheel do torch somente para CPU já estava armazenado em cache. Reinstale usando a URL de índice acima.
Obtenha um modelo e planeje o armazenamento
O ComfyUI não inclui pesos. Coloque os checkpoints em models/checkpoints, os arquivos VAE em models/vae e os adaptadores LoRA em models/loras.
cd ~/ComfyUI/models/checkpoints
wget https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/resolve/main/sd_xl_base_1.0.safetensorsPrefira .safetensors a .ckpt sempre. Um arquivo .ckpt é um objeto Python serializado com pickle, e carregá-lo executa código de quem o criou. O formato safetensors contém apenas tensores, portanto um arquivo malicioso não consegue executar nada.
O armazenamento é um custo que as pessoas esquecem. Um checkpoint base SDXL ocupa 6.94 GB. O refiner ocupa mais 6 GB. Um único modelo ControlNet ocupa de 1.4 a 2.5 GB, um upscaler ocupa de 60 a 350 MB, e um LoRA ocupa de 20 a 400 MB. Quem gosta desse tipo de trabalho baixa um segundo e um terceiro modelo base na mesma semana. Reserve 100 GB de armazenamento para uma instalação funcional e monitore também o diretório de saída: arquivos PNG de 1024x1024 ocupam de 1 a 2 MB cada, e um lote não supervisionado preenche um disco pequeno sem chamar atenção. Coloque models/ e output/ em um volume que possa ser expandido e faça backup dos arquivos JSON dos seus workflows usando algo como backups incrementais criptografados em armazenamento de objetos. Os pesos podem ser baixados novamente. Os workflows que você ajustou, não.
Execute e acesse com segurança
cd ~/ComfyUI
. venv/bin/activate
python main.py --listen 127.0.0.1 --port 8188O ComfyUI atende na porta 8188. Em um servidor somente com CPU, adicione --cpu. Essa opção força o uso da CPU em vez de falhar porque não encontra um dispositivo CUDA.
Faça o bind em 127.0.0.1, não em 0.0.0.0. O ComfyUI não tem tela de login nem contas de usuário. Qualquer pessoa que alcance a porta poderá enfileirar tarefas, ler todas as imagens que você gerou e instalar custom nodes, o que permite executar código arbitrário no servidor. Em vez disso, acesse o serviço por meio de um túnel SSH a partir do seu laptop.
ssh -N -L 8188:127.0.0.1:8188 you@your-serverDepois, abra http://127.0.0.1:8188 localmente. Se precisar de acesso real para vários usuários, coloque um reverse proxy com autenticação na frente do serviço e mantenha o aplicativo vinculado ao localhost. O mesmo raciocínio se aplica a qualquer serviço self-hosted sem autenticação, e esse é o padrão em implantações do Docker Compose em um VPS.
Mantenha em execução no systemd
Uma fila de renderização que morre quando sua sessão SSH é encerrada não é um serviço. Escreva /etc/systemd/system/comfyui.service.
[Unit]
Description=ComfyUI
After=network-online.target
[Service]
User=comfy
WorkingDirectory=/home/comfy/ComfyUI
ExecStart=/home/comfy/ComfyUI/venv/bin/python main.py --listen 127.0.0.1 --port 8188
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.targetsudo systemctl daemon-reload
sudo systemctl enable --now comfyui
systemctl status comfyuiactive (running) e uma linha de log com To see the GUI go to: http://127.0.0.1:8188 indicam que o serviço está em execução. Observe que ExecStart especifica diretamente o interpretador dentro do ambiente virtual, porque o systemd não executa o perfil do seu shell e activate nunca ocorre.
A recomendação prática por orçamento
Se você quer testar geração de imagens e o custo é mais importante que a velocidade, escolha uma VPS com CPU e 16 GB de RAM, execute o SD 1.5 em 512x512 e aceite esperar um ou dois minutos por imagem. Este é o ponto de entrada realista e custa uma fração de qualquer opção com GPU. Também é o local adequado para hospedar a biblioteca de modelos e os workflows enquanto você decide.
Se você ajusta prompts diariamente, alugue por hora uma GPU com pelo menos 12 GB de VRAM em uma GPU cloud e desligue-a quando parar. A geração de imagens é um trabalho intermitente, e manter uma GPU ociosa com cobrança mensal é a forma mais comum de gastar demais nesse caso. Mantenha os checkpoints em um block storage barato e monte-os.
Se você atende outras pessoas ou treina adaptadores LoRA, precisa de 24 GB de VRAM e de uma máquina que permaneça ligada. Nesse ponto, normalmente a mesma máquina também compensa ao executar um modelo de linguagem local, que é a configuração descrita em hospedar um LLM localmente com Ollama.
Independentemente da opção escolhida, meça sua própria máquina antes de confiar em qualquer número publicado. Enfileire o mesmo prompt cinco vezes e leia os segundos por iteração que o ComfyUI exibe no console. Esse número mostra sua posição real nessa escala.
FAQ
Posso executar o Stable Diffusion sem uma GPU?
Sim. O ComfyUI é executado com python main.py --cpu e gera imagens reais sem uma placa gráfica. Em 8 vCPUs modernas, espere aproximadamente 60 a 150 segundos por imagem para o Stable Diffusion 1.5 em 512x512 e de dez a vinte minutos para o SDXL em 1024x1024. Isso funciona para lotes executados durante a noite e endpoints de baixo volume. Não funciona para iterar prompts, e o treinamento fica totalmente fora de alcance.
Quanta VRAM é necessária para o SDXL?
8 GB executam o SDXL confortavelmente em 1024x1024. Abaixo disso, o ComfyUI transfere camadas para a RAM do sistema automaticamente e ainda funciona, até cerca de 1 GB de VRAM, mas cada etapa transferida aumenta o tempo de execução. 12 GB permitem manter um ControlNet junto com o checkpoint, e 24 GB comportam o modelo base, o refiner e o upscaling em um único workflow, além de serem o mínimo prático para treinar adaptadores LoRA.
Quanto espaço em disco os modelos exigem?
O checkpoint base do SDXL sozinho ocupa 6.94 GB, e o refiner acrescenta cerca de 6 GB. Os modelos ControlNet ocupam de 1.4 a 2.5 GB cada, os adaptadores LoRA ocupam de 20 a 400 MB, e os upscalers ocupam até 350 MB. Reserve 100 GB para uma instalação funcional com alguns modelos base e monitore o diretório de saída separadamente, pois os arquivos PNG em 1024x1024 ocupam de 1 a 2 MB cada.
É seguro expor o ComfyUI na internet pública?
Não. O ComfyUI não oferece nenhum tipo de autenticação, e o sistema de custom nodes instala e executa código Python pela interface. Portanto, uma porta aberta permite execução remota de código no servidor. Faça o bind em 127.0.0.1, acesse o serviço por um túnel SSH usando ssh -N -L 8188:127.0.0.1:8188 you@your-server e coloque um reverse proxy com autenticação na frente dele se mais de uma pessoa precisar de acesso.
Por que meu render foi encerrado sem mensagem de erro?
O desaparecimento do processo com Killed em dmesg, sem traceback do Python, indica o out-of-memory killer do Linux, não um bug do ComfyUI. Em um servidor somente com CPU, os pesos ficam na RAM do sistema. Por isso, o SDXL precisa de cerca de 16 GB e o SD 1.5 de cerca de 8 GB, além do espaço de trabalho. Adicione RAM, adicione swap ou use um modelo menor e uma resolução mais baixa.