Cem publicações em 24 horas. Esse é o teto que a documentação de publicação da Meta impõe hoje a uma conta do Instagram, e é o número mais generoso de todo o conjunto de regras que ela descreve. O resto da lista é restrição, e é nesse resto que está a resposta para o que a API do Instagram deixa automatizar: ela automatiza um ato só, o de publicar. Escolher o que vai no post, montar a arte no formato aceito, escrever a legenda e decidir a hora continuam do seu lado da linha. A fronteira entre os dois lados obedece a uma decisão de produto da Meta, não a um limite técnico, e ela se moveu quatro vezes nos últimos nove meses.
Cinco tipos de mídia e nada fora dessa lista
A criação de mídia aceita cinco valores em media_type: IMAGE, VIDEO, REELS, STORIES e CAROUSEL. Os três primeiros e o story recebem a mídia por image_url ou video_url; o carrossel recebe uma lista de containers já criados no parâmetro children, limitada a dez itens entre imagens, vídeos ou uma mistura dos dois.
O carrossel tem uma particularidade que vale para quem publica muito: ele conta como uma publicação só no teto diário. Dez imagens em um carrossel gastam a mesma cota que uma foto avulsa. Tem também uma regra de enquadramento que costuma pegar quem monta arte fora do padrão: a proporção considerada é a da primeira imagem, e as demais são cortadas com base nela. Um carrossel com a primeira arte em quadrado e a segunda em retrato sai com a segunda cortada, e não há parâmetro na chamada para pedir outra coisa.
Antes de qualquer um desses cinco tipos existir para você, a conta precisa ser profissional do Instagram e o aplicativo precisa carregar as permissões de publicação. Com o login do Instagram são instagram_business_basic e instagram_business_content_publish. Conta pessoal não entra nessa API por nenhum caminho.
A imagem precisa morar num endereço público e ser JPEG
Você não envia o arquivo. Você envia uma URL, e os servidores da Meta vão buscar a imagem nesse endereço. Isso muda o desenho de qualquer automação feita a partir de um site: a arte precisa estar acessível de fora, sem login, sem proteção de hotlink, sem estar num ambiente de homologação atrás de autenticação básica.
O formato aceito é JPEG, e só. Formatos estendidos como MPO e JPS ficam de fora. Etiqueta de compras e filtros não são suportados. São quatro linhas curtas na seção de limitações da documentação, e cada uma delas já derrubou o fluxo de alguém que tinha certeza de que o problema estava no token.
A falha aparece assim na prática. Em março de 2026, usuários do Mixpost registraram na issue 197 do projeto que a publicação no Instagram parou de funcionar enquanto Facebook e Bluesky continuavam recebendo o mesmo arquivo. A resposta da Meta vinha assim: código 9004, subcódigo 2207052, mensagem Only photo or video can be accepted as media type, e um error_user_msg dizendo que a mídia não pôde ser buscada a partir da URI. O campo depois de URI: estava vazio. O erro fala em tipo de mídia, o problema era o endereço da imagem. Quem lê o código sem ler a mensagem de usuário passa horas mexendo no lugar errado.
O container expira em 24 horas, e por isso agendar continua sendo problema seu
Publicar são dois pedidos. O primeiro cria o container e devolve um identificador; o segundo manda publicar aquele identificador. Entre os dois, a Meta processa a mídia, e a documentação recomenda consultar o estado do container uma vez por minuto, por no máximo cinco minutos. O campo de estado responde IN_PROGRESS, FINISHED, ERROR, EXPIRED ou PUBLISHED.
O que não existe em lugar nenhum dessa sequência é um parâmetro de horário. Não há como criar um container hoje pedindo que ele apareça no feed na terça às nove. O container é uma sala de espera com prazo: se não for publicado em 24 horas, ele expira e vira EXPIRED. Qualquer agendamento acontece do lado de fora, na sua fila, no seu cron, no seu WordPress, e o que chega na Meta é sempre um pedido para publicar agora.
Quem monta a esteira precisa manter em casa um relógio, um registro do que já foi enviado e uma decisão sobre o que fazer quando o container volta com ERROR. Republicar por reflexo, sem checar se a primeira tentativa passou, é o caminho mais rápido para dois posts iguais no feed.
Publicado é publicado, e o que dá para mudar depois é quase nada
No objeto de mídia do Instagram, a referência lista uma dúzia de campos legíveis, incluindo caption, permalink, alt_text e media_type. Na seção de atualização há um parâmetro. Um. O comment_enabled, que liga e desliga comentários.
A legenda não se edita pela API. O erro de digitação que saiu às sete da manhã continua lá às sete da noite, e o único caminho para corrigir é abrir o aplicativo na mão ou apagar o post. Apagar, aliás, é recurso novo: a API de exclusão de mídia entrou no changelog em 3 de dezembro de 2025, cobrindo posts que não sejam anúncios, stories, reels e álbuns de carrossel inteiros. Antes disso nem isso existia. E apagar para republicar corrigido custa os comentários, as curtidas e o permalink que você já espalhou.
Toda a qualidade do post, então, precisa estar resolvida antes do primeiro pedido, e isso muda o peso de onde vem a legenda. No Post Ping, ela é escrita por IA a partir do texto do próprio artigo, no tom de voz configurado para o site, e existe a opção de aprovação prévia por e-mail antes de qualquer coisa sair. Essa é a única janela de correção que a API deixa aberta, e ela fecha no instante em que o container é publicado.
Cem publicações por dia é um teto em que quase ninguém encosta
A cota é de cem publicações por conta em uma janela móvel de 24 horas, e existe um endpoint para consultar o quanto dela já foi gasto: GET /IG_ID/content_publishing_limit. Janela móvel significa que não há zeramento à meia-noite. A cota devolve o que foi usado conforme cada publicação completa 24 horas de idade.
Para um blog que publica um ou dois artigos por dia, esse número é irrelevante e vai continuar sendo. Ele vira assunto em dois cenários. O primeiro é a agência que assume uma carteira e resolve levar o acervo antigo para o feed de um cliente de uma vez; a partir do centésimo pedido, os seguintes são recusados até a janela andar. O segundo é o teste malfeito: um laço que republica em erro consome cota real, e a cota é da conta do cliente, não da sua.
O teto que realmente aparece no dia a dia é outro, e não está na cota. É o acesso: token vencido, permissão revogada quando alguém mudou o papel na Página, aplicativo que perdeu uma autorização. A publicação para, a cota está intacta, e o painel não avisa nada até você olhar.
O story sai sem figurinha de link, e isso muda o desenho do card
A publicação de story pela API é uma linha na documentação: crie o container com media_type igual a STORIES. Não há parâmetro descrito para figurinha de link, enquete, menção, localização ou música. O que a API entrega é a imagem ou o vídeo ocupando a tela, e nada mais em cima dele.
O campo alt_text, que a Meta abriu para imagens, também não vale aqui: a própria documentação diz que reels e stories não são suportados. Há uma assimetria aí: em 22 de junho de 2026 a Meta lançou a métrica link_clicks nas estatísticas de story, que conta toques em figurinha de link. Dá para medir o toque em uma figurinha que a API não deixa você colocar.
Quem publica story por automação, então, trabalha com o que sobra: a chamada precisa estar desenhada dentro da arte, e o destino do clique precisa ser um endereço que a pessoa alcance por conta própria. Na prática isso empurra o tráfego para o link do perfil, que é onde a conversa sobre ter a página de links no seu próprio domínio deixa de ser preferência e vira questão de funcionamento. O card de story do Post Ping sai em 9:16 respeitando a zona segura da interface, com a chamada para o link do perfil impressa na arte, justamente porque a camada de figurinhas não está disponível para quem publica por fora do aplicativo.
O caso de quem prefere continuar publicando à mão
Se o Instagram é o produto, e não o canal, a versão publicada por API é um post pior. Enquete, caixinha de pergunta, menção clicável, colaboração no ato da publicação, áudio em alta escolhido na hora da edição: nada disso passa por essa porta. Um perfil que vive de interação em story perde a ferramenta principal ao automatizar, e nenhuma economia de tempo compensa isso.
A fronteira até andou nessa direção. Em 1 de junho de 2026 a Meta abriu a API de áudio, que permite buscar sons originais de reels e o acervo da Sound Collection; em 3 de dezembro de 2025 apareceram os reels de teste, via trial_params; em 22 de abril de 2026 entraram os rótulos de publicidade em parceria e a possibilidade de curtir e comentar pela API. A superfície criativa está sendo aberta aos poucos.
Aos poucos, porém, é a expressão exata. Enquanto a edição de verdade continuar acontecendo dentro do aplicativo, a conta que compete por interação continua sendo publicada por gente. O que sobra do outro lado é grande e é o caso mais comum entre quem tem blog: o post que anuncia um artigo. Esse post é uma arte, uma legenda e um link. Ele não usa nada do que a API recusa, e fazer à mão dez vezes por semana o que sai igual em toda publicação é onde o tempo some sem contrapartida.
O que sobra de pé quando a Meta mexe na lista de novo
A cadência das mudanças está registrada: exclusão de mídia e reels de teste em dezembro de 2025; métricas de compartilhamento, colaboração e curtida em abril de 2026; áudio e o parâmetro is_ai_generated, que marca conteúdo gerado por IA, em junho de 2026; a versão 26 da Graph API em 29 de julho de 2026. Em nove meses a lista do que dá para automatizar mudou quatro vezes, sempre para mais, sem nenhum aviso que chegue até você por outro canal que não o changelog.
Isso tem uma consequência de projeto. Automação que amarra a geração da legenda e da arte ao passo de publicação quebra junto quando a Meta mexe no passo de publicação. Separar as duas coisas custa quase nada na hora de montar e paga sozinho na primeira mudança de versão: o material continua sendo produzido, e só a chamada precisa acompanhar. Vale também não construir fluxo em cima de comportamento que a documentação não descreve. Muito do que se lê por aí sobre figurinha de link em story publicado por API descreve o que funcionava em alguma combinação de versão e conta, não o que está escrito.
Quem desenha o fluxo aceitando a lista de hoje, com a URL pública, o JPEG, as 24 horas do container e a legenda que não volta atrás, tem uma esteira que roda sozinha por meses. Quem desenha esperando que a lista seja outra descobre a diferença no dia da publicação, com o post já no ar. O caminho completo, do artigo no WordPress até o post no ar nas duas redes, está em publicar do WordPress no Instagram e no Facebook automaticamente.
