ForHosting KIT · Imagens

Layout de texto para meme

O gerador de layout de texto para meme transforma a largura e a altura de uma imagem, junto com duas legendas, em instruções práticas de desenho.

● BetaGrátis · no seu navegador
Use pelo WebAPIE-mailTelegramApp em breve

Ele seleciona um único tamanho de fonte legível, quebra cada legenda em linhas e retorna caixas delimitadoras em pixels próximas às bordas superior e inferior. O cálculo é determinístico, portanto a mesma entrada sempre produz as mesmas coordenadas. Use o resultado com Canvas, SVG, uma biblioteca de imagens ou um serviço de renderização para manter a tipografia consistente sem ajustar tamanhos por tentativa e erro.

Informe a tela e as duas legendas

Digite a largura e a altura da imagem em pixels e, em seguida, o texto que deve aparecer na parte superior e na parte inferior. As duas legendas são obrigatórias, pois este layout equilibra um meme completo com duas áreas de texto. Os espaços no início e no fim são removidos, e espaços repetidos dentro da legenda são normalizados antes da medição. Assim, uma legenda vazia gera um erro de entrada em vez de uma caixa enganosa sem tamanho. As dimensões devem ser números inteiros entre 64 e 10,000 pixels, e cada legenda pode ter até 500 caracteres. Esses limites tornam o cálculo previsível tanto na página interativa quanto em um fluxo automatizado. A margem depende do menor lado da imagem, mantendo um afastamento visual semelhante em formatos retrato, paisagem e quadrado. Se a imagem for redimensionada, faça o cálculo com as dimensões finais para preservar as quebras e o alinhamento.

Entenda o ajuste e a quebra de linhas

A calculadora escolhe um tamanho de fonte inteiro compartilhado pelas duas legendas. Ela começa com um valor derivado das dimensões da imagem e testa tamanhos progressivamente menores até que os blocos superior e inferior caibam. Cada legenda pode ocupar até quarenta e dois por cento da altura útil, deixando separação mesmo quando ambas precisam de várias linhas. As palavras permanecem inteiras sempre que possível. Quando uma palavra é mais larga que a área disponível, ela é dividida em partes para que a caixa nunca ultrapasse a imagem. As estimativas usam um perfil interno estável para letras grossas e condensadas: caracteres estreitos ocupam menos espaço, enquanto maiúsculas largas ocupam mais. É uma estimativa analítica, não uma medição de fonte feita pelo navegador. Para obter a correspondência mais próxima, use uma fonte condensada em negrito semelhante à Impact, aplique a altura de linha retornada e centralize todas as linhas.

Renderize a geometria em pixels

O resultado inclui o tamanho de fonte selecionado, a altura de linha, a margem externa e objetos separados para as áreas superior e inferior. Cada objeto contém suas linhas, além das coordenadas x e y, largura e altura em pixels. A caixa superior começa na margem calculada. A caixa inferior termina à mesma distância da borda de baixo, mantendo sua posição estável independentemente do número de linhas. Desenhe as linhas a partir da coordenada y da caixa, avançando pela altura de linha, e centralize cada uma em relação à imagem inteira. Se a API gráfica posicionar texto pela linha de base, adicione antes a ascendente da fonte escolhida. Espessura do contorno, sombra, uso de maiúsculas e cor ficam fora desta capacidade: alteram a aparência, mas não a geometria reservada. Em automações, salve os valores com as legendas para reproduzir a composição sem repetir testes manuais de tamanho.

Criar um gerador de memes

Calcule uma geometria consistente antes de desenhar texto sobre os modelos de imagem escolhidos por seus usuários.

Preparar comandos de Canvas ou SVG

Converta duas legendas em linhas e caixas de pixels que um renderizador de interface possa consumir diretamente.

Automatizar imagens para redes sociais

Crie layouts repetíveis para lotes de imagens legendadas sem testar manualmente uma sequência de tamanhos.

Quanto custa o cálculo?

Cada solicitação à API custa US$ 0,002. O mesmo cálculo determinístico também pode ser executado no navegador.

Por que as duas legendas precisam ter texto?

Esta capacidade calcula um layout equilibrado com duas legendas. Um texto superior ou inferior vazio, ou formado apenas por espaços, é rejeitado como entrada inválida.

O resultado modifica minha imagem?

Não. Ele retorna somente dados de fonte e geometria. Use esses valores com o renderizador de imagem, Canvas ou SVG de sua preferência.

Qual fonte devo usar na renderização?

Uma fonte condensada em negrito com métricas semelhantes às da Impact é a opção que mais se aproxima das estimativas internas.

Uma palavra longa pode ultrapassar a imagem?

Não. Se uma palavra exceder a área útil, ela será dividida para que todas as caixas permaneçam dentro das margens horizontais.

Por que as legendas usam o mesmo tamanho?

O tamanho compartilhado dá peso visual consistente ao meme. O menor tamanho exigido por qualquer uma das legendas é aplicado às duas.

Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.

POSThttps://api.kit.forhosting.com/image/meme-text-layout

Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.

curl -X POST https://api.kit.forhosting.com/image/meme-text-layout \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"width":1200,"height":800,"top_caption":"WHEN THE TESTS PASS","bottom_caption":"ON THE FIRST TRY"}'
{
  "width": 1200,
  "height": 800,
  "top_caption": "WHEN THE TESTS PASS",
  "bottom_caption": "ON THE FIRST TRY"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "image.meme_text_layout",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.

por chamadaUS$ 0,002

Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.

max_width10000
max_height10000
max_chars500
HTTPCódigoO que significa
401unauthorizedToken ausente ou inválido. Confira o header Authorization.
402insufficient_balanceSaldo insuficiente para esta tarefa. Faça uma recarga e tente de novo.
404unknown_typeEsse tipo de tarefa não existe. Confira o campo type no catálogo.
429rate_limitedMuitas requisições em pouco tempo. Espere um instante e tente de novo.

Ver a documentação completa do KIT →