Forgemoji

Como o Forgemoji funciona

Publicado 2 de maio de 2026·Revisado 22 de junho de 2026

Cada emoji gerado pelo Forgemoji passa pelo mesmo pipeline de cinco etapas, não importa se você usa o modo simples de "escolher dois emojis" ou o modo foto-para-emoji. O processo todo leva de 10 a 20 segundos, com a maior parte gasta esperando uma única chamada de geração de imagem.

Somos deliberadamente transparentes sobre como funciona, porque o modelo não é mágica. A maioria das falhas é previsível uma vez que você sabe o que o pipeline está fazendo, e quando você sabe disso, a escolha certa de prompt é óbvia.

O pipeline, passo a passo

  1. Montagem do prompt

    Dois emojis são passados para um construtor de prompts. O construtor busca o nome curto oficial Unicode de cada emoji e compõe um único prompt em inglês que combina os dois. Se você trocou o idioma de entrada no seletor, o prompt é traduzido primeiro por uma pequena tabela interna (sem chamada de LLM).

  2. Geração de imagem

    O prompt vai para um modelo de texto para imagem. A saída é 1024×1024. Rodamos um modelo primário e um secundário com roteamento por prompt; não expomos qual modelo atendeu uma requisição específica.

  3. Remoção de fundo

    Um modelo rembg separado remove o fundo. O passo rembg roda em um worker GPU independente, então se sobrepõe com a próxima requisição.

  4. Redimensionamento e formato

    O 1024×1024 transparente e limpo é redimensionado para 256×256 com reamostragem Lanczos. O PNG de 256×256 é o que a maioria das plataformas de chat esperam para emojis personalizados.

  5. Animação opcional

    Se você ativou a exportação animada, o PNG de 256×256 passa por um pequeno modelo de síntese de movimento que produz um loop de 24 quadros a 12 fps. Suportamos 6 estilos: bob, sway, sparkle, glow, wiggle e pulse. A animação adiciona 8-12 segundos ao tempo base de geração.

Por baixo dos panos

Mais alguns detalhes fáceis de pular mas que importam para entender o que o pipeline faz e o que não faz. Se você só se importa com o fluxo geral, a seção anterior é suficiente. Se quiser entender os modos de falha (que é a única forma de escolher bons prompts), leia esta seção. Mais contexto na página about.

O modelo de texto para imagem não é um mecanismo de busca. Ele não "sabe" o que é 🐱 + 🌈 recuperando uma imagem, ele amostra pixels condicionado pelo prompt. Duas requisições idênticas produzem saídas diferentes porque a semente de ruído latente é diferente.

O modelo rembg foi treinado em imagens naturais. Funciona em emojis estilo kawaii porque eles têm silhuetas bem definidas, mas não é perfeito: contornos muito finos às vezes são parcialmente comidos. Se vir um halo semitransparente estranho, regenere.

O pipeline roda como uma sequência de workers GPU independentes. Não há fila de lotes no caminho do usuário, cada requisição recebe uma alocação nova. O worker rembg é o gargalo nas horas de pico.

Não armazenamos o emoji gerado. A imagem volta para o seu navegador como um PNG codificado em base64 dentro da resposta JSON. O prompt original e a saída do modelo são registrados por 30 dias para detecção de abuso e depois apagados.

O tráfego do plano gratuito e do Pro compartilham o mesmo pool de GPU. Pro é mais rápido na prática em horário de pico só porque nós descartamos a carga do gratuito primeiro quando a fila acumula.

A UI do seletor não faz parte do pipeline de geração. Roda inteiramente no seu navegador, persiste as últimas 50 gerações no localStorage e envia o par escolhido para a API.

Dicas para resultados melhores

  • Escolha o segundo emoji com cuidado. O primeiro emoji é o "sujeito", define o formato do corpo, a cor dominante e o rosto. O segundo é o "modificador", contribui com traços pequenos (chapéu, acessório, padrão). Pares em que os dois pesam igual tendem a sair embaçados.
  • Evite pares abstratos ou contraditórios. 🌀 + 💎 ou 📜 + 🚀, o modelo não vai saber qual traço enfatizar, então o resultado vai parecer uma média borrada. Se o par soa como uma piada ruim, o modelo vira uma imagem ruim.
  • Regenere agressivamente. A 4ª ou 5ª tentativa no mesmo par costuma ser a melhor. A aleatoriedade do modelo é uma feature, não um bug. Trate as 2-3 primeiras gerações como aquecimento.
  • Use o modo foto para emojis de rosto. O estilo 🧑 + 📸 é no que o seletor é melhor. Coisas como 🦄 + 🌈 também são fortes porque ambos têm referências kawaii bem definidas nos dados de treino.

Limitações conhecidas

A maior limitação é a renderização de texto. O modelo não soletra palavras, então um par que inclua 🔤 ou 🅰️ vai produzir formas que vagamente parecem letras mas não são legíveis.

Modificadores de tom de pele (variantes da escala Fitzpatrick) não são tratados. O modelo escolhe o tom que o prior latente dele preferir, e você não consegue influenciar pelo seletor.

Bandeiras de países (🏳️‍🌈 etc.) também não são tratadas. Tentamos workarounds do lado do prompt e todos produziam resultados piores do que simplesmente não gerar.

Uma nota para engenheiros

engineerNoteP1

Atualmente não publicamos um SDK. O endpoint é pequeno o bastante para ser chamado diretamente com fetch. Vamos publicar um quando a API estabilizar.

Privacidade e dados

O pipeline não grava seu emoji em disco. O prompt que você enviou e a resposta são registrados separadamente por 30 dias, depois apagados. As regras completas de tratamento de dados estão na política de privacidade.

AE

A equipe editorial da Forgemoji·Engenharia e pipeline

Revisado em 2 de maio de 2026

Como escrevemos isto: Esta página documenta o pipeline v2 em maio de 2026. Versões anteriores do pipeline (Qwen-Image-2510 + rembg-1.4) se comportavam de forma diferente em bordas finas e não estão mais em produção. Atualizamos esta página quando o pipeline muda, não em um cronograma fixo.

Fontes: Documentação interna do pipeline e changelog.

Sobre·Perguntas frequentes·Política de privacidade·Termos de uso·Início