As Imagens do Hermes Não São Mais Borradas: O Guia Completo de Upscaling Automático em image_generate e video_generate


Você pede ao Hermes para gerar uma imagem hero de produto, a IA entrega em segundos e você acena com aprovação — até arrastá-la para o seu arquivo de design e dar zoom, só para descobrir que os detalhes se dissolvem numa massa amorfa. “Parece bom na hora da geração, inutilizável quando ampliado” costumava ser a experiência padrão: dos 21 modelos de imagem da FAL, apenas um fazia upscale automaticamente, a saída do Krea estava fixada em 1K/1.5K nativos, e o vídeo não tinha nenhum caminho de alta resolução. Uma mudança mesclada no main do Hermes em 2026-08-08 (PR #81935) vira essa página: modelos de baixa resolução agora fazem upscale por padrão, e um upscale que falha nunca falha a geração.

De onde veio o problema

Antes do novo comportamento, a saída borrada tinha três causas raiz:

  • A maioria dos modelos tinha baixa resolução nativa: dos 21 modelos de imagem da FAL, apenas o flux-2-pro encadeava um upscaler; os outros 20 retornavam o que produziam;
  • A saída do Krea era fixada: o Krea 2 Medium gerava em 1.5K nativos, o Large em 2K, sem opção de upscale;
  • O vídeo não tinha nenhum caminho de upscale: o video_generate retornava qualquer resolução que obtivesse, ponto final.

O resultado: você pedia “um pôster em alta resolução” e recebia algo em torno de 1MP — aceitável na janela de chat, inútil num outdoor.

Novo padrão: modelos abaixo de 2MP fazem upscale automaticamente

A política central dessa mudança é simples: todo modelo cuja saída nativa esteja abaixo de ~2MP executa automaticamente uma passada de alta resolução após a geração, para que você nunca fique silenciosamente com uma imagem de baixa resolução.

Backend Modelos com upscale por padrão Upscaler
FAL.ai todos exceto Seedream 5 Pro/Lite e Krea 2 Large (nativos ≥2MP) Clarity Upscaler (2×, +$0.03/MP)
Krea Krea 2 Medium + Medium Turbo (1.5K nativos); Large (2K) pula Krea Enhance (2×, até o teto de 8K)
Outros backends nenhum sem upscaler; resolução nativa retornada

Modelos cuja saída nativa já é ≥2MP (Seedream 5 Pro/Lite, Krea 2 Large) não sofrem upscale por padrão — não faz sentido pagar para ampliar uma imagem que já é grande.

O parâmetro upscale: controle por chamada

O padrão é apenas uma rede de segurança; o controle real está no parâmetro upscale, que substitui o padrão em qualquer direção:

  • upscale: false — pula a passada automática, obtendo um rascunho mais rápido/barato;
  • upscale: true — força a passada, até em modelos nativos de alta resolução ou edições de imagem.

A precedência é: argumento explícito > config > padrão do catálogo. Assim, você pode definir uma preferência de longo prazo por modelo no config.yaml (por exemplo, image_gen.krea.upscale: false para economizar) e, mesmo assim, forçar alta resolução numa geração importante específica passando upscale: true naquela chamada.

A resposta inclui um campo upscaled: true/false para que o agente saiba exatamente qual resolução recebeu.

Vídeo: upscaling SeedVR2 opcional

Imagens fazem upscale por padrão; vídeo é uma escolha: o video_generate também aceita upscale: true, e o backend FAL encadeia o upscaler de vídeo SeedVR2 da ByteDance (fal-ai/seedvr/upscale/video, fator 2×, ~$0.001/MP do vídeo de saída).

Por que não ligado por padrão? Porque o upscaling de vídeo é caro e lento — ativá-lo por padrão dobraria o custo e a latência de todo vídeo para quem, na maioria das vezes, não precisa. Então o vídeo continua opcional; passe a flag quando quiser uma saída próxima de 4K:

{
  "prompt": "a cinematic drone shot over a coastline at sunset",
  "upscale": true
}

Custo e ressalvas

Upscaling não é de graça; estes são os números que importam:

  • Imagens FAL: Clarity Upscaler 2×, aproximadamente +$0.03/MP;
  • Imagens Krea: Enhance 2×, até um teto de 8K, usando a mesma URL base BYO/gerenciada e autenticação da geração;
  • Vídeo FAL: SeedVR2 a $0.001/MP do vídeo de saída — uma passada 2× de 5 segundos de 720p→1440p custa aproximadamente $0.44.

Três detalhes de engenharia que vale a pena conhecer:

  1. Fallback gracioso: se a etapa de upscale falhar (problema de rede, rate limit), a imagem original é retornada automaticamente — uma falha de upscale nunca falha a geração. Você sempre recebe sua imagem; ela só pode não vir ampliada;
  2. Edição também funciona: passar upscale: true em chamadas de image-to-image/edição força a passada de alta resolução também ali;
  3. Ignorado onde não há suporte: backends sem upscaler simplesmente ignoram o argumento upscale — é inofensivo e o comportamento permanece inalterado.

Como fica na prática

No CLI, basta conversar com o Hermes e o agente decide quando passar upscale. Quando você quiser controle explícito, diga isso no seu prompt:

  • “Gere um pôster, deixe-o em alta resolução” → o agente passa upscale: true (ou confia no padrão);
  • “Rascunhe rapidamente algumas composições, sem necessidade de detalhes” → o agente passa upscale: false para economizar tempo e dinheiro.

No lado da configuração, o comportamento padrão do Krea pode ser desativado globalmente:

image_gen:
  krea:
    upscale: false

Parte de uma caixa de ferramentas de mídia maior

O upscaling é uma peça das capacidades de mídia do Hermes. Combinado com trabalhos de performance como corte de silêncio no STT e descarregamento ocioso e extração de documentos para PDF/Word/Excel/EPUB, o Hermes está se tornando um fluxo de trabalho de mídia completo, tanto no lado da leitura quanto no da geração. Se a geração de imagens é novidade para você, as notas de lançamento do Herald v0.20.0 dão a visão geral; para mais recursos subestimados, o post sobre truques escondidos que veteranos perdem vale a pena conferir.

Conclusão: desde 2026-08-08, as imagens do Hermes são “nítidas por padrão” — modelos abaixo de 2MP fazem upscale automaticamente, upscale: false/true substitui em qualquer direção para rascunhos rápidos ou detalhe máximo, e o vídeo ganha SeedVR2 sob demanda. A era das imagens borradas acabou oficialmente.