How dradebo/openshorts works
OpenShorts is an AI video platform with a dashboard and API-backed processing runtime. The main creator workflow submits long-form media, detects and reframes candidate moments, adds captions and effects, then returns clips for editing or publishing. Separate product branches generate UGC shorts and provide YouTube Studio tools; hosted mode adds accounts, billing, metering, and durable storage. README documents several capabilities whose implementation was not sampled, so those links are documented rather than inferred from module names.
Main entry points: app.py API routes · App.jsx Web app · yt_clients.py Social publishing · AuthContext.jsx Auth session
Components 21
Creator dashboard
- Web app
dashboard/src/App.jsx - Auth session
dashboard/src/contexts/AuthContext.jsx
Clip generation
- API routes
app.py - Moment analysis
gemini_worker.py - Clip selection
clip_selection.py - Smart reframing
reframe_v2.py - Subtitles and dubbing
subtitles.py - Media processing
ffmpeg_utils.py
UGC and studio
- AI Shorts
saasshorts.py - YouTube Studio
thumbnail.py - Social publishing
yt_clients.py
Hosted services
- Cloud authentication
cloud/auth.py - Usage metering
cloud/metering.py - Account database
cloud/database.py - Video library
cloud/storage.py
Video rendering
- Render service
render-service/src/server.ts - Render worker
render-service/src/render-worker.ts - Video compositions
remotion/src/compositions/ShortVideo.tsx
Other components
- Creator
- Source media
- Social platforms
Connections 22
- Creator → Web app: submits media
- Web app → API routes: requests processing
- API routes → Moment analysis: scores moments
- Moment analysis → Clip selection: selects moments
gemini_worker.py - API routes → Smart reframing: reframes clips
- API routes → Subtitles and dubbing: adds subtitles
app.py - API routes → Media processing: processes media
app.py - Source media → API routes: provides input
- Web app → AI Shorts: starts generation
- Web app → YouTube Studio: opens studio
- AI Shorts → Social publishing: publishes videos
- YouTube Studio → Social publishing: publishes videos
- Social publishing → Social platforms: uploads videos
- API routes → Render service: requests rendering
- Render service → Render worker: dispatches job
render-service/src/server.ts - Render worker → Video compositions: renders composition
- Web app → Auth session: reads session
dashboard/src/main.jsx - Auth session → Cloud authentication: authenticates
dashboard/src/contexts/AuthContext.jsx - Cloud authentication → Account database: loads accounts
cloud/auth.py - API routes → Usage metering: accounts usage
app.py - Usage metering → Account database: records usage
cloud/metering.py - API routes → Video library: stores videos
app.py