O AI-Video-Scrapper é uma ferramenta de automação focada em coletar e processar vídeos (inicialmente voltado ao YouTube) utilizando Inteligência Artificial em seu pipeline. Ele possui uma interface de linha de comando (CLI) interativa, colorida e muito intuitiva para ingestão de links.
- Interface CLI Moderna: Construída utilizando
richequestionary. - Entrada Flexível de Links:
- Link Único: Insira o link de apenas um vídeo ou playlist.
- Múltiplos Links Manuais: Insira quantos links quiser colando-os sequencialmente pelo prompt interativo.
- Via Arquivo: Importe lotes de links através de arquivos
.txt,.csvou.json.
- Python 3.9+ (recomendado)
Para instalar as bibliotecas mantendo o seu sistema organizado, encorajamos que seja feito dentro de um ambiente virtual (venv):
-
Crie um ambiente virtual
python3 -m venv venv
-
Ative o ambiente virtual
- Linux/macOS:
source venv/bin/activate - Windows:
venv\Scripts\activate
- Linux/macOS:
-
Instale as dependências
pip install -r src/requirements.txt
-
Configuração opcional do runtime (
config.json)- Na primeira execução,
config.jsoné criado automaticamente a partir deconfig.example.json(se ainda não existir). - Você pode ajustar:
gemini_modeltemperaturemax_retries_429retry_base_secondsbilingual_mode
- Esse arquivo controla tanto a geração dos resumos por vídeo quanto o resumo global (summary-of-summaries).
- Na primeira execução,
Com o ambiente ativado e as dependências instaladas, basta executar o script principal:
python src/main.pyVocê será guiado pelo menu interativo da nossa CLI para selecionar qual o formato de entrada deseja usar.
- A inicialização valida
GEMINI_API_KEY; se o.envestiver inválido/ausente mas o processo já tiver uma chave válida exportada, ela é reaproveitada automaticamente sem prompt. YOUTUBE_API_KEYausente também é solicitada de forma interativa.- Chamadas Gemini com erro 429 (rate limit) usam retry exponencial configurável por
max_retries_429eretry_base_secondsnoconfig.json.
No menu principal, além da ingestão de links, existem duas opções de consolidação:
- Current run: agrega os
.mddeabstractsda sessão atual e gera umglobal-summary*.mdna pasta da sessão. - Selected folder/session: solicita um caminho de pasta via CLI, agrega os
.mdencontrados recursivamente naquele escopo e salva oglobal-summary*.mdnesse diretório.
Em desenvolvimento ativo.