---
name: live-nativo-instagram
description: Guia passo a passo, do zero até a campanha no ar, para anunciar uma LIVE do Instagram no formato nativo da Meta, com o botão "Assistir ao vivo". Funciona com qualquer conta de anúncios. Pergunta se a pessoa já tem token (se não tiver, ensina a gerar), verifica se ela tem público quente (se não tiver, cria) e monta a campanha pausada, conferida, para ligar com a live no ar. Use quando pedirem "anúncio da live", "impulsionar a live", "anunciar minha live", "estou ao vivo", "live hoje às X", "configurar minha conta pra live" ou acionarem pelo nome.
user-invocable: true
---

# Anúncio de live no Instagram: guia completo

Esta skill leva a pessoa **do zero até a campanha publicada**, sem precisar saber nada de
Gerenciador de Anúncios. Quem vê o anúncio no Stories ou no Reels lê "Estou ao vivo
agora!", toca em **Assistir ao vivo** e cai direto dentro da live.

## Como conduzir (regras para o Claude)

- **Uma pergunta por vez.** Espere a resposta antes de seguir.
- **Explique todo termo técnico em português simples** antes de usar (token, público
  quente, conjunto, ThruPlay…). A pessoa pode nunca ter mexido em anúncio.
- **Nada gasta dinheiro sem um "sim" explícito dela.** A campanha é criada pausada e só
  liga quando ela confirmar, com a live no ar.
- Se um comando der erro, leia a mensagem, explique o que significa e diga o que fazer
  (veja "Problemas comuns"). Não desista no primeiro erro.
- Mostre o resultado de cada etapa de forma curta e diga qual é a próxima.

Todos os comandos rodam nesta pasta:
```bash
cd ~/.claude/skills/live-nativo-instagram/scripts
```
Se `python3` não existir no Mac, rode `xcode-select --install` e tente de novo. Para o card
sair com o nome da pessoa, rode `pip3 install pillow`. Sem isso, o script usa um card
genérico "AO VIVO AGORA" e funciona do mesmo jeito.

O perfil padrão se chama `minha-conta`. Para quem cuida de várias contas, use um
`--perfil NOME` por conta.

---

## ETAPA 1: Conferir o básico
Pergunte, uma coisa por vez. **Comece sempre pela pergunta 1**: sem ela não existe live
para anunciar, e não adianta seguir para token nem para campanha.
1. "Sua conta é **pública** e tem **1.000 seguidores ou mais**?" Desde agosto de 2025 o
   Instagram só deixa transmitir ao vivo quem cumpre as duas coisas. Se ela não cumpre,
   **pare aqui** e explique com cuidado: não é limitação da skill, é regra do Instagram, e
   enquanto ela não chegar nos 1.000 seguidores não há como fazer a live. Conta privada se
   resolve na hora (Instagram → Configurações → Privacidade da conta), seguidores não.
2. "Seu Instagram é **conta profissional** (comercial ou criador de conteúdo)?" Se não for:
   Instagram → Configurações → Tipo de conta e ferramentas → Mudar para conta profissional.
3. "Seu Instagram está **ligado a uma Página do Facebook**?" Se não souber, o script
   confere na etapa 3. Para ligar: Instagram → Editar perfil → Página → Conectar.
4. "Você tem uma **conta de anúncios** com forma de pagamento cadastrada?" (é onde a Meta
   cobra os anúncios; fica em business.facebook.com → Gerenciador de Anúncios).

## ETAPA 2: Token
Explique: *"O token é uma chave de acesso. Com ele eu consigo criar a campanha na sua
conta por você. Ele fica salvo só no seu computador. Não mande em grupo nem para outras
pessoas."*

Pergunte: **"Você já tem um token de acesso da Meta?"**

### Se JÁ TEM
Peça para colar e rode:
```bash
python3 live_nativo.py token --token "COLE_AQUI"
```
O script diz se o token funciona, quando vence, se faltam permissões e quais contas de
anúncios ele enxerga.
- ✓ tudo certo → ETAPA 3.
- "TOKEN NÃO FUNCIONA", falta `ads_management` ou não enxerga nenhuma conta → gerar um
  novo (abaixo).
- "token TEMPORÁRIO" → serve para hoje. Sugira gerar um permanente depois (caminho A).

### Se NÃO TEM: guiar a gerar
Pergunte: **"Você tem um Gerenciador de Negócios (business.facebook.com)?"** Quase todo
mundo que anuncia tem. Conduza **um passo por vez**, esperando ela dizer "feito".

**Primeiro, nos dois caminhos: criar um app (só uma vez)**
1. Entrar em **developers.facebook.com** com o mesmo Facebook que administra a conta de anúncios.
2. **Meus apps → Criar app**. Em "caso de uso", escolher **Outro**. No tipo, escolher
   **Empresa**. Dar um nome (ex.: "Anúncio de Live") e, se pedir, escolher o Gerenciador
   de Negócios dela.
3. Dentro do app, em **Adicionar produtos / casos de uso**, adicionar **API de Marketing**.

**Caminho A: token permanente (recomendado, tem Gerenciador de Negócios)**
1. **business.facebook.com → Configurações** (engrenagem) → **Usuários → Usuários do sistema → Adicionar**.
2. Nome: "Live", função **Administrador** → Criar.
3. Clicar no usuário criado → **Atribuir ativos**, com **controle total** em: a **conta de
   anúncios**, a **Página** e a **conta do Instagram**. Salvar.
4. **Gerar novo token** → escolher o app criado → validade **Nunca** → marcar as permissões:
   `ads_management`, `ads_read`, `business_management`, `pages_show_list`,
   `pages_read_engagement`, `pages_manage_ads`, `instagram_basic`.
5. **Gerar token** e copiar na hora (ele aparece uma vez só). Colar aqui → rodar `token`.

**Caminho B: sem Gerenciador de Negócios (token de 60 dias)**
1. developers.facebook.com → **Ferramentas → Explorador da API do Graph**.
2. À direita, em "App da Meta", escolher o app criado. Em "Usuário ou Página", escolher
   **Token do usuário**.
3. Em "Permissões", adicionar as mesmas 7 do caminho A → **Gerar token de acesso** → aceitar tudo.
4. Esse token dura ~1 hora. Para durar 60 dias: **Ferramentas → Depurador de token de
   acesso** → colar → **Depurar** → **Estender token de acesso** → copiar o token novo.
5. Colar aqui → rodar `token`. Lembrar que em 60 dias precisa gerar de novo.

## ETAPA 3: Configurar a conta (uma vez só)
Pergunte: **"Que nome vai aparecer no card do anúncio?"** (ex.: "Maria Souza" → "MARIA SOUZA
ESTÁ AO VIVO AGORA"). Se o token enxergar mais de uma conta de anúncios, pergunte qual usar.
```bash
python3 live_nativo.py configurar --token "TOKEN" --nome "Nome" [--conta act_XXXX] [--pagina ID]
```
O script confere a conta, acha a Página com o Instagram (se houver mais de uma, pergunte
qual é a da live e repita com `--pagina`), procura os públicos quentes e sobe o card.
Opcional: `--texto "..."` muda o texto do anúncio (padrão: "Estou ao vivo agora! Entra na
live e vem participar comigo."), `--card arquivo.jpg` usa um card próprio (1080×1920) e
`--pais PT` muda o país (padrão BR).

## ETAPA 4: Público quente (o que mais faz diferença)
Explique: *"Público quente é quem já te conhece: interagiu com o seu Instagram, visitou
seu perfil, mandou mensagem ou viu seus vídeos. Na live isso faz toda a diferença: quem
já te conhece entra, fica e participa. Público frio (quem nunca te viu) passa direto."*

A etapa 3 mostra uma das avaliações abaixo. Explique e aja:

| Base quente | O que fazer |
|---|---|
| **FORTE** (maior público ≥ 20 mil) | Seguir. Verba sugerida R$ 500 a 1.000+ |
| **MÉDIA** (5 a 20 mil) | Seguir. Verba sugerida R$ 150 a 500 |
| **PEQUENA** (menos de 5 mil) | Pergunte se pode criar os públicos que faltam (não custa nada). Verba de R$ 60 a 150 |
| **NENHUMA** | Pergunte se pode criar. **Não dá para seguir sem público quente** |

Para criar ou atualizar os públicos (com o "sim" dela):
```bash
python3 live_nativo.py publicos --criar
```
São criados: engajados com o Instagram em 365 e 90 dias, visitantes do perfil em 365 dias
e quem mandou mensagem em 365 dias, todos a partir do histórico. **Eles levam de minutos a
algumas horas para encher**, então o ideal é fazer isso na véspera. Para ver o tamanho
depois: `python3 live_nativo.py publicos`. Se mesmo assim a base continuar muito pequena
(Instagram novo ou com pouco engajamento), avise com sinceridade que o anúncio vai
entregar pouco e que vale crescer a base antes (conteúdo e outros anúncios).

## ETAPA 5: Dados da live
Pergunte, uma por vez: **dia**, **hora de início**, **hora de fim** e **verba total**
(sugira a faixa da etapa 4). **Mínimo R$ 60**, porque a Meta recusa menos que R$ 57 em
anúncio de live. Em conta com outra moeda, o script mostra os valores na moeda da conta. Explique que a verba é **total para a live inteira**, não por dia.

Mostrar o plano (não muda nada na conta):
```bash
python3 live_nativo.py plano --fim 22:00 --verba 300 [--data AAAA-MM-DD --inicio 21:00]
```
Os horários valem no **fuso da conta de anúncios** (o script lê sozinho). Sem `--inicio`,
começa em 2 minutos. Mostre o plano e pergunte: **"Posso criar a campanha
pausada?"**

## ETAPA 6: Criar pausado e conferir
```bash
python3 live_nativo.py criar --fim 22:00 --verba 300 [--data ... --inicio ...]
```
Isso cria a campanha, o conjunto, o criativo e o anúncio, **todos pausados**, e já mostra
a conferência. Pode ser feito **horas antes** da live. Se algo falhar no meio, o script
apaga a campanha incompleta sozinho.

Mostre a tabela de conferência. **Todas as linhas precisam ter ✓.** Para conferir de novo:
`python3 live_nativo.py auditar CAMPANHA_ID`.

Explique o que foi montado: objetivo **Engajamento**; meta **ThruPlay** (a Meta busca quem
assiste 15 segundos ou mais); aparece **só no Stories e no Reels do Instagram**; só para o
**público quente**, sem a Meta "abrir" para outras pessoas; verba total dentro do horário
da live; botão **Assistir ao vivo**.

## ETAPA 7: No dia, ligar com a live no ar
1. Ela abre a live no celular: Instagram → **+** → **Ao vivo** → transmitir.
2. Pergunte: **"Já está ao vivo? Posso ligar o anúncio?"** Só com o "sim":
```bash
python3 live_nativo.py ligar CAMPANHA_ID
```
3. A Meta revisa o anúncio **depois que a live começa** (costuma levar poucos minutos).
   Acompanhe a cada 3 a 5 minutos e avise quando aparecer **ACTIVE** (aprovado e rodando):
```bash
python3 live_nativo.py status CAMPANHA_ID
```
4. Para parar antes do fim: `python3 live_nativo.py apagar CAMPANHA_ID`. A campanha também
   para sozinha no horário de fim.

Dica: o anúncio rende mais em **lives de 1 hora ou mais**. A Meta costuma gastar mais rápido
no começo, então uma verba pequena pode acabar antes do fim.

## ETAPA 8: Depois da live, o relatório
```bash
python3 live_nativo.py relatorio CAMPANHA_ID
```
Mostra e explica:
- **investido**;
- **alcance** (pessoas diferentes que viram);
- **pararam 3s** (viram por pelo menos 3 segundos);
- **ThruPlay** (assistiram 15 segundos ou mais);
- **tempo médio assistido**;
- **toques em "Assistir ao vivo"**, com o custo de cada toque. **Esse é o número principal: quanto custou trazer cada pessoa para dentro da live**;
- três tabelas: **onde apareceu** (Stories × Reels), **idade** e **sexo**, com o custo por toque em cada linha.

Leia junto com a pessoa: onde o toque saiu mais barato e que faixa de idade mais respondeu.
Use isso para decidir a verba da próxima live. Como referência, numa live real com
público quente o toque saiu por ~R$ 1,96, com tempo médio de 16s.

---

## Problemas comuns
| Mensagem | O que significa e o que fazer |
|---|---|
| `TOKEN NÃO FUNCIONA` / código 190 | Token vencido, errado ou cortado na cópia. Gerar outro (ETAPA 2) |
| Falta `ads_management` | Token sem permissão de anúncio. Gerar de novo marcando as 7 permissões |
| Token não enxerga nenhuma conta | No caminho A, faltou atribuir a conta de anúncios ao usuário do sistema |
| `Nenhuma Página com Instagram profissional ligado` | Ligar o Instagram à Página (ETAPA 1) ou, no caminho A, atribuir a Página e o Instagram ao usuário do sistema |
| `orçamento deve ser de pelo menos R$ 57` | Verba muito baixa. Usar R$ 60 ou mais |
| `CONTA NÃO ESTÁ ATIVA` | Pagamento pendente ou conta bloqueada. Resolver no Gerenciador de Anúncios |
| `Sem permissão para o anunciante na Página` | O token não tem a Página com controle total. Atribuir a Página (caminho A, passo 3) |
| `Meta pediu pausa (limite de chamadas)` | Normal. O script espera sozinho e continua |
| Anúncio parado em revisão por mais de 20 min | A live precisa estar no ar. Conferir se está transmitindo. Se continuar, apagar e criar de novo |

## Já testado e não funciona (não tentar)
- Copiar uma campanha de live antiga: ela leva a live velha e a Meta recusa.
- Usar o post da live como anúncio comum: "mídia não qualificada para anúncios".
- Mandar o anúncio para o perfil ou para um site em vez do botão nativo "Assistir ao vivo".
