Transforme vídeos longos em cortes verticais prontos para as redes com poucos cliques. O ClipGenius combina download resiliente, análise multimodal e geração automática de pacotes promocionais em uma arquitetura limpa e extensível.
- Fontes variadas: YouTube (incluindo Shorts), Reels públicos e qualquer link compatível com
yt-dlp. - Pipeline completo: download, análise visual + áudio, transcrição Whisper, ranqueamento inteligente e renderização em lote com ffmpeg.
- Nomes amigáveis: arquivos saem com prefixo gerado a partir do título do vídeo (ex.:
hack_growth_clip_01.mp4). - Interface Streamlit: painel "ClipGenius Studio" com presets, progresso em tempo real, feedback colaborativo e exportação rápida.
- Analytics e promoção: histórico de execuções, registro de feedback, coleta de metadados e export de pacotes
.zipcom CTA e thumbnails.
- Orquestração modular (
clipgenius/pipeline.py): rastreia título do vídeo, métricas de estágio, sugestões visuais e histórico de execuções. - Casos de uso desacoplados (
clipgenius/application/): download, análise visual, transcrição, scoring, render e exportação de pacotes. - Infraestrutura plugável (
clipgenius/infrastructure/): Whisper, OpenCV, ffmpeg, sentence-transformers, dataclasses de analytics e repositórios de promoção. - Studio Streamlit (
streamlit_app.py): presets de análise visual, sliders avançados, progresso com barra animada, downloads diretos dos clipes e exportador de pacote promocional. - Motor de analytics (
analytics/): tracking de eventos, feedback, ajustes de pesos automáticos e histórico de runs com filtros. - Testes abrangentes (
tests/): 48 testes cobrindo pipeline, promoção, scoring, scripts e subtítulos.
- Python 3.10+
- FFmpeg disponível no
PATH - (Opcional) GPU para acelerar Whisper
python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install --upgrade pip
pip install -r requirements.txt
python -m nltk.downloader punkt # necessário para tokenização opcional
# Extras:
# pip install sentence-transformers # embeddings semânticos
# python -m scripts.prewarm --youtube-url https://youtu.be/<ID> --model-size smallpython -m clipgenius "https://www.youtube.com/watch?v=<ID>" --work-dir . --verbose--video-format best→ força formato progressivo.--no-transcription→ usa apenas métricas de áudio (sem legendas).--preserve-aspect→ mantém o aspect ratio original.--semantic-embeddings(--embedding-model <modelo>) → reforça ranqueamento com embeddings.--instructions caminho.txt→ injeta palavras-chave/intervalos fixos.
streamlit run streamlit_app.pyRecursos do painel:
- Presets de análise visual, configuração de resolução e workers.
- Barra de progresso em tempo real (download → render).
- Feedback colaborativo por clipe + histórico de runs com filtros.
- Download direto dos clipes renderizados.
- Exportador de pacote promocional (CTA, plataformas, ZIP opcional) e resumo JSON.
collect_promotion_metadatagera payloads estruturados.export_promotion_packagemonta pastas por plataforma, duplica mídias, adiciona CTA e pode compactar tudo em.zip.- Logs e feedback alimentam recomendações futuras via
analytics/.
clipgenius/
application/ # casos de uso (pipeline, promoção, scripts, etc.)
domain/ # entidades e contratos
infrastructure/ # integrações concretas (ffmpeg, Whisper, OpenCV...)
pipeline.py # fachada orquestradora com histórico e sugestões
promotion.py # coleta e exportação de pacotes
...
streamlit_app.py # ClipGenius Studio
analytics/ # eventos, feedback e relatórios
scripts/ # utilidades (pré-aquecimento, diagnósticos)
outputs/ # clipes, legendas e pacotes gerados
cache/ # downloads e artefatos reutilizados
- Presets por canal/projeto com compartilhamento.
- Integrações de upload (Drive/S3) e notificações (Discord/Slack).
- Sentiment/tópicos na transcrição para insights extras.
- API ou webhooks para integrações no-code (Zapier/Make).
Projeto educativo. Consulte as políticas das plataformas sobre download e reutilização de conteúdo antes de publicar.