Fully automated pipeline that turns a script into a ready-to-upload video.
script.txt → [Claude: parse + mood] → [Pexels/Freesound/Pixabay: assets] → [Remotion: render] → video.mp4
- Script Parser — Claude splits your script into timed scenes with visual descriptions
- Mood Analyzer — Claude extracts mood, energy, and search keywords per scene
- Asset Sourcer — Downloads b-roll (Pexels), SFX (Freesound), BGM (Pixabay Music)
- Remotion Composer — Assembles scenes with Ken Burns zoom, crossfades, text overlays, and layered audio
- Renderer — Exports 1920×1080 H.264 MP4
npm install| Service | Purpose | Link |
|---|---|---|
| Anthropic | Script parsing & mood analysis | https://console.anthropic.com |
| Pexels | B-roll video & images | https://www.pexels.com/api |
| Freesound | Sound effects | https://freesound.org/apiv2 |
| Pixabay | Background music | https://pixabay.com/api/docs |
cp .env.example .env
# Fill in your API keysnpm start scripts/example-script.txtOutput lands in output/<video-title>.mp4.
Open Remotion Studio to preview compositions:
npm run studiosrc/
index.ts # CLI entry point
types/index.ts # Shared types
script/parser.ts # Claude: script → scenes
mood/analyzer.ts # Claude: scenes → mood + keywords
assets/
pexels.ts # Pexels video/image search
freesound.ts # Freesound SFX search
pixabay.ts # Pixabay BGM search
downloader.ts # File downloader with caching
pipeline/orchestrator.ts # Asset sourcing coordinator
remotion/
Root.tsx # Remotion composition root
render.ts # Bundler + renderer
compositions/
MainVideo.tsx # Top-level composition
Scene.tsx # Per-scene component (video/image + text + SFX)
- Node.js 18+
- Chrome/Chromium (used by Remotion for rendering)