Commit Graph

9 Commits

Author SHA1 Message Date
Jeff Emmett 1bac0b90a6 debug: improve AI analysis JSON parsing error logging
Show more context in error messages to diagnose parse failures.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 01:13:00 +00:00
Jeff Emmett 72efed481f perf: limit YouTube downloads to 720p max
4K downloads are 229MB+ and too slow through the WG tunnel.
720p is sufficient quality for clip analysis and extraction.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 01:08:52 +00:00
Jeff Emmett 6c40f713a4 fix: strip markdown code fences from LLM JSON response
Gemini wraps JSON output in ```json fences which broke the parser.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 00:50:10 +00:00
Jeff Emmett 362fe1e860 feat: add cloud AI inference support (Gemini/OpenAI-compatible)
CPU-based Ollama inference on Netcup is too slow due to server memory
pressure. Add OpenAI-compatible API support so we can use Gemini Flash
or other cloud APIs for clip analysis. Also increase transcript sample
size to 20K chars since cloud APIs handle it easily.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 00:44:13 +00:00
Jeff Emmett d480c635ff Increase Ollama timeout to 1800s for long video transcripts
47-minute videos produce ~48K chars of transcript which takes
>10 minutes for llama3.1:8b on CPU to process.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 21:27:36 +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 be3b1ca706 fix: copy cookies to temp file so yt-dlp doesn't overwrite originals
yt-dlp saves rotated cookies back on exit, destroying fresh exports.

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