"Automatizar publicação de Instagram com IA: pipeline técnico de R$0 a R$200/mês"

Pipeline de 4 etapas pra auto-publicar no Instagram com IA — caption, imagem, fila de review e Graph API. Três stacks de R$0 a R$200/mês, com os números reais.

A resposta curta, antes do tutorial longo: dá pra automatizar publicação no Instagram com IA por R$0/mês até ~30 posts/mês (Cloud Functions + Firestore + Gemini free tier), por R$50–150/mês até ~500 posts (n8n self-hosted + Gemini + imagem gerada) ou por R$200+/mês quando você empilha um Buffer em cima de um pipeline custom só pra a parte de IA. O custo não é o agendamento — isso é grátis na Graph API da Meta. O custo é a geração de imagem e o review humano, e é aí que quase todo mundo erra a conta.

Sou o Ulisses, fundo a Hens. Construí o OverAir e o Studio Kallos, e montei pipeline de automação de conteúdo pra cliente que precisava alimentar Instagram sem ter social media. Esse post é o pipeline técnico de ponta a ponta — as 4 etapas, os 3 stacks com preço, e o erro que derrubou o alcance de uma conta em 70% antes de eu entender o que tava acontecendo.

Se você é creator, agência ou tem um e-commerce postando na mão todo dia, esse é o roteiro que eu seguiria hoje.

O pipeline tem sempre 4 etapas

Não importa o stack. Auto-publicação no Instagram que não vira spam tem quatro etapas, sempre nessa ordem:

  1. Fonte — de onde vem o conteúdo bruto (scrape de um feed, planilha, ou input manual numa fila).
  2. IA gera — caption + imagem. Gemini pra texto, Gemini 2.5 Flash Image (ou a versão nova) pra arte.
  3. Review humano — uma fila onde alguém aprova antes de ir pro ar. Pular essa etapa é o que transforma automação em desastre de marca.
  4. Publicar — agendar e mandar via Instagram Graph API.

O erro mais comum é tratar isso como pipeline de 3 etapas e cortar o review humano. Não corta. Eu explico por quê lá embaixo, com o número do alcance que despencou.

Os 3 stacks, lado a lado

Stack R$0 Stack R$50–150 Stack R$200+
Volume até ~30 posts/mês 100–500 posts/mês escala maior / multi-conta
Orquestração Cloud Functions + Firestore n8n self-hosted (VPS) Buffer/Later + pipeline custom
IA texto Gemini free tier Gemini pago Tier 1 Gemini pago
IA imagem Gemini free / Canva manual Gemini 2.5 Flash Image Gemini Flash Image
Agendamento Graph API direto Graph API via n8n Buffer faz isso
Custo real/mês R$0 R$50–150 R$200–400
Quando faz sentido 1 conta, baixo volume agência, várias contas quem quer UI pronta + analytics

A coluna que mais engana é a última. Buffer cobra US$6 por canal/mês no plano Essentials (cobrança mensal; US$5 se anual), e US$12/canal no Team (Buffer pricing, 2026). Cinco contas no Team já são US$60/mês só de agendamento — e o Buffer não gera imagem nem caption com IA decente. Você ainda paga o Gemini por fora. Por isso o stack de R$200+ é Buffer pra a parte chata (UI, calendário, analytics) + pipeline Hens só pra a IA.

Por que Graph API e não um robô que clica

Antes de qualquer código: esquece Selenium, Puppeteer batendo no instagram.com, ou qualquer ferramenta que "loga e clica" na sua conta. A Meta detecta automação não-oficial e derruba a conta. A forma suportada é a Instagram Graph API com Content Publishing.

Pré-requisitos que ninguém avisa antes de você perder uma tarde:

  • Conta Instagram Profissional (Business ou Creator), não pessoal.
  • Pra login via Facebook: uma Facebook Page linkada à conta IG, mais as permissões instagram_basic, instagram_content_publish e pages_read_engagement.
  • Pra login direto via Instagram: permissões instagram_business_basic e instagram_business_content_publish (Meta Content Publishing docs, 2026).

O rate limit é o ponto que muda a arquitetura: 100 posts publicados via API por janela móvel de 24h por conta (Meta docs, 2026). Carrossel conta como 1 post, não como 10. Você consulta o uso atual no endpoint GET /<IG_ID>/content_publishing_limit. Pra 99% dos creators, 100/dia é teto que você nunca encosta — mas se você roda agência multi-conta, é por conta que conta, não no total.

Etapa 1 — a fonte

A fonte é a parte mais boba e a que mais gente complica. Três opções, da mais simples pra mais frágil:

  • Input manual numa fila (Firestore, Airtable, Google Sheet). Você joga a ideia bruta, o pipeline faz o resto. É a que eu recomendo pra começar.
  • Scrape de um feed RSS ou de um blog próprio — transforma post de blog em post de Instagram.
  • Scrape de outras contas — não faça. Re-postar conteúdo de terceiros é o caminho mais rápido pra shadowban e strike de copyright.

No stack R$0, a fila é uma coleção content_queue no Firestore. Cada doc é { status: 'draft' | 'approved' | 'published', rawIdea, generatedCaption, imageUrl }. Simples assim.

Etapa 2 — IA gera caption + imagem

Aqui mora o custo de verdade. Vamos separar texto de imagem porque os preços são ordens de grandeza diferentes.

Caption (texto). Gemini 2.5 Flash / Gemini 3 Flash no free tier te dá 10 requests por minuto, 250 mil tokens por minuto e 1.500 requests por dia (Gemini API rate limits, 2026). Os limites são por projeto, não por chave — criar 5 chaves não multiplica nada, e o RPD reseta à meia-noite no horário do Pacífico. Pra gerar 30 captions/mês, o free tier sobra. Você nunca paga pela parte de texto em baixo volume.

Prompt que eu uso pra caption (resumido):

Você é o social media de uma marca de [nicho].
Tom: [direto / divertido / técnico]. Sem emoji excessivo.
A partir desta ideia bruta: "{rawIdea}"
Gere: (1) caption de até 125 caracteres antes do "ver mais",
(2) 5 hashtags de nicho, nada genérico tipo #love,
(3) uma CTA de 1 linha. Retorne JSON.

Imagem. É aqui que a conta sobe. Gemini 2.5 Flash Image (o "Nano Banana") custa US$0,039 por imagem 1024×1024, ou US$0,0195 via Batch API (Gemini image pricing, 2026). Detalhe importante: a Google vai desligar o 2.5 Flash Image em 2 de outubro de 2026 e o substituto recomendado, gemini-3.1-flash-image-preview, custa US$0,067 por imagem — quase o dobro. Se você tá montando pipeline pra durar, já mira no modelo novo no cálculo.

Pra 100 posts/mês com imagem gerada: 100 × US$0,067 = US$6,70/mês (~R$37). É o item mais caro do stack de volume médio, e é por isso que ele existe. Em baixo volume, gere a arte no Canva na mão e fique no R$0.

Etapa 3 — a fila de review humano (não pule)

Essa é a etapa que separa automação profissional de fábrica de constrangimento. A IA vai, mais cedo ou mais tarde, gerar uma caption com factóide errado, um número inventado, ou uma imagem com texto distorcido. Em produção, isso vira print no Twitter.

O padrão é simples: a Etapa 2 grava o post com status: 'draft'. Um humano abre uma tela (ou recebe no WhatsApp/Telegram), aprova ou edita, e só então o status vira approved. A Etapa 4 só toca em approved.

Em um pipeline de conteúdo que montei pra um cliente, a primeira versão não tinha essa fila — a IA publicava direto. Durou uma semana. A IA gerou uma legenda afirmando um desconto que não existia, foi pro ar às 7h, e às 9h tinha gente no direct cobrando o preço. Tive que adicionar a fila de review num domingo. Custo do atalho: um sábado refazendo arquitetura e uma conversa desconfortável com o cliente. Nunca mais entreguei pipeline sem review humano no meio.

Etapa 4 — agendar e publicar via Graph API

Publicar uma imagem de feed na Graph API são dois passos:

# 1. Cria o container
POST /<IG_ID>/media
  ?image_url=https://seu-cdn.com/arte.jpg
  &caption=...
→ retorna creation_id

# 2. Publica o container
POST /<IG_ID>/media_publish
  ?creation_id=<id>

Carrossel é igual, só que você cria um container por imagem (até 10 filhos), depois um container pai com media_type=CAROUSEL listando os IDs filhos, e publica o pai. Atenção: a image_url tem que ser uma URL pública que a Meta consiga baixar. Bucket privado não funciona — a Meta puxa a imagem do seu servidor, não recebe upload.

O "agendamento" no stack R$0 é só um Cloud Scheduler que dispara a função de publicação na hora marcada lendo a fila. Você não precisa de Buffer pra isso.

Reels: o caso assíncrono que pega todo mundo

Reels não publica na hora. O fluxo é:

  1. Cria container com media_type=REELS e video_url. Pra vídeo grande, use upload_type=resumable e suba o arquivo pro endpoint rupload.facebook.com.
  2. A Meta processa o vídeo de forma assíncrona — leva de 60 a 180 segundos.
  3. Você consulta GET /<IG_CONTAINER_ID>?fields=status_code e espera. Os estados são IN_PROGRESS, FINISHED, ERROR, EXPIRED (Meta Content Publishing docs, 2026). A própria Meta recomenda consultar uma vez por minuto, por até 5 minutos.
  4. Só depois de FINISHED você chama media_publish.

Se o seu código chama media_publish logo depois de criar o container do Reels, ele falha. Eu queimei umas horas nisso porque o handler de imagem funcionava na hora e eu assumi que Reels seria igual. Não é. Reels precisa de uma máquina de estados com polling.

O erro que mata: postar a mesma arte em várias contas

Esse é o erro caro, e o que a IA "esconde" porque ninguém documenta no tutorial feliz.

Quando montei o pipeline multi-conta, a primeira versão gerava uma arte e postava idêntica em 4 contas da mesma rede. Em cerca de 3 semanas, o alcance orgânico despencou — a impressão era de queda de uns 70% nas contas secundárias. Era shadowban silencioso. O algoritmo do Instagram detecta a impressão digital do arquivo e suprime conteúdo idêntico repostado entre contas — é apontado como a causa nº1 de shadowban em 2026 (Socialync, 2026). A recuperação leva de 7 a 14 dias depois que você corrige a causa (SocialzAI, 2026).

A solução técnica usa a própria IA contra o problema: em vez de postar o mesmo arquivo, o pipeline gera pequenas variações por conta. Gemini Vision recebe a arte base e produz uma variação — crop diferente, cor de fundo levemente alterada, elemento reposicionado. O fingerprint muda, a marca continua consistente, o shadowban não dispara. Caption também tem que variar entre contas; legenda idêntica é o segundo gatilho.

Vou ser direto: se você só tem uma conta, esse problema não existe e você não precisa gerar variação nenhuma. Otimização prematura aqui é desperdício de tokens de imagem. A variação só vale a partir de multi-conta.

Quanto custa de verdade — a conta itemizada

Stack R$0 (1 conta, 30 posts/mês):

Item Custo/mês
Cloud Functions (invocações) R$0 (free tier)
Firestore (fila) R$0 (free tier)
Gemini texto (free tier) R$0
Imagem (Canva manual) R$0
Total R$0

Stack médio (agência, 300 posts/mês, imagem gerada):

Item Custo/mês
VPS pro n8n (2GB) ~R$30
Gemini texto Tier 1 ~R$10
Imagem: 300 × US$0,067 ~R$110
Total ~R$150

Repara: no stack médio, 73% do custo é geração de imagem. Se você consegue reaproveitar templates do Canva pra metade dos posts, corta R$55/mês. A imagem por IA é luxo que só vale quando o volume não deixa fazer na mão.

O que eu evitaria

Eu não começaria com n8n. Todo tutorial empurra n8n porque renderiza bonito num vídeo, mas pra 30 posts/mês ele é um VPS, um update de segurança e um ponto de falha que você não precisa. Cloud Functions + Firestore resolve no free tier, sem servidor pra cuidar. Suba pra n8n quando o volume passar de ~100 posts/mês e a orquestração visual começar a pagar o custo de manter o servidor.

E eu não pagaria Buffer só pra agendar. Se a parte de IA já é custom, o agendamento via Graph API direto é umas 40 linhas de código e R$0. Buffer só faz sentido quando você quer a UI pronta de calendário e o analytics pro cliente — aí você paga pela interface, não pela automação.

Se você quer um pipeline desses rodando — seja o R$0 pra começar ou o multi-conta com variação por IA — é exatamente o tipo de coisa que a Hens entrega. Fala comigo.

Fontes

Quer um app assim pro seu negócio?

A Hens constrói apps Flutter, bots WhatsApp com IA e backoffices sob medida — com o mesmo rigor dos nossos produtos próprios. Do MVP ao app em produção. Primeira conversa é direta, sem formulário.

Falar no WhatsApp →