Project Overview
YouTube Shorts Automation is a local, open-source tool (AutoTube Shorts on GitHub) for running faceless YouTube Shorts channels without filming every day. From one web panel you add topics, generate scripts with Ollama (no paid LLM API required), produce realistic voiceovers with ElevenLabs, render vertical Shorts with MoviePy, edit SEO metadata, schedule publishes, and upload to multiple YouTube channels — each with its own Google account, queue, and optional voice override. Includes niche profiles (motivation, beauty, finance, tech, and more), AI weekly topic ideas, synthetic content transparency toggle, and EN/TR panel localization. Still a work in progress — clone it, add your keys, and run locally.
Key Features
- End-to-end pipeline: topic → LLM script → TTS → vertical render → schedule → YouTube upload
- Multi-channel management — separate OAuth, queues, and voices per Google account
- Local LLM via Ollama (e.g. deepseek-r1:8b) — no paid AI API fees for scripting
- ElevenLabs text-to-speech with per-niche and per-channel voice selection
- MoviePy + FFmpeg automated 9:16 Shorts rendering with background footage
- Web admin panel — bulk topics, produce, SEO edit, daily scheduling, upload & sync
- Niche profiles with tone rules, AI topic generation, and synthetic media disclosure toggle
- CLI orchestrator (run, schedule, upload, daemon) alongside the Flask dashboard
Technical Highlights
Python 3.10+ with Flask powers the local admin panel at port 5000. Ollama handles on-device script and topic generation; ElevenLabs API synthesizes voice with timestamp alignment for subtitles. MoviePy composes vertical Shorts from niche background clips (Pexels or local MP4s). YouTube Data API v3 with OAuth 2.0 manages multi-channel uploads, scheduling, and metadata sync. SQLite stores the job queue; niche voice and LLM rules live in JSON config — designed for self-hosted, zero-cloud-LLM-cost faceless channel workflows.
