1.8 KiB
1.8 KiB
Shorts Autopilot
WebUI that finds trending YouTube videos, writes original 60 second scripts with a local Ollama model, generates clips with Google Veo, stitches them with ffmpeg, and uploads them to YouTube as Shorts with generated tags.
Requirements
- Python 3.10+
- ffmpeg on PATH
- Ollama with a text model and a vision model:
ollama pull llama3.1:8bollama pull llama3.2-vision
- Gemini API key with billing enabled (Veo)
- Google Cloud project with YouTube Data API v3 enabled
Google OAuth setup
- Google Cloud Console: enable YouTube Data API v3.
- Create an OAuth client of type Web application.
- Add redirect URI
http://localhost:8000/auth/callback. - Download it as
client_secret.jsonnext toapp.py. - Add your Google account as a test user on the OAuth consent screen.
Run
pip install -r requirements.txt
python app.py
- Settings: set the storage folder, Gemini key, and profile options, then Save.
- Dashboard: Link YouTube channel to this profile.
- Click GO.
Storage layout
<storage folder>\
output\<profile>\<job>\ in progress or failed jobs
published\<profile>\<job>\ uploaded to YouTube
App settings, profiles, OAuth tokens, and logs live in data\. The log file is data\logs\app.log.
Made for kids
When enabled on a profile, uploads are flagged as made for kids and scripts go through word filters, an LLM compliance review, and per-clip vision checks. By default kids uploads are held as private for manual review. Also set your channel audience to made for kids in YouTube Studio.
Notes
- Uploads cost about 1,600 of the default 10,000 daily API quota units.
- Uploads from unverified Google API projects are locked to private until the project passes Google's audit.