O primeiro dataset aberto de anúncios UGC em português (pt-BR) — focado em ganchos (hooks), CTAs e estrutura narrativa.
Não havia um dataset simples e público em pt-BR. Ajuda creators, growth e devs a estudar padrões que funcionam em vídeo curto.
- Instale as dependências:
pip install -r requirements.txtO script usa yt-dlp para baixar vídeos e openai-whisper para transcrição. ffmpeg deve estar instalado no sistema.
python3 scripts/analyze_hooks.py- Configure a variável de ambiente com sua chave (use
.env):
cp env.example .env
# edite .env e coloque sua chave
source .env- Instale dependências Node (uma vez):
npm install- Rode a análise por
iddodata/ads.jsonl:
npm run analyze -- --id br_001Ou filtre pelo link do vídeo:
npm run analyze -- --url-contains instagram.com/reel/DNnnsPVu8rvParâmetros úteis:
--model: modelo OpenAI (padrão:gpt-4o-miniouOPENAI_MODEL)--temperature: temperatura (padrão:0.2)--file: caminho customizado paraads.jsonl
O resultado é impresso como JSON no terminal. No modo streaming, o JSON aparece token a token.
python3 ingest/ingest_url.py --url "https://instagram.com/reel/VIDEO_ID/" --ugc-type review --brand "NomeMarca" --category "beleza" --terms-ok trueParâmetros:
--url: URL do vídeo (Instagram, YouTube, etc.)--ugc-type: Tipo do conteúdo (testimonial, unboxing, review, etc.)--brand: Nome da marca--category: Categoria do produto--terms-ok: Aceitou os termos (true/false)
O script usa ffmpeg diretamente agora. Se ainda der erro, instale ffmpeg:
# macOS com Homebrew
brew install ffmpeg
# Ubuntu/Debian
sudo apt install ffmpeg
# Outros sistemas, veja documentação do ffmpegTrocamos para openai-whisper porque faster-whisper tinha problemas de compilação. Se der erro de import:
pip uninstall faster-whisper
pip install openai-whisperSe der erro de compilação relacionado a av ou ctypes, o problema é provavelmente com faster-whisper. Use openai-whisper:
pip uninstall faster-whisper av
pip install openai-whisperVerifique se a URL está correta e se yt-dlp consegue acessar. Alguns sites bloqueiam downloads automatizados.
Whisper precisa de GPU para ser rápido. Em CPU pode ser lento. Use um modelo menor se precisar:
python3 ingest/ingest_url.py --model tiny --url "..."Modelos disponíveis: tiny, base, small, medium, large
data/
ads.jsonl # Dataset principal
taxonomy.md # Categorias e tipos
ingest/
ingest_url.py # Script de ingestão
scripts/
analyze_hooks.py # Análise básica
validate.py # Validação do dataset