Tamanho da legenda no Instagram não é 125 caracteres

Mao segurando caneta sobre um caderno em branco aberto, com um notebook fechado de um lado e uma xicara de cafe do outro, em uma mesa de madeira clara vista de cima.

Dois mil e duzentos. Esse é o único número que a Meta publica sobre o tamanho da legenda de uma publicação no Instagram, e ele não está em um guia de boas práticas: está dentro da mensagem de um código de erro da API. Os 125 caracteres que quase todo artigo sobre legenda repete não aparecem em documentação nenhuma, nem da Meta nem do Instagram, e calibrar a primeira frase por esse número é escrever para uma medida que ninguém se comprometeu a manter.

A distinção decide como você escreve. Se 125 é um limite, a primeira frase vira um orçamento a preencher. Se 125 é boato, a primeira frase é só uma frase, e o que determina se ela funciona é ela fazer sentido sozinha.

O único número que a Meta assina vem com um código de erro atrás

Na referência de erros da Instagram Platform existe o código 2207010, classificado como erro do usuário. A mensagem é montada em tempo de execução: ela diz que a legenda enviada tinha um certo número de caracteres e que o máximo permitido é outro, com os dois valores entrando como variáveis, {submitted-caption-length} e {maximum-caption-length}. A própria estrutura da mensagem entrega que o teto é um parâmetro do servidor, não uma constante impressa na documentação.

O valor que a mesma referência informa é 2.200 caracteres, com no máximo 30 hashtags e 20 marcações com arroba por publicação. Estourar as marcações tem código próprio, o 2207040, cuja mensagem também chega com a contagem máxima preenchida na hora.

Esse erro tem uma propriedade rara entre as regras de legenda que circulam: ele é testável. A publicação pela API acontece em duas etapas, primeiro a criação de um contêiner de mídia e depois a publicação dele, e o 2207010 aparece na primeira. Uma legenda longa demais não é cortada em silêncio nem publicada pela metade; ela é recusada, com número, antes de qualquer coisa ir ao ar.

A mesma página de publicação de conteúdo documenta o ritmo com a mesma clareza: uma conta profissional está limitada a 100 publicações pela API em uma janela móvel de 24 horas, com carrossel contando como uma publicação só, e o consumo atual é consultável em GET /IG_ID/content_publishing_limit. Um blog diário não chega perto disso. Uma agência que dispara a fila do mês inteiro em uma tarde chega, e descobre o limite do pior jeito possível.

O que não está em nenhuma dessas páginas é uma linha sobre onde o texto some atrás do botão de mais. A Meta documenta o que a API recusa. Ela não documenta o que o aplicativo mostra.

O 125 não tem dono

Procurar a origem do número é um exercício curto e desconfortável. A Sendible, plataforma grande de publicação, afirma que apenas os primeiros 125 caracteres aparecem antes de o usuário precisar tocar em mais, sem dizer de onde tirou isso. A bundle.social escreve “cerca de 125 caracteres no celular” e apresenta o dado explicitamente como observação, não como documentação. A postmixr diz “cerca de 125 caracteres (muitas vezes duas ou três linhas curtas em um celular)” e, quando precisa apontar para uma fonte oficial, aponta para a página de erros da Meta, que trata do teto de 2.200 e não diz nada sobre o corte. A growthscribe repete o 125, acrescenta que no celular a legenda costuma ser cortada antes disso e que os Reels sofrem mais por causa do formato vertical, e admite que o Instagram nunca publicou justificativa formal nem para o 2.200.

Quatro publicações, o mesmo número, nenhuma capaz de citar quem o publicou. As mais cuidadosas entregam o jogo no jeito de escrever: cerca de, muitas vezes, duas ou três linhas curtas.

Esse “duas ou três linhas” é a explicação inteira. O corte do Instagram é visual. O aplicativo reserva um punhado de linhas para a legenda no feed e esconde o resto, e linha renderizada não é contagem de caractere. A legenda começa na mesma linha do nome do perfil, então uma conta de nome curto sobra espaço na primeira linha, enquanto uma com um nome longo já começa a legenda com a linha quase cheia. Emoji ocupa mais largura que uma letra. Uma quebra de linha proposital encerra a linha onde estiver, não importa quantos caracteres ainda caberiam. E a largura da tela muda o cálculo inteiro, porque a mesma legenda em um celular pequeno e em um grande não quebra no mesmo lugar.

A consequência prática é direta: 125 caracteres não produzem o mesmo corte duas vezes. A regra não é imprecisa. Ela mede a coisa errada.

Três redes, três contas diferentes, e só uma publica um número

Quem escreve um texto para distribuir em mais de uma rede descobre rápido que a documentação não ajuda de forma parelha. Na Graph API, o campo message de uma publicação na Página do Facebook é descrito como o corpo principal da publicação, com a observação de que pode conter menções a Páginas no formato @[page-id]. Tamanho máximo: a referência não informa, e não por descuido, porque a mesma página documenta com precisão coisas bem menos visíveis, como o scheduled_publish_time, que precisa cair entre 10 minutos e 75 dias a partir do momento da requisição.

Na API do X a situação se repete. A referência de criação de post descreve o campo text como o texto da publicação, obrigatório a menos que haja mídia, e não traz limite de caracteres no schema. O limite existe na plataforma e todo mundo sabe qual é, mas ele não está no contrato que o desenvolvedor lê para integrar, o que significa que nenhum código pode validá-lo a partir da documentação.

A conta de quem publica nas três é esta: um número documentado e cobrado com erro, dois números conhecidos por uso e nenhuma documentação sobre onde cada aplicativo corta a exibição. Um texto único calibrado para caber em todo lugar está, na prática, calibrado contra um único dado firme e duas lembranças coletivas.

É por isso que o Post Ping não escreve uma legenda e a repete: a IA lê o artigo recém-publicado e escreve a legenda a partir dele, com o tom de voz configurado por site e instruções extras da marca, e quem prefere escrever à mão tem o modo manual e a aprovação prévia por e-mail antes de qualquer coisa sair. A publicação no Instagram e na Página do Facebook usa a Graph API oficial da Meta. O que o plugin não faz, e nenhum plugin faz, é adivinhar onde o aplicativo vai cortar a exibição: o que dá para garantir é que a primeira frase seja uma frase, e não o começo de uma introdução. O caminho do artigo até a legenda está em legendas com IA a partir do próprio artigo, e os campos disponíveis estão em recursos do plugin.

Uma régua ruim ainda é uma régua

O argumento a favor dos 125 é melhor do que parece, e descartá-lo sem resposta seria desonesto. Uma equipe de cinco pessoas publicando todo dia precisa de um critério que caiba em uma revisão de dois minutos. “Escreva uma primeira frase forte” não é critério, porque ninguém reprova um texto com isso sem abrir uma discussão. “Até 125 caracteres antes do primeiro ponto” é: cabe em um contador, é objetivo, e a pessoa mais júnior da equipe aplica igual à mais experiente.

O número também não é aleatório. Ele circula porque descreve de forma aproximada o que as quatro publicações dizem observar, e uma primeira frase que termina bem antes desse teto folclórico dificilmente é cortada no meio de uma palavra. Como palpite conservador, funciona, e uma equipe que segue essa régua erra menos que uma equipe que abre a legenda com três linhas de contexto.

Há inclusive o caso em que a régua é a ferramenta certa e este artigo não vale: conta de volume alto, redação rotativa, sem revisor fixo, publicando dezenas de peças por semana em que a legenda é acessório da imagem. Ali não existe orçamento para julgar frase por frase, e um critério mecânico ruim entrega resultado mais estável que um critério bom aplicado por gente cansada.

Fora desse caso, o preço aparece no que a régua faz com a frase, e aparece de forma previsível. A primeira consequência é o enchimento: a frase estava pronta em 70 caracteres e alguém acrescenta um adjetivo e uma oração explicativa para aproveitar o espaço que sobrou. A segunda é a amputação: a frase precisava de 140 caracteres e perde o verbo principal para caber, virando um título nominal que não diz o que aconteceu. Nos dois casos a legenda piora obedecendo à regra.

E existe um custo silencioso. A régua é inauditável: como ninguém publica onde o corte acontece, ninguém consegue medir se mudar de 125 para 140 alterou alguma coisa no resultado. A equipe passa a seguir um critério que não pode ser testado nem refutado, e a discussão sobre legenda deixa de ser sobre o texto para virar sobre o contador.

A substituição que sobrevive a qualquer corte não depende de número. A primeira frase precisa ser inteira e fazer sentido sozinha. O motivo para clicar vem antes de qualquer arroba ou hashtag. E nada depois do corte pode ser necessário para entender a publicação, o que é uma regra que você consegue verificar lendo só o começo em voz alta.

As hashtags entram nessa conta duas vezes, porque também consomem os 2.200 caracteres. Trinta hashtags de quinze caracteres cada somam 450 caracteres antes de a legenda dizer qualquer coisa, e se elas estiverem no topo ocupam justamente as linhas visíveis. Por que cinco hashtags escolhidas pelo assunto rendem mais que trinta é uma discussão à parte, mas o efeito sobre o espaço da primeira linha é o mesmo.

O que dá para testar, e o que sobra de pé

Três achados desta apuração pertencem ao código, não à cartilha de estilo. O primeiro é o 2207010, que qualquer integração consegue provocar de propósito para confirmar que a recusa acontece na criação do contêiner e não depois da publicação.

O segundo é uma armadilha de leitura. A referência do campo caption avisa que o símbolo de arroba é removido quando a legenda é lida de volta pela API, a menos que o usuário do aplicativo tenha permissões equivalentes às de administrador na Página do Facebook conectada à conta do Instagram. Quem arquiva as legendas publicadas para auditar depois, ou para alimentar um relatório de cliente, está arquivando um texto diferente do que o público viu.

O terceiro é recente. Em 22 de junho de 2026 o changelog da Instagram Platform acrescentou o parâmetro is_ai_generated, que aplica o rótulo de conteúdo gerado por IA quando definido como verdadeiro na criação do contêiner de mídia. Quem gera o card por IA passou a ter onde declarar isso de forma oficial, e a decisão deixou de ser uma questão de política editorial para virar um campo no payload que alguém precisa preencher.

O mesmo changelog trouxe, na mesma data, a métrica link_clicks para mídia de story no endpoint de insights de mídia, que devolve o número de toques nos links do story. O corte da legenda no feed continua sem número oficial e sem medição possível, mas o toque no link do story virou um dado que a própria API entrega, e uma equipe que discute há meses quantos caracteres cabem antes do corte pode passar a discutir quantas pessoas tocaram no link.

Um detalhe de integração fecha o assunto dos números que mudam. A Graph API tem versões com validade: a v26.0 saiu em 29 de julho de 2026 e a v25.0, de fevereiro de 2026, tem expiração marcada para 29 de julho de 2028. A versão que o seu código fixa determina qual documentação vale para ele, e limites documentados podem mudar de uma versão para a outra sem que nenhum artigo de blog seja atualizado junto.

O que sobra de pé no fim é curto. A Meta publica 2.200 caracteres, 30 hashtags e 20 marcações, e cobra os três com código de erro e recusa imediata na criação do contêiner. Todo o resto que circula como limite de legenda, o 125 incluído, é observação de terceiros repetida até adquirir aparência de documentação. Usar o 125 como palpite conservador é defensável, desde que a equipe saiba que está seguindo um palpite, e não uma regra que alguém se comprometeu a manter. Se a sua redação precisa de números para escrever a primeira linha, os únicos que têm assinatura embaixo são 2.200, 30 e 20.

Este blog publica sozinho nas redes

Cada artigo daqui vira post no Instagram e no Facebook automaticamente: legenda escrita por IA, card visual gerado na hora. Quem faz isso é o Post Ping, o mesmo plugin que você pode instalar no seu WordPress.

Ver planos do Post Ping