MÓDULO 3.4 — CASE STUDY

🎬 Case study: ads-skill (Arcads)

Dissecar uma skill real de produção: análise de UGC viral quadro a quadro + regeneração via API Arcads com roteamento inteligente entre Seedance 2.0, Veo 3.1, Sora 2 e Kling 3.0.

6
Tópicos
50
Minutos
Avançado
Nível
Case Real
Tipo
1

🔬 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.

Vídeo UGC input ffmpeg extract frames + áudio arcads_analyze.sh Análise UGC HOOK 0-2s SHOW 2-6s PROOF 6-11s 🔒 Dialogue Gate confirma inputs API Arcads gera vídeo Vídeo gerado ✅ PODER 1: ANÁLISE PODER 2: 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
Análise
ffmpeg + Whisper
Geração
API Arcads
Gate
custo antes de gerar
Polling
status até pronto
2

🤖 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
Lógica de roteamento em prompting/model-routing.md
# 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.

Seedance
lip sync → padrão
Veo
frame travado
Sora
>30s / cinematic
Kling
silencioso
3

📁 Estrutura completa da ads-skill

A ads-skill tem 12 arquivos distribuídos em 4 camadas. Cada arquivo tem responsabilidade única e bem definida.

Árvore de arquivos: ads-skill/
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

1
checkarcads_check.sh: verifica ffmpeg, .env, conectividade API
2
analyzearcads_analyze.sh: extrai estrutura do UGC de referência
3
actorsarcads_actors.sh: lista atores disponíveis, usuário escolhe
4
gate — diálogo de confirmação com custo estimado + resumo de inputs
5
upload+generate — sobe mídia, cria job (retorna job_id)
6
statusarcads_status.sh: polling até completed
12 arquivos
4 camadas
7 scripts
ciclo completo
3 prompts
análise + roteamento
1 reference
docs API Arcads
4

⚠️ 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.

1

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.

Por quê é inviolável:

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.

2

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.

Por quê é inviolável:

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.

3

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.

Por quê é inviolável:

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.

🎙️
Verbatim
protege o timing
🔒
Gate
protege o orçamento
🔑
API key
protege a conta
5

⏱️ 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.

HOOK 0-2s SHOW 2-6s PROOF 6-11s CTA 11-14s LOGO 14-15s pattern-interrupt para o scroll demo real não stock número concreto social proof 1 ação específica nada vago marca

✓ 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")
HOOK
0-2s
SHOW
2-6s
PROOF
6-11s
CTA
11-14s
LOGO
14-15s
6

🔗 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

Módulo 3.1 — Anatomia da skill
Conceito: pasta com SKILL.md obrigatório
ads-skill/: SKILL.md na raiz com frontmatter YAML
Conceito: subpastas opcionais
ads-skill/: scripts/ + prompting/
Conceito: corpo Markdown com fluxo
ads-skill/: seção "## Fluxo" com 6 passos numerados
Módulo 3.2 — Description e triggers
Conceito: description com TRIGGER e SKIP
ads-skill/: "TRIGGER: analisar UGC, ads viral, Arcads; SKIP: vídeos não-publicitários"
Conceito: nome em kebab-case
ads-skill/: pasta chamada ads-skill, name: ads-skill
Módulo 3.3 — Scripts e referências
Conceito: scripts atômicos com prefixo
ads-skill/: 7 scripts arcads_*.sh
Conceito: .env.example
ads-skill/: ARCADS_API_KEY, ARCADS_BASE_URL, ARCADS_DEFAULT_MODEL
Conceito: progressive disclosure
ads-skill/: SKILL.md curto + reference.md + prompting/
Conceito: hard rules + gate
ads-skill/: 3 regras + dialogue gate antes de gerar

💡 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
3.1 → ads-skill
pasta + SKILL.md
3.2 → ads-skill
trigger + skip
3.3 → ads-skill
scripts + refs + rules
Template
copiar e adaptar
🧩

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.

⬇ Baixar ads-skill.zip

🎬 Resumo do Módulo — e da Trilha Skills

2 poderes — análise (ffmpeg+Whisper) e geração (API Arcads) são complementares, não separáveis
4 modelos roteados — Seedance (padrão/lip sync), Veo (frame), Sora (longo), Kling (silencioso); usuário não escolhe
Estrutura de produção — 12 arquivos em 4 camadas; 7 scripts cobrindo ciclo check→generate→status
3 hard rules — verbatim (timing), gate (orçamento), sem log de key (segurança)
Framework UGC 15s — HOOK(0-2) SHOW(2-6) PROOF(6-11) CTA(11-14) LOGO(14-15); extração automática por segmento
Teoria → prática — ads-skill materializa TODOS os conceitos de 3.1-3.3; use como template de referência

🔁 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.