🔬 Os dois poderes da ads-skill
A ads-skill é um caso raro de skill com dois poderes complementares: análise e geração. Eles são inseparáveis no workflow — a análise alimenta a geração.
🔬 Poder 1: Análise
- →Recebe URL ou arquivo de vídeo UGC
- →Extrai frames a 2fps via ffmpeg
- →Transcreve áudio com Whisper
- →Identifica segmentos HOOK/SHOW/PROOF/CTA
- →Gera relatório de análise viral
🎬 Poder 2: Geração
- →Recebe 4 inputs: imagem/áudio/vídeo/ator
- →Roteia para o modelo ideal (4 opções)
- →Executa dialogue gate (confirma custo)
- →Chama API Arcads e faz polling de status
- →Retorna URL do vídeo gerado
🤖 Roteamento inteligente entre 4 modelos
Em vez de o usuário precisar escolher o modelo, a skill abstrai essa decisão com lógica de roteamento clara. A tabela de decisão fica em prompting/model-routing.md.
Tabela de roteamento
| Modelo | Quando usar | Característica |
|---|---|---|
| Seedance 2.0 (padrão) | UGC com fala, lip sync necessário | Melhor sincronização labial |
| Veo 3.1 | Frame inicial específico, consistência visual | Frame de referência travado |
| Sora 2 | Vídeos >30s ou estilo cinematográfico | Longo / cinematográfico |
| Kling 3.0 | Conteúdo visual sem fala | Silencioso / estético |
# Model Routing — ads-skill
## Árvore de decisão
if has_speech AND needs_lip_sync:
→ Seedance 2.0 # padrão para UGC com ator
elif has_reference_frame AND visual_consistency_critical:
→ Veo 3.1 # frame inicial travado
elif duration_seconds > 30 OR cinematic_style:
→ Sora 2 # longo / cinematográfico
elif silent AND visual_only:
→ Kling 3.0 # silencioso / estético
else:
→ Seedance 2.0 # fallback padrão
## Rationale
Seedance: único com lip sync confiável para português
Veo: quando frame 0 é crítico (ex.: unboxing específico)
Sora: quando a narrativa precisa de mais de 30 segundos
Kling: produto sem locutor (ex.: product shots, natureza)
💡 Abstração = poder para o usuário
O usuário não precisa saber que existem 4 modelos. Ele descreve o que quer ("preciso de um UGC com o ator João falando sobre o produto") e a skill escolhe o modelo correto. Isso é o valor real de uma skill bem projetada: complexidade escondida, poder acessível.
📁 Estrutura completa da ads-skill
A ads-skill tem 12 arquivos distribuídos em 4 camadas. Cada arquivo tem responsabilidade única e bem definida.
ads-skill/
├── SKILL.md # frontmatter + fluxo + hard rules
├── .env.example # ARCADS_API_KEY, ARCADS_BASE_URL
├── reference.md # docs API Arcads, endpoints, parâmetros
│
├── scripts/
│ ├── arcads_check.sh # verifica ffmpeg + .env + deps
│ ├── arcads_analyze.sh # extrai frames+áudio, gera relatório UGC
│ ├── arcads_actors.sh # lista atores disponíveis na conta
│ ├── arcads_upload.sh # faz upload de mídia para Arcads storage
│ ├── arcads_generate.sh # cria job de geração (retorna job_id)
│ ├── arcads_talking.sh # variante: talking head com script
│ └── arcads_status.sh # polling de status até concluir
│
└── prompting/
├── viral-analysis.md # fórmulas para análise UGC viral
├── ugc-formulas.md # templates HOOK/SHOW/PROOF/CTA
└── model-routing.md # árvore de decisão de modelo
O ciclo de vida de uma geração
arcads_check.sh: verifica ffmpeg, .env, conectividade APIarcads_analyze.sh: extrai estrutura do UGC de referênciaarcads_actors.sh: lista atores disponíveis, usuário escolhejob_id)arcads_status.sh: polling até completed⚠️ Hard rules da ads-skill
Três hard rules protegem as três coisas mais importantes: integridade do conteúdo, orçamento e segurança de credenciais.
NUNCA parafrasear o transcript — verbatim apenas
O transcript do vídeo UGC é extraído palavra por palavra. A skill não pode reescrever, resumir ou "melhorar" o texto.
Anúncios UGC virais têm timing específico: pausa no segundo 1.3s, inflexão no 2.7s. Uma paráfrase muda a duração das palavras e quebra a sincronia com o frame. O que funciona em 2 segundos pode virar 3.2s e perder o espectador.
SEMPRE rodar o dialogue gate antes de gerar
Antes de qualquer chamada à API Arcads, apresentar resumo completo: ator escolhido, modelo, custo estimado em créditos, duração estimada.
Uma geração de 15s no Seedance custa ~8 créditos Arcads. Um loop acidental ou um input errado pode consumir 100 créditos ($50-200) em segundos. O gate é o único freio antes do gasto real.
NUNCA logar a API key em nenhum output
Os scripts leem $ARCADS_API_KEY do ambiente. A chave nunca aparece em logs, output de terminal, arquivos de debug ou qualquer saída.
API keys expostas em logs são encontradas por scrapers em minutos. Uma chave Arcads comprometida permite que terceiros gerem vídeos na sua conta — cobrança ilimitada até você perceber.
⏱️ O framework UGC de 15 segundos
Todo anúncio UGC viral de 15 segundos segue a mesma estrutura de 5 segmentos. A ads-skill identifica e extrai automaticamente cada um.
✓ Cada segmento na prática
- HOOK (0-2s): surpresa, pergunta provocativa, contradição, something weird happening
- SHOW (2-6s): demonstração real do produto, benefício visível em ação
- PROOF (6-11s): número específico ("3kg em 7 dias"), testemunho, before/after
- CTA (11-14s): uma única ação — "clique no link na bio", "compre agora"
✗ Erros fatais por segmento
- HOOK fraco: logo do produto nos primeiros 2s (scroll imediato)
- SHOW errado: imagem de stock, não demonstração real
- PROOF vago: "funciona muito bem" sem número
- CTA múltiplo: dois verbos de ação ("clique E compartilhe")
🔗 A ads-skill como espelho dos módulos 3.1–3.3
Cada decisão de design da ads-skill foi tomada pelos mesmos princípios que você aprendeu nos três módulos anteriores. Aqui a teoria vira código.
Mapeamento teoria → implementação
SKILL.md na raiz com frontmatter YAMLscripts/ + prompting/ads-skill, name: ads-skillarcads_*.sh💡 Sua próxima skill: copiar a estrutura, adaptar o domínio
A ads-skill é um template de referência para qualquer skill que integra API externa com múltiplos modelos. A estrutura check → analyze → gate → upload → generate → status funciona para:
- • Geração de imagens (DALL-E, Midjourney, Stable Diffusion)
- • Síntese de áudio (ElevenLabs, Murf, Play.ht)
- • Processamento de documentos (análise de contratos, extração de dados)
- • Qualquer API com polling assíncrono
Baixe a skill ads-skill completa · ~26 KB
Todo o código deste estudo de caso: SKILL.md, os scripts arcads_*.sh, os arquivos de prompting/ e o reference.md. Estude e adapte para a sua própria skill.
🎬 Resumo do Módulo — e da Trilha Skills
🔁 Próxima Trilha:
Trilha 4 — Automação: agora que você sabe criar skills, aprenda a encadeá-las em workflows automáticos, hooks e rotinas programadas que rodam sem intervenção manual.