Jeff Emmett
c5505417a5
feat: add deno runtime for yt-dlp YouTube JS extraction
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 18:35:11 +00:00
Jeff Emmett
5c9b7c74e0
fix: use raw string for HTML template to preserve JS backslashes
...
Python was interpreting \' as ' in the onclick handlers, breaking JS.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 11:36:48 +00:00
Jeff Emmett
128aad405c
feat: add user-friendly frontend with upload, progress, and clip gallery
...
Replaces API endpoint listing with a proper UI:
- YouTube URL input or drag-and-drop video upload
- Real-time SSE progress bar with stage messages
- Clip results gallery with virality scores, categories, transcripts
- Preview/download links for extracted clips
- Recent jobs history with click-to-view
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 11:27:29 +00:00
Jeff Emmett
53c1ed5c4c
feat: add landing page with API docs at root URL
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 13:14:13 +00:00
Jeff Emmett
1784bb35ff
fix: increase Ollama timeout to 600s for CPU inference
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 13:05:29 +00:00
Jeff Emmett
4619b53b5e
fix: update yt-dlp to latest for YouTube bot detection bypass
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 12:40:59 +00:00
Jeff Emmett
fb5d189334
fix: make cookies file writable for yt-dlp cookie saving
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 12:39:50 +00:00
Jeff Emmett
7e121334ba
fix: simplify cookies mount path
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 12:38:46 +00:00
Jeff Emmett
5018915b10
fix: mount YouTube cookies file for yt-dlp authentication
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 12:35:49 +00:00
Jeff Emmett
6ab5f805a4
fix: use arq CLI to start worker instead of python -m
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 12:33:02 +00:00
Jeff Emmett
6aa8a676ec
feat: ClipForge Phase 1 - core pipeline MVP
...
Self-hosted AI video clipper (Opus Clip alternative).
Pipeline: YouTube URL -> yt-dlp download -> Whisper transcription ->
Ollama AI clip selection -> FFmpeg extraction.
- FastAPI backend with PostgreSQL + Redis + ARQ worker
- 7-stage processing pipeline with SSE progress tracking
- Services: download (yt-dlp), transcription (whisper.jeffemmett.com),
AI analysis (Ollama), clip extraction (FFmpeg stream copy)
- API: create jobs, track progress, list clips, render, download
- Docker Compose with Traefik labels for clip.jeffemmett.com
Cost: $0/video using existing infrastructure.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 12:27:43 +00:00