Peça uma imagem ao ChatGPT e repare no que acontece: você escreve "um gato de óculos" e volta uma ilustração com iluminação, estilo, enquadramento e fundo que você não pediu. Não é o modelo de imagem sendo generoso.

📚 Série "Monte o seu próprio ChatGPT" — 9 partes

1. O que tem dentro · 2. O cérebro · 3. Os olhos (OCR) · 4. A memória (documentos) · 5. Imagem ← você está aqui · 6. Vídeo · 7. Voz · 8. Ferramentas e agentes · 9. Juntando tudo e a conta

O cérebro desenha? Não. Ele reescreve.

Entre o seu pedido e o modelo de imagem existe uma etapa invisível: o modelo de texto reescreve o seu pedido num prompt detalhado. "Um gato de óculos" vira algo como "fotografia de um gato laranja usando óculos de armação redonda, luz suave de janela, fundo desfocado, 50mm, alta nitidez".

Essa etapa é responsável por boa parte da diferença de qualidade entre usar o ChatGPT e rodar o mesmo modelo aberto na sua máquina com o texto cru. Modelos de imagem respondem muito melhor a descrição rica do que a três palavras.

💡 A peça mais barata do seu produto de imagem

A reescrita é uma chamada de texto de umas 200 entradas e 150 saídas. No modelo econômico, sai por R$ 0,00026 — um quarto de milésimo de real.

Ou seja: por praticamente nada você compra o ganho de qualidade que faz o usuário achar que o seu gerador é melhor que o do concorrente. É a melhor relação custo/benefício de toda esta série.

Qual modelo aberto usar

FamíliaMelhor emVRAM típicaObservação
FLUXRealismo, aderência ao pedido, texto dentro da imagem16–24 GBA referência aberta de 2026; confira a licença da variante que for usar
Qwen-ImageTexto em imagem, inclusive não latino, e edição16–24 GBSobe em 1 clique já dentro do ComfyUI
SDXL e derivadosEcossistema gigante de estilos e ajustes finos10–16 GBMais antigo, mas insuperável em variedade de estilo pronto
Variantes destiladas ("turbo", "schnell")Volume alto e custo baixo10–16 GB4 a 8 passos em vez de 40; o custo por imagem despenca

O motor que amarra tudo é o ComfyUI: ele carrega o modelo, expõe uma API e deixa você montar o fluxo (gerar, ampliar, remover fundo, aplicar estilo) como um grafo. Sobe em 1 clique numa placa a partir de R$ 2,78 por hora.

A arquitetura que ninguém avisa que é obrigatória

Gerar uma imagem leva de 2 a 15 segundos. Isso é uma eternidade para uma requisição HTTP: o navegador do usuário fica pendurado, o balanceador derruba a conexão em 30 segundos, e duas pessoas pedindo ao mesmo tempo formam fila sem que ninguém saiba.

A peça de imagem precisa ser assíncrona:

  1. O usuário pede. Você grava a tarefa numa fila e devolve na hora um identificador.
  2. Um trabalhador consome a fila, chama o ComfyUI, salva a imagem no armazenamento.
  3. A interface acompanha o estado — por consulta periódica ou por WebSocket — e mostra a imagem quando fica pronta.

Parece burocracia e é o que separa um protótipo de um produto. Também é o que permite o próximo truque, que é onde o dinheiro está.

⚠️ O custo escondido: a máquina ligada esperando pedido

Uma placa de R$ 2,78/h ligada o mês inteiro custa ~R$ 2.030. Se o seu produto gera 3 mil imagens por mês, cada imagem saiu por R$ 0,68 — cem vezes o custo de computação real dela. Você não pagou por imagem: pagou por ociosidade.

Com fila, dá para ligar a máquina quando há trabalho e desligar quando a fila esvazia. O cuidado é o tempo de partida: carregar um modelo de imagem leva de 30 a 60 segundos. Por isso mantenha a máquina viva por alguns minutos depois da última tarefa, em vez de desligar na hora — senão você paga a partida repetidamente e o usuário espera por ela.

O fluxo completo, em código

from openai import OpenAI
import requests, json

cliente = OpenAI(base_url="https://gpubrasil.com.br/v1",
                 api_key="gpub_live_suachaveaqui")

INSTRUCAO = """Você reescreve pedidos de imagem em prompts detalhados, em inglês.
Inclua: assunto, estilo, iluminação, enquadramento, nível de detalhe.
Não invente marca, pessoa real ou logotipo. Responda só com o prompt."""

def expandir(pedido_do_usuario: str) -> str:
    r = cliente.chat.completions.create(
        model="gpub-fast",                       # a peça mais barata do fluxo
        messages=[{"role": "system", "content": INSTRUCAO},
                  {"role": "user", "content": pedido_do_usuario}],
        max_tokens=200,
    )
    return r.choices[0].message.content.strip()

def gerar(prompt: str, comfy="http://SEU-IP:8188"):
    fluxo = json.load(open("fluxo_txt2img.json"))   # exportado do ComfyUI
    fluxo["6"]["inputs"]["text"] = prompt           # nó do prompt positivo
    fluxo["3"]["inputs"]["steps"] = 8               # modelo destilado
    fluxo["3"]["inputs"]["cfg"] = 0.0               # destilado: guidance zero
    r = requests.post(f"{comfy}/prompt", json={"prompt": fluxo}, timeout=30)
    return r.json()["prompt_id"]                    # acompanhe pelo /history

# no seu trabalhador de fila:
prompt = expandir("um gato de óculos")
tarefa = gerar(prompt)

Gerar é só metade — editar é a outra

No uso real de um assistente, boa parte dos pedidos não é "crie do zero", e sim mexa nessa imagem:

A conta por imagem

ConfiguraçãoTempo por imagemCusto de computaçãoSomando a reescrita
Modelo grande, 40 passos, placa de 24 GB~11 sR$ 0,0085R$ 0,0088
Modelo grande, 20 passos~5,5 sR$ 0,0042R$ 0,0045
Modelo destilado, 8 passos~2,2 sR$ 0,0017R$ 0,0020
Modelo destilado, lote de 4~0,9 s por imagemR$ 0,0007R$ 0,0010

Preços de agosto de 2026, para uma GPU avulsa, sem interrupção programada. O catálogo muda: confira a vitrine antes de fechar a conta.

Menos de um centavo por imagem, na pior configuração da tabela. O que decide a sua conta não é o preço da imagem — é quanto tempo a máquina passou ligada sem gerar nada. Se você tirar uma lição desta parte, que seja essa.

Para a matemática completa de passos, resolução e lote — as quatro alavancas que mudam o custo em vinte vezes — o aprofundamento está em gerar dez mil imagens.

Moderação: a peça que você não pode pular

Um gerador aberto na internet vai receber pedidos que você não quer atender. O mínimo responsável, e barato:

A imagem é rajada; o cérebro é constante

A placa de imagem liga quando há fila e desliga quando ela esvazia. A reescrita de prompt, a moderação e a conversa em volta são chamadas por token, em reais, sem máquina para administrar.

Ver a API por token →

Próxima parte: a câmera — geração de vídeo, a peça mais cara de todas.

Continue: custo por imagem em escala · modelos de imagem abertos · parte 6: vídeo