Testado por nós
A 12-nov-2026 carregámos um reel como reel de teste por esta via e saiu como tal (is_shared_to_feed=false, não apareceu na grelha). A Meta muda coisas com frequência: verifica cada reel depois de publicar, como se explica no passo 2.
Os reels de teste (Trial Reels) são uma funcionalidade oficial do Instagram: o reel é mostrado primeiro a quem não te segue e não aparece no teu perfil nem aos teus seguidores. Perfeito para testar ganchos sem queimar a tua conta.
O que pouca gente sabe: podem ser carregados pela API oficial do Instagram. E se uma API os pode carregar, o Claude também pode.
O loop
Carrega
O Claude publica uma versão do vídeo como reel de teste. Uma por dia.
Testa
O Instagram mostra-a a quem não te segue. O teu perfil nem dá por isso.
Mede
Todas as manhãs o Claude lê o skip rate, o tempo de visualização, as visualizações e o alcance.
Melhora
Diz-te que gancho ganhou e propõe alterações às tuas skills. Tu decides.
O que precisas
- Uma conta do Instagram profissional (criador ou empresa).
- Uma conta de programador da Meta (grátis) em developers.facebook.com.
- Claude Code (ou qualquer Claude que possa executar código no teu computador).
- Um sítio onde deixar o teu MP4 num URL público durante alguns minutos: o teu site, um bucket, um servidor… (passo 3).
A API do Instagram é grátis. A única coisa que pagas é o teu plano do Claude.
Passo 1: a app da Meta com início de sessão do Instagram
- Em developers.facebook.com → As minhas apps → Criar app (My Apps → Create App) → tipo «Empresa» (Business).
- Adiciona o produto Instagram e escolhe «API com início de sessão do Instagram» (Instagram API with Instagram Login).
- Na configuração da API, adiciona a tua conta do Instagram como testador (tester), aceita-o a partir da app do Instagram (Definições → Apps e sites, Settings → Apps and websites) e gera o token de acesso. Começa por
IGAA. - Permissões:
instagram_business_basic,instagram_business_content_publisheinstagram_business_manage_insights. - Guarda o token num ficheiro
.envdo teu projeto. Nunca o coles num chat, numa captura nem no GitHub.
Os nomes dos menus da Meta mudam de vez em quando; se não encontrares algum, procura o equivalente em inglês.
Tem de ser ESTA variante da API
Há duas formas de usar a API do Instagram. Com a de início de sessão do Facebook (tokens que começam por EAA, graph.facebook.com) testámos enviar reels de teste e a Meta ignorou o parâmetro sem dar erro: o reel saiu NORMAL, na grelha. Usa a de início de sessão do Instagram: token IGAA e graph.instagram.com.
Para verificar que o token funciona, pede o teu utilizador: GET https://graph.instagram.com/v23.0/me?fields=user_id,username com o token como access_token.
Passo 2: carregar um vídeo como reel de teste
São três chamadas, todas para https://graph.instagram.com/v23.0:
1. Criar o contentor com trial_params:
POST /<IG_USER_ID>/media
{
"media_type": "REELS",
"video_url": "https://o-teu-site.com/temporario/aleatorio.mp4",
"caption": "O teu texto…",
"trial_params": { "graduation_strategy": "MANUAL" }
}
graduation_strategy | O que acontece |
|---|---|
MANUAL | O reel fica como teste. Se o quiseres passar para o teu perfil, «graduas» tu à mão a partir da app. |
SS_PERFORMANCE | O Instagram passa-o para o teu perfil só se funcionar bem. |
2. Esperar pelo processamento: GET /<ID_CONTENTOR>?fields=status_code até dizer FINISHED.
3. Publicar: POST /<IG_USER_ID>/media_publish com { "creation_id": "<ID_CONTENTOR>" }.
Verifica SEMPRE logo a seguir:
GET /<ID_DO_REEL>?fields=permalink,is_shared_to_feed
Se is_shared_to_feed for false, é um reel de teste. Se for true ou o reel aparecer na tua grelha, saiu como reel normal: arquiva-o e confirma que usas o token IGAA e graph.instagram.com.
Passo 3: o MP4 tem de estar num URL público (por um momento)
Para reels, o graph.instagram.com não aceita carregar o ficheiro diretamente: pede video_url e o Instagram descarrega o vídeo desse endereço.
- Carrega o MP4 para o teu site, servidor ou bucket com um nome aleatório.
- Confirma que o URL devolve mesmo o MP4 (não uma página de erro nem um login).
- Cria o contentor, espera por
FINISHEDe apaga o ficheiro.
Passo 4: ler os números todas as manhãs
GET /<ID_DO_REEL>/insights?metric=reels_skip_rate,ig_reels_avg_watch_time,views,reach
| Métrica | O que te diz |
|---|---|
reels_skip_rate | A % de pessoas que saltam o teu reel nos primeiros 3 segundos. É o «vão-se embora em 3 s»: a que diz se o gancho funciona. A Meta marca-a como estimada e em desenvolvimento: usa-a para comparar os teus ganchos entre si, não como número exato. |
ig_reels_avg_watch_time | O tempo médio de visualização. |
views | Visualizações. |
reach | Contas alcançadas. |
Deixa passar pelo menos 24 h antes de comparar um reel de teste com outro.
Passo 5: o loop com o Claude Code
A ideia: de cada vídeo fazes 5 versões com ganchos diferentes (mesmo conteúdo; muda a primeira frase, o primeiro plano e a capa) e o Claude carrega uma por dia como reel de teste. Todas as manhãs lê os números e regista que gancho ganhou. Com isso ajustas as tuas skills: a que escreve guiões e a que edita.
Abre o Claude Code na pasta do teu projeto (com o token já no .env) e cola-lhe isto:
Vamos montar um loop de reels de teste no Instagram com a API do Instagram com início de sessão do Instagram.
O token está no .env (INSTAGRAM_TOKEN, começa por IGAA). Não me peças para to colar no chat. Usa sempre https://graph.instagram.com/v23.0.
1. Cria um script "carregar-teste" que receba um MP4 e um texto, o deixe num URL público temporário com nome aleatório (eu digo-te onde), confirme que esse URL devolve o MP4, crie o contentor com media_type=REELS e trial_params {"graduation_strategy":"MANUAL"}, espere por FINISHED, publique, apague o MP4 temporário e verifique is_shared_to_feed. Se vier true, avisa-me e para.
Regista cada reel em testes.csv (data, ficheiro, gancho, id do reel, permalink).
2. Cria um script "ler-numeros" que, para cada reel de testes.csv com mais de 24 h, peça reels_skip_rate, ig_reels_avg_watch_time, views e reach, e o guarde no mesmo CSV.
3. Todas as manhãs: executa ler-numeros, diz-me que gancho ganhou (menos skip rate e mais tempo de visualização) e porque achas que ganhou. Propõe uma alteração concreta à minha skill de guiões e outra à de edição. Não alteres as skills sem me mostrares antes a alteração.
4. Depois, carrega a próxima versão pendente com carregar-teste. No máximo uma por dia.As 5 versões podes fazê-las à mão ou pedi-las ao Claude:
Dá-me 5 ganchos diferentes para este guião, um de cada tipo: resultado, curiosidade, erro, contradição e história. Para cada um: a primeira frase, o que se vê no primeiro plano e o texto da capa.Avisos
- Começa devagar: um teste por dia. Publicar em massa por API pode chocar com os limites e políticas da Meta. A tua quota vês com
GET /<IG_USER_ID>/content_publishing_limit. - Verifica cada reel depois de publicar (passo 2). Se a Meta mudar alguma coisa, pode sair-te como reel normal.
- «Melhora sozinho» significa que o Claude te propõe as alterações com dados; o critério final é teu.
- O teu token é teu: só no
.env, nunca no chat, em capturas nem no GitHub. Se vazar, revoga-o na consola da Meta. - Não é uma ferramenta paga nem de terceiros: é a API oficial do Instagram + Claude.
Checklist
- Conta do Instagram profissional.
- App da Meta com «API com início de sessão do Instagram» e a tua conta como testador.
- Token
IGAAno.envcom as 3 permissões. - Sítio onde deixar o MP4 num URL público por um momento.
- Primeiro reel de teste carregado e
is_shared_to_feed=false. - Loop montado com o Claude Code: um teste por dia e leitura todas as manhãs.