Commit Graph

3 Commits

Author SHA1 Message Date
Jeff Emmett e1d9085396 feat: inline video previews and caption rendering with style options
- Replace download links with inline <video> players for clip preview
- Add clip download endpoint separate from inline preview
- Add caption style options: TikTok, Hormozi, Karaoke, Minimal, None
- Implement ASS subtitle generation from word-level Whisper timestamps
- Render pipeline: aspect ratio conversion + burned-in captions via FFmpeg
- Add render preview endpoint for inline playback of rendered clips
- Add fonts to Docker image for subtitle rendering

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 02:11:20 +00:00
Jeff Emmett 0e4eec4f12 fix: add web_creator client fallback, friendlier YouTube bot error
- Try multiple YouTube player clients for better compatibility
- Show user-friendly error suggesting upload when YouTube blocks download

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 18:41:19 +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