How dark2c/viral-faceless-shorts-generator works
Viral Faceless Shorts Generator is a web app for creating faceless YouTube Shorts from trending or custom topics. Users choose a topic or prompt, review and approve the generated script, then render a video with synthesized speech, aligned subtitles, and a background clip. Its runtime also supports settings, video management, and YouTube imports. The README documents the end-to-end media pipeline; source excerpts show API wiring and several route-to-service calls, but not the frontend or all service internals.
Main entry points: index.js Express API · video_render_module.js Video composition · youtube_import_module.js YouTube importer · html Shorts interface
Components 28
Web interface
- Shorts interface
nginx/html
API and orchestration
- Express API
trendscraper/src/index.js - Script routes
trendscraper/src/modules/generate_routes_module.js - Trends routes
trendscraper/src/modules/google_trends_routes_module.js - Render routes
trendscraper/src/modules/render_routes_module.js - Speech routes
trendscraper/src/modules/tts_routes_module.js - Settings routes
trendscraper/src/modules/settings_routes_module.js - Video routes
trendscraper/src/modules/video_routes_module.js - Job routes
trendscraper/src/modules/jobs_routes_module.js - YouTube routes
trendscraper/src/modules/youtube_routes_module.js
Content generation
- Script generation
trendscraper/src/modules/LLM_module.js - Trend detection
trendscraper/src/modules/google_trends_scraper_module.js
Media production
- Speech synthesis client
trendscraper/src/modules/TTS_module.js - Video composition
trendscraper/src/modules/video_render_module.js - Process utilities
trendscraper/src/modules/process_utils_module.js
Media and settings management
- Settings persistence
trendscraper/src/modules/settings_module.js - Video file service
trendscraper/src/modules/video_files_module.js - YouTube importer
trendscraper/src/modules/youtube_import_module.js
Other components
- Creator
- Gemini model
- OpenRouter model
- Piper TTS
piper/app.py - Subtitle alignment
speechalign/app.py - FFmpeg
- Google Trends
- YouTube
- Background clips
videos - Generated videos
videos
Connections 32
- Creator → Shorts interface: chooses topic
README.MD - Shorts interface → Express API: requests API
- Express API → Script routes: registers routes
trendscraper/src/index.js - Express API → Trends routes: registers routes
trendscraper/src/index.js - Express API → Render routes: registers routes
trendscraper/src/index.js - Express API → Speech routes: registers routes
trendscraper/src/index.js - Express API → Settings routes: registers routes
trendscraper/src/index.js - Express API → Video routes: registers routes
trendscraper/src/index.js - Express API → Job routes: registers routes
trendscraper/src/index.js - Express API → YouTube routes: registers routes
trendscraper/src/index.js - Script routes → Script generation: generates script
trendscraper/src/index.js - Script generation → Gemini model: requests generation
trendscraper/src/modules/LLM_module.js - Script generation → OpenRouter model: fallback generation
trendscraper/src/modules/LLM_module.js - Trends routes → Trend detection: scrapes trends
trendscraper/src/index.js - Trend detection → Google Trends: fetches trends
README.MD - Creator → Shorts interface: approves script
README.MD - Creator → Shorts interface: starts rendering
README.MD - Render routes → Video composition: renders request
trendscraper/src/index.js - Video composition → Piper TTS: requests speech
README.MD - Video composition → Subtitle alignment: aligns subtitles
README.MD - Video composition → FFmpeg: composes video
README.MD - Video composition → Background clips: reads clip
README.MD - Video composition → Generated videos: writes result
README.MD - Speech routes → Speech synthesis client: delegates speech
trendscraper/src/modules/tts_routes_module.js - Speech synthesis client → Piper TTS: proxies requests
README.MD - Settings routes → Settings persistence: saves settings
trendscraper/src/modules/settings_routes_module.js - Video routes → Video file service: resolves file paths
trendscraper/src/modules/video_routes_module.js - YouTube routes → YouTube importer: starts import
trendscraper/src/modules/youtube_routes_module.js - YouTube importer → YouTube: downloads source
trendscraper/src/modules/youtube_import_module.js - YouTube importer → Background clips: saves clips
trendscraper/src/modules/youtube_import_module.js - YouTube importer → Process utilities: uses cleanup
trendscraper/src/modules/youtube_import_module.js - Video composition → Process utilities: uses process helpers
trendscraper/src/index.js