Guia

Como Automatizar Posts no Instagram com uma API

A API Graph oficial do Instagram exige revisao de app do Facebook, uma conta Business vinculada a uma Pagina do Facebook e um fluxo OAuth de varias etapas. O Upload-Post cuida de tudo isso nos bastidores. Uma chamada de API, um endpoint, e seu Reel, foto ou carrossel esta publicado. Este guia cobre tudo que voce precisa para automatizar postagens no Instagram com exemplos de codigo reais.

Por que automatizar posts no Instagram via API

Se voce ja postou manualmente pelo app do Instagram, conhece o processo: abrir o app, escolher um arquivo, escrever uma legenda, adicionar hashtags, marcar pessoas, escolher uma imagem de capa e finalmente clicar em publicar. Agora multiplique isso por cinco posts por dia em varias contas de clientes.

A pagina da plataforma Instagram explica o que o Upload-Post suporta especificamente para o Instagram. A versao resumida: voce pode postar Reels, fotos unicas e carrosseis (posts com varias imagens) por um unico endpoint de API de redes sociais. Sem revisao de app do Facebook, sem renovacao de tokens, sem complexidade da Graph API.

O Instagram permite ate 50 uploads por 24 horas pela API, o que e mais que suficiente para a maioria dos casos de uso. Se voce precisa postar em plataformas adicionais simultaneamente, veja como postar em todas as plataformas de uma vez.

Poste um Reel do Instagram via API

Reels sao o principal formato de conteudo no Instagram. Para postar um video como Reel, envie uma requisicao POST para o endpoint de upload com media_type definido como REELS. Voce tambem pode controlar como o Reel aparece no feed usando share_mode.

curl -X POST https://api.upload-post.com/api/upload \
  -H "Autorização: Apikey sua-api-key-aqui" \
  -F "[email protected]" \
  -F "user=mybrand" \
  -F "title=Behind the scenes of our new product launch" \
  -F "platform[]=instagram" \
  -F "media_type=REELS" \
  -F "share_mode=FEED_AND_REELS" \
  -F "audio_name=Original Audio" \
  -F "cover_url=https://example.com/cover.jpg"

Aqui esta o que cada parametro especifico do Instagram faz:

  • media_type=REELS diz ao Instagram para tratar isso como um Reel em vez de um video comum do feed.
  • share_mode=FEED_AND_REELS publica tanto na aba Reels quanto no feed principal. Use APENAS REELS para manter fora da grade do feed.
  • audio_name define o nome da faixa de audio incorporada que os espectadores veem no Reel.
  • cover_url fornece uma imagem de capa personalizada. Sem isso, o Instagram escolhe um frame do video.

A successful upload returns the job ID and the platform status:

{
  "success": true,
  "job_id": "job_reel_abc123",
  "platforms": {
    "instagram": {
      "status": "processing",
      "user": "mybrand"
    }
  }
}

Voce tambem pode definir share_to_feed=true ou share_to_feed=false como alternativa ao share_mode. Ambos fazem a mesma coisa. Use thumb_offset para escolher um frame especifico do video como thumbnail (valor em milissegundos).

Poste fotos e carrosséis

Para fotos unicas ou posts de carrossel (varias imagens), use o endpoint /api/upload_photos. Envie varios arquivos usando o parametro photos[] para criar um carrossel automaticamente.

curl -X POST https://api.upload-post.com/api/upload_photos \
  -H "Autorização: Apikey sua-api-key-aqui" \
  -F "photos[][email protected]" \
  -F "photos[][email protected]" \
  -F "photos[][email protected]" \
  -F "user=mybrand" \
  -F "title=Our top 3 product picks this month" \
  -F "platform[]=instagram" \
  -F "instagram_first_comment=#productpicks #trending #shopnow"

Quando voce envia mais de um arquivo em photos[], o Instagram cria um post de carrossel. Os usuarios deslizam pelas imagens na ordem em que voce as enviou. Um unico arquivo cria um post de foto padrao. O Instagram suporta ate 10 imagens por carrossel.

Voce pode usar instagram_title para definir uma legenda especifica do Instagram ao postar o mesmo conteudo em varias plataformas ao mesmo tempo. Isso e util quando sua legenda do Instagram precisa de hashtags ou mencoes diferentes das que voce usa em outras plataformas.

Automatically post a first comment

O parametro instagram_first_comment adiciona automaticamente um comentario ao seu post logo apos ele ser publicado. Esta e uma das estrategias mais populares do Instagram: manter sua legenda limpa e mover todas as suas hashtags para o primeiro comentario.

curl -X POST https://api.upload-post.com/api/upload \
  -H "Autorização: Apikey sua-api-key-aqui" \
  -F "[email protected]" \
  -F "user=mybrand" \
  -F "title=Quick tutorial: how to use our app" \
  -F "platform[]=instagram" \
  -F "media_type=REELS" \
  -F "instagram_first_comment=#tutorial #howto #apptips #tech #productdemo"

Por que usar um primeiro comentario em vez de colocar hashtags na legenda? O algoritmo do Instagram trata hashtags no primeiro comentario da mesma forma que hashtags na legenda para descoberta, mas sua legenda fica mais limpa. Muitas marcas e criadores preferem essa abordagem porque mantem o post visualmente focado na mensagem em vez de um muro de hashtags.

Use colaboradores e marcações de usuários

Posts de Colaboracao do Instagram permitem que duas contas sejam coautoras de um unico conteudo. O post aparece em ambos os perfis, e o engajamento (curtidas, comentarios, compartilhamentos) e compartilhado. Use o parametro collaborators para convidar colaboradores.

curl -X POST https://api.upload-post.com/api/upload \
  -H "Autorização: Apikey sua-api-key-aqui" \
  -F "[email protected]" \
  -F "user=mybrand" \
  -F "title=Excited to announce our partnership with @partneraccount" \
  -F "platform[]=instagram" \
  -F "media_type=REELS" \
  -F "collaborators=partneraccount,otheraccount" \
  -F "user_tags=partneraccount,photographer_jane" \
  -F "location_id=123456789"
  • collaborators recebe uma lista separada por virgulas de nomes de usuario do Instagram. Os usuarios convidados recebem uma notificacao para aceitar a colaboracao.
  • user_tags marca usuarios no proprio post, similar a marcar pessoas em uma foto pelo app.
  • location_id anexa uma localizacao ao post. Voce pode encontrar IDs de localizacao pela busca de localizacao do Instagram ou pela API do Facebook Places.

Agende posts no Instagram

Adicione scheduled_date a qualquer requisicao de upload para publicar em um horario futuro. A data deve estar no formato ISO-8601, e voce pode opcionalmente especificar um timezone.

curl -X POST https://api.upload-post.com/api/upload \
  -H "Autorização: Apikey sua-api-key-aqui" \
  -F "[email protected]" \
  -F "user=mybrand" \
  -F "title=Good morning! New content dropping today." \
  -F "platform[]=instagram" \
  -F "media_type=REELS" \
  -F "scheduled_date=2025-09-15T09:00:00Z" \
  -F "timezone=America/New_York"

Voce tambem pode usar add_to_queue=true em vez de uma data especifica. O sistema de filas escolhe o proximo horario disponivel com base na sua programacao configurada, o que e ideal para upload de conteudo em lote sem escolher horarios manualmente. Veja o guia completo de agendamento para configuracao de filas, edicao de posts agendados e gerenciamento do seu calendario de conteudo.

Automatize com Python

O SDK oficial para Python facilita a construcao de scripts de automacao. Instale com pip install upload-post e depois use o UploadPostClient para interagir com a API. Para um tutorial completo, veja o guia de automacao com Python.

Aqui esta um script completo que posta um Reel, envia um carrossel de fotos e agenda conteudo para a semana:

from upload_post import UploadPostClient
from datetime import datetime, timedelta

client = UploadPostClient(api_key="your-api-key-here")

# 1. Post a Reel immediately
reel_response = client.upload_video(
    video_path="/path/to/reel.mp4",
    title="Novo guia do produto",
    user="mybrand",
    platforms=["instagram"],
    media_type="REELS",
    share_mode="FEED_AND_REELS",
    instagram_first_comment="#newproduct #walkthrough #tech"
)
print(f"Reel enviado: {reel_response['job_id']}")

# 2. Post a carousel of photos
carousel_response = client.upload_photos(
    photo_paths=[
        "/path/to/photo1.jpg",
        "/path/to/photo2.jpg",
        "/path/to/photo3.jpg"
    ],
    title="Três ângulos, um produto.",
    user="mybrand",
    platforms=["instagram"],
    collaborators="partneraccount"
)
print(f"Carrossel enviado: {carousel_response['job_id']}")

# 3. Schedule Reels for the next 7 days
videos = [
    "monday.mp4", "tuesday.mp4", "wednesday.mp4",
    "thursday.mp4", "friday.mp4", "saturday.mp4", "sunday.mp4"
]

for i, video in enumerate(videos):
    publish_date = (datetime.now() + timedelta(days=i + 1)).replace(
        hour=10, minute=0, second=0, microsecond=0
    )
    response = client.upload_video(
        video_path=f"/path/to/{video}",
        title=f"Day {i + 1} of our launch week series",
        user="mybrand",
        platforms=["instagram"],
        media_type="REELS",
        scheduled_date=publish_date.isoformat(),
        timezone="Europe/Madrid"
    )
    print(f"Scheduled {video} for {publish_date}: {response['job_id']}")

Este script agenda um Reel por dia as 10:00 no horario de Madrid durante uma semana inteira. Ajuste o hour, timezone e caminhos de arquivo para corresponder ao seu fluxo de trabalho. Para cenarios de upload em massa, voce pode ler caminhos de video de um diretorio ou arquivo CSV e percorre-los da mesma forma.

Automação sem código: n8n e Make.com

Se voce prefere fluxos de trabalho visuais em vez de escrever codigo, tanto o n8n quanto o Make.com funcionam com o Upload-Post nativamente.

n8n

O n8n e uma ferramenta de automacao de fluxos de trabalho open-source. Voce pode usar o node HTTP Request para chamar a API do Upload-Post. Temos um template pronto de Reels do Instagram para n8n que le arquivos de video do Google Drive, adiciona legendas de uma planilha do Google e posta como Reels automaticamente. Navegue por todos os templates do n8n disponiveis para mais configuracoes.

Make.com

O Make.com (antigo Integromat) usa uma abordagem baseada em cenarios. Adicione um modulo HTTP, configure com o endpoint do Upload-Post e sua API key, e conecte a qualquer gatilho: nova linha no Google Sheets, novo arquivo no Dropbox, um temporizador programado, entre outros. O resultado e o mesmo que escrever codigo, mas com uma interface de arrastar e soltar.

Ambas as ferramentas suportam parametros de agendamento (scheduled_date, add_to_queue), entao voce pode criar um calendario de conteudo completo para o Instagram sem tocar em um terminal.

Requisitos de conteúdo do Instagram

O Upload-Post adapta automaticamente seu conteudo quando possivel (usando a API do FFmpeg integrada), mas e bom saber o que o Instagram espera para que voce possa otimizar a qualidade.

Formato Specification Detalhes
Vídeo (Reels) Tamanho máximo do arquivo 1 GB
Formatos MP4, MOV
Proporção 9:16 recomendado, 1:1 e 4:5 suportados
Duração 3 segundos a 15 minutos
Resolução 1080x1920 recomendado
Foto Tamanho máximo do arquivo 8 MB
Formatos JPEG, PNG
Proporção 1:1, 4:5, 1.91:1
Dimensões máximas 1440x1440 (quadrado), 1080x1350 (retrato)
Carrossel Máximo de imagens 10 por post
Mídia mista Fotos e vídeos podem ser combinados

Perguntas frequentes

Isso funciona com contas pessoais do Instagram?

Nao. A API do Instagram so suporta contas Business e Creator. Contas pessoais nao podem ser acessadas por nenhuma API oficial. A boa noticia e que mudar para uma conta Business ou Creator e gratuito e leva cerca de 30 segundos nas configuracoes do app do Instagram. Voce precisa conecta-la a uma Pagina do Facebook, o que o Upload-Post faz durante o processo de vinculacao de conta.

Posso postar Stories do Instagram via API?

A API oficial do Instagram nao suporta publicacao de Stories. Essa e uma limitacao imposta pela Meta, nao pelo Upload-Post. Stories so podem ser criados pelo proprio app do Instagram. Se o suporte a Stories se tornar disponivel pela API no futuro, o Upload-Post ira adiciona-lo.

Posts automatizados vão causar shadowban na minha conta?

Nao. O Upload-Post usa a API oficial de Publicacao de Conteudo do Instagram (a mesma API que Hootsuite, Buffer e todas as outras ferramentas autorizadas usam). Seus posts passam pelo pipeline oficial do Instagram, entao nao ha risco de shadowban ou penalidades na conta. Isso e fundamentalmente diferente de automacao de navegador ou bots nao oficiais, que violam os termos do Instagram. Se voce esta usando atualmente uma ferramenta como Hootsuite ou Later, o Upload-Post e uma alternativa voltada para desenvolvedores que usa o mesmo acesso oficial.

Existe um plano gratuito?

Sim. Toda conta do Upload-Post inclui 10 uploads gratuitos por mes sem necessidade de cartao de credito. Isso e suficiente para testar a API, validar seu fluxo de trabalho e confirmar que tudo funciona antes de se comprometer com um plano pago. Confira o calendario de datas comemorativas para redes sociais para planejar seus primeiros posts em torno de eventos futuros.

Comece a automatizar posts no Instagram hoje

Uma chamada de API. Reels, fotos, carrosseis, primeiros comentarios, colaboradores e agendamento. Tudo feito por voce.

Sem cartão de crédito. 10 uploads gratuitos incluídos.