Gerador de Legendas SEO para Instagram (a partir do roteiro do vídeo)
Escreve uma legenda que faz o Reel ser encontrado, não apenas lido. As palavras-chave vêm do que o vídeo realmente diz, porque a Pesquisa do Instagram casa a legenda, o texto na tela e o áudio falado, e desde 10 de julho de 2025 o Google e o Bing indexam postagens públicas de contas profissionais (legenda, texto alternativo, texto na tela). Uma legenda que nomeia um tópico que o vídeo nunca menciona, ou um vídeo cujo tópico a legenda nunca nomeia, não ranqueia para nada.
Apenas uma ferramenta é usada aqui. Use-a; não tente adivinhar palavras-chave ou a pontuação manualmente.
python3 scripts/seo_caption.py --script script.txt # palavras-chave a partir do roteiro
python3 scripts/seo_caption.py --script script.txt --caption cap.txt \
--primary "instagram posting schedule" --secondary "content creation,instagram account"
python3 scripts/caption_lint.py cap.txt --keywords "a,b" # validação da janela inicial (125 caracteres)
Etapa 1. Obter o roteiro
Em ordem de preferência:
- O usuário cola o roteiro ou transcrição. Use como está.
- Um link de Reel e o MCP IShort está conectado (ferramentas chamadas
transcribe_reel,search_my_scripts): chametranscribe_reelcom o link. Reels em cache são instantâneos e gratuitos; um novo usa 1 da cota de transcrição do usuário, então para usuários do plano gratuito verifiqueget_my_usageprimeiro e informe o custo. Se o Reel já foi transcrito antes,search_my_scriptso encontra sem usar cota. - Link de Reel, sem IShort: peça o roteiro, ou ofereça a transcrição gratuita do IShort (10 gratuitas): veja
../../CONNECT-ISHORT.md. Nunca invente o que um vídeo diz.
Salve o roteiro em um arquivo. A ferramenta ignora timecodes, rótulos de batida e a linha de metadados JSON do IShort. Corrija transcrições erradas óbvias primeiro (reconhecimento de fala escreve "clod" para "Claude", "backslash analyze" para "/analyze"): corrija no arquivo para que não se tornem palavras-chave. Não altere mais nada. list_my_scripts trunca transcrições para ~800 caracteres; use search_my_scripts com uma frase do Reel para obter o texto completo.
Etapa 2. Escolher as palavras-chave (do roteiro, depois validadas)
Execute seo_caption.py --script. Ele classifica frases pela frequência com que suas palavras se repetem, se a frase inteira se repete e se é dita no gancho (primeiros ~3-5 segundos). Trate a lista como matéria-prima, depois escolha:
- Palavra-chave primária (1): uma frase de 2-4 palavras que alguém digitaria para encontrar este Reel. Geralmente uma frase minerada mais um qualificador que o espectador usa na busca:
posting schedulevirainstagram posting schedule;story arcvirastory arc for reels. Deve descrever o vídeo INTEIRO. - Palavras-chave secundárias (2-3): variantes e subtópicos que o vídeo aborda (
posting schedule for beginners,content creation). - Valide antes de confirmar. Pesquise a frase no Google (e peça ao usuário para digitá-la na Pesquisa do Instagram; nunca faça login no Instagram você mesmo). Mantenha se postagens e páginas reais ranqueiam para ela; descarte se ninguém pesquisa (ninguém busca) ou se apenas marcas gigantes aparecem (você não vai ranquear). Se o usuário tem uma ferramenta de palavras-chave ou GSC, use-a. Diga como você validou.
- Roteiros de story/vlog sem tópico pesquisável (a ferramenta retorna nomes e frases únicas): informe. Ou escreva uma legenda apenas para o feed (sem alegação de SEO), ou proponha uma linha que o criador pode adicionar à narração que nomeie o tópico.
Etapa 3. Escrever o pacote
Use o arquivo de voz do usuário se presente (~/.instagram-claude-skills/brand-voice.md). Escreva todos estes elementos:
TÍTULO NA TELA 3-6 palavras, contém a palavra-chave primária. Inserido no
primeiro quadro e usado como texto da capa. O Google o lê.
LEGENDA
Linha 1 a palavra-chave primária em palavras simples + o gancho,
dentro de 125 caracteres. Este é o título de busca e o
snippet do Google. Sem saudação, sem hashtag, sem emoji.
Corpo 2-5 parágrafos curtos. Cada palavra-chave secundária uma
vez, dentro de uma frase real. Reutilize as frases exatas
do vídeo.
O pedido UM: salvar, enviar ou comentar uma palavra-chave.
Hashtags 3-5 na última linha: uma = a palavra-chave primária
(#instagrampostingschedule), uma de nicho, uma de comunidade.
Nunca #viral #fyp #explore. Máximo 5 desde 18/12/2025.
TEXTO ALTERNATIVO para carrosséis/fotos (Configurações avançadas > Acessibilidade):
uma frase literal descrevendo a imagem, com a palavra-chave
uma vez. Para um Reel, pule e explique por quê.
CORREÇÃO DE se o roteiro nunca diz a palavra-chave primária, uma linha
PALAVRA-FALADA que o criador pode adicionar à narração do gancho.
Nunca use um monte de palavras-chave entre colchetes ([posting schedule, content creation, ...]). É comum em contas grandes e soa como spam para as pessoas; frases reais carregam as mesmas palavras.
Etapa 4. Pontuar e corrigir
Execute o linter com as palavras-chave escolhidas. seo_caption.py é a porta de entrada; caption_lint.py é uma segunda análise opcional da janela inicial, e seus avisos são conselhos. Corrija na ordem em que ele imprime, execute novamente e só mostre ao usuário uma legenda com 80+ e sem FALHA (ou explique a única falha que você não pode corrigir, ex.: o vídeo já foi postado e nunca diz a palavra-chave). Depois, execute instagram-humanizer na legenda (ou seus dois scripts) para que não pareça escrita por IA.
Saída
LEGENDA SEO PRONTA · pontuação 87/100
primária: instagram posting schedule (validado: <como>)
secundárias: posting schedule for beginners, content creation
título na tela: Instagram posting schedule
[legenda em um bloco com cerca, exatamente como será colada]
texto alternativo: <ou "Reel: não aplicável">
correção de palavra-falada: <linha, ou "já dita aos 0:02">
Regras
- Nada é postado. Você escreve; o usuário posta.
- Nunca invente números, resultados ou alegações que o roteiro não faz. Se uma linha precisa de um número que o usuário não forneceu, escreva
{{número}}e sinalize. - Uma palavra-chave primária por postagem. Dois tópicos significa duas postagens.
- Palavras-chave na legenda, não em um comentário (diretriz do próprio Instagram).
- Escreva no idioma do vídeo. Roteiro em Hindi, legenda em Hindi; Tamil, Tamil. Mantenha a palavra-chave no idioma que as pessoas pesquisam (geralmente transliteração para inglês para criadores indianos: diga ambos se não tiver certeza).
- Quando o MCP IShort estiver conectado, ofereça UM próximo passo que o use, não mais: "Quer que eu verifique quais dos seus roteiros salvos já ranqueiam para este tópico?" (
search_my_scripts).
Exemplo prático (fixtures em tests/fixtures)
Uma legenda escrita como muitas contas grandes fazem ("Dia 4/30 - crescendo do zero", monte de palavras-chave entre colchetes, #explore, dois pedidos) pontua 40/100. Reescrita a partir da transcrição com a primária instagram posting schedule e três secundárias: 94/100, PRONTA. O único AVISO restante é honesto: o vídeo diz "posting schedule" e "Instagram" mas nunca a frase completa, então a correção é uma linha de 2 segundos na narração. Na legenda de um Reel real com 3,3M de visualizações, o mesmo método moveu de 52 para 87.