Open-source AI video studio for building vertical reels, cinematic explainers, and social content with Remotion, React, Cursor agents, local SQLite, and provider-backed media libraries.
Zamili Studio is designed for developers who want a self-hosted creative tool: prompt a video idea, preview it live, render an MP4, and keep projects on your own machine.
- Landing page:
https://guidatetest.github.io/zamili-studio/ - Static Studio route:
https://guidatetest.github.io/zamili-studio/?app=studio - GitHub repo:
https://github.com/GuidateTest/zamili-studio - Local landing page:
http://localhost:3000/ - Local Studio app:
http://localhost:3000/studio
- Enterprise-style React landing page with Remotion-generated WebM motion assets
- AI reel generator with live Remotion preview
- Prompt-to-project workflow powered by Cursor SDK / Cursor Agent
- Local-first SQLite project database
- Render and download MP4 exports from the browser
- Media library connected to local manifests, Pexels, and ElevenLabs
- Brand assets and voiceover management pages
- Production-minded defaults: secrets ignored, generated media ignored, local data ignored
- Modern SaaS UI built with React, Vite, Framer Motion, and Remotion Player
The app includes:
- Dashboard with project/export/AI generation metrics
- Projects list with persisted local projects
- AI Reel Generator with timeline, preview, render, and download controls
- Media Library for stock/video/audio/animation assets
- Brand Assets for logos and product media
- Voiceovers for ElevenLabs master tracks and scene segments
- Exports page for completed render jobs
- Settings for API key and asset health checks
- React 19
- Vite 6
- Remotion 4
- Remotion Player
- Framer Motion
- SQLite via
better-sqlite3 - Cursor SDK / Cursor Agent bridge
- ElevenLabs voiceover and SFX integration
- Pexels stock video search
git clone https://github.com/GuidateTest/zamili-studio.git
cd zamili-studio
npm installCreate your local environment:
cp .env.example .envAdd only the keys you need:
ELEVENLABS_API_KEY=your_elevenlabs_api_key_here
PEXELS_API_KEY=your_pexels_api_key_here
CURSOR_API_KEY=your_cursor_api_key_here
CURSOR_AUTO_AGENT=trueRun the Studio:
npm run devOpen http://localhost:3000.
The landing page is served at /. The Studio app is served at /studio.
- Open AI Reel Generator.
- Enter a detailed video prompt.
- Click Generate with AI.
- Watch the live preview and timeline.
- Click Render MP4.
- Download from the editor or the Exports page.
The Studio stores projects locally in SQLite and render jobs under ignored local folders.
npm run dev # Start Zamili Studio UI
npm run build:studio # Build the Studio UI
npm run build:pages # Build for GitHub Pages
npm run dev:engine # Open Remotion Studio
npm run render:reel # Render AIProjectReel
npm run render:landing # Render landing WebM loops
npm run deploy:check # Render, lint, and build production outputs
npm run audio # Generate voiceover + SFX
npm run setup # Initialize local setup
npm run lint # ESLint + TypeScriptsrc/
landing/ Public landing page and Remotion WebM animations
engine/ Remotion compositions, player, render metadata
studio/ SaaS app UI, hooks, API client, design system
scenes/ Scene implementations
components/ Shared Remotion visual components
server/
routes.mjs Local Vite API routes
db.mjs SQLite data layer
assets.mjs Media/brand/voiceover asset indexer
render-jobs.mjs Render job runner and download API
scripts/
cursor-bridge.mjs Cursor inbox bridge
cursor-agent-run.mjs hidden Cursor SDK worker
public/
landing/ Tracked generated WebM loops for the landing page
logo.png
zamili-studios.png
The landing page is designed to communicate the platform at a professional, enterprise level: premium hero section, slick generated animation loops, developer CTAs, workflow explanation, stack proof, and deployment documentation.
See docs/LANDING_PAGE.md for:
- tools used
- generated animation assets
- deployment commands
- GitHub Pages setup
- local routes and public links
The local Vite server exposes:
GET /api/studio/healthGET /api/studio/projectsPOST /api/studio/projectsPATCH /api/studio/projects/:idGET /api/studio/assetsGET /api/studio/assets/brandGET /api/studio/assets/voiceoversPOST /api/studio/cursor-promptPOST /api/studio/rendersGET /api/studio/rendersGET /api/studio/renders/:idGET /api/studio/renders/:id/download
These routes are intended for local development/self-hosting. Add authentication before exposing them publicly.
This repo is configured to avoid publishing private data:
.envand local env files are ignored- SQLite databases under
data/are ignored - render outputs under
out/are ignored - Cursor inbox runtime prompts are ignored
- generated audio/video assets are ignored
- only generic landing loops under
public/landing/*.webmare tracked - private Zamili media under
public/zamili/is ignored - large local ChatGPT image drops are ignored
Before publishing, run:
git status --short
git diff --cached --name-onlyNever commit API keys, customer data, private media, local databases, rendered MP4s, or personal images.
Zamili Studio can send prompts to Cursor:
- inbox mode writes prompts into
.cursor/studio-inbox/ - SDK mode runs a hidden worker with
CURSOR_AUTO_AGENT=true - progress is stored in ignored local run files
If you see SDK instability on Windows, set:
CURSOR_AUTO_AGENT=falseThe app will still queue prompts for Cursor.
Supported:
- Pexels: stock video search
- ElevenLabs: voiceover and voice previews
- local manifests: videos, SFX, Lottie, brand assets
- optional placeholders for Pixabay and Freesound keys
Provider keys are optional. The app falls back to local assets when keys are missing.
Browser rendering starts a hidden local Remotion job:
- output folder:
out/studio-renders/ - job metadata:
data/render-jobs/ - download route:
/api/studio/renders/:id/download
Both folders are ignored so large MP4s do not enter Git.
AI video generator, Remotion studio, AI reel generator, open source video editor, React video editor, Cursor SDK app, local-first creative studio, AI content creation, prompt to video, vertical video generator, social media automation, ElevenLabs Remotion, Pexels video generator.
- Fork the repo.
- Create a feature branch.
- Run
npm run lintandnpm run build:studio. - Open a pull request.
MIT.
Built by Zamili Studio.