CutOS is an AI-first video editor that understands natural language. Describe your edits in plain English, and watch them happen instantly. No steep learning curves, no complex menusโjust tell the AI what you want.
"Split this clip at 10 seconds and add a vintage effect" โ Done.
- Conversational Editing - Edit videos by describing what you want
- Semantic Search - Find moments in footage using natural language
- 29-Language Dubbing - Translate while preserving emotion and timing
- Real-Time Effects - GPU-accelerated WebGL rendering
- Web-Based - No installation required, works in your browser
| Feature | Description |
|---|---|
| Natural Language Editing | "Split the clip in half and apply noir effect" โ AI executes complex multi-step operations |
| Semantic Video Search | Find specific moments: "person walking", "car driving" โ powered by TwelveLabs Marengo 3.0 |
| AI Dubbing | Translate to 29 languages while preserving speaker emotion and timing (ElevenLabs) |
| Voice Isolation | Remove background noise, music, and ambient sounds โ keep only the voice |
| AI Morph Transitions | Generate smooth morphing transitions between clips (Kling API) |
- Multi-Track Timeline - 2 video tracks + 2 audio tracks with non-destructive editing
- Precision Tools - Split, trim, extend clips with frame-perfect accuracy
- Drag & Drop - Magnetic snapping for seamless clip placement
- Real-Time Preview - Canvas-based playback with instant effect rendering
- Effect Library - Grayscale, sepia, VHS, glitch, cyberpunk, ASCII art, and more
- Chromakey - GPU-accelerated green screen removal (any color)
- Undo/Redo - Full editing history with keyboard shortcuts
- Export to MP4/WebM at 1080p
- Cloud storage with Supabase
- Auto-save your projects
- Multiple quality presets (Low/Medium/High)
- Node.js 18+
- npm/pnpm
- Supabase account
- API keys (OpenAI, TwelveLabs, ElevenLabs, Kling)
# Clone the repository
git clone https://github.com/shamsharoon/cutos.git
cd cutos
# Install dependencies
npm install
# Copy environment variables
cp .env.example .env.local
# Add your API keys to .env.local
# See "Environment Variables" section belowCreate a .env.local file:
# Supabase
NEXT_PUBLIC_SUPABASE_URL=your_supabase_url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_anon_key
SUPABASE_SERVICE_ROLE_KEY=your_service_role_key
# AI Services
OPENAI_API_KEY=your_openai_key
TWELVELABS_API_KEY=your_twelvelabs_key
ELEVENLABS_API_KEY=your_elevenlabs_key
KLING_ACCESS_KEY=your_kling_access_key
KLING_SECRET_KEY=your_kling_secret_keynpm run devUser: "Split the clip at 15 seconds and add a vintage VHS effect"
AI: โ Split at 15s. Applied VHS effect.
User: "Remove the green screen from intro.mp4"
AI: โ Green screen removed from 'intro.mp4'.
User: "Dub this video in Spanish"
AI: โ Dubbing to Spanish... (this may take a moment)
Search: "person walking on beach"
โ Finds all clips with people walking on beaches
Search: "car driving at night"
โ Finds nighttime driving scenes
cutos/
โโโ app/ # Next.js App Router
โ โโโ api/ # API routes
โ โ โโโ agent/ # AI agent endpoint
โ โ โโโ dub/ # Dubbing API
โ โ โโโ remove-noise/ # Voice isolation
โ โ โโโ twelvelabs/ # Video search
โ โโโ projects/ # Project pages
โ โโโ page.tsx # Landing page
โโโ components/ # React components
โ โโโ ui/ # shadcn/ui components
โ โโโ editor-shell.tsx # Main editor
โ โโโ timeline.tsx # Timeline component
โ โโโ media-panel.tsx # Media library
โโโ lib/ # Utilities
โ โโโ agent/ # AI agent logic
โ โโโ supabase/ # Database client
โ โโโ utils.ts # Helper functions
โโโ public/ # Static assets
-
Record with OBS/QuickTime
- Record your screen at 1920x1080
- Keep recordings under 30 seconds for optimal file size
- Focus on one feature at a time
-
Convert to GIF
# Using FFmpeg ffmpeg -i input.mp4 -vf "fps=15,scale=1000:-1:flags=lanczos" -c:v gif output.gif # Or use online tools: # - https://ezgif.com/video-to-gif # - https://cloudconvert.com/mp4-to-gif
-
Optimize GIF Size
# Using gifsicle gifsicle -O3 --colors 256 output.gif -o optimized.gif
cutos/
โโโ docs/
โ โโโ demo.gif # Main demo GIF (homepage)
โ โโโ effects-showcase.png # Effects preview
โ โโโ images/
โ โโโ editor-interface.png
โ โโโ ai-chat.png
โ โโโ effects-panel.png
โ โโโ timeline-editing.gif
โ โโโ search-demo.gif
โโโ public/
โโโ demo.mp4 # Demo video for landing page
- Use full editor interface at 1920x1080
- Crop to show relevant sections
- Add subtle drop shadows in post
- Use dark mode for consistency
- Compress with TinyPNG or similar
| Shortcut | Action |
|---|---|
Space |
Play/Pause |
Cmd/Ctrl + Z |
Undo |
Cmd/Ctrl + Shift + Z |
Redo |
Cmd/Ctrl + C |
Copy selected clip |
Cmd/Ctrl + V |
Paste clip |
S |
Split clip at playhead |
Delete |
Delete selected clip |
F |
Enter fullscreen |
Esc |
Exit fullscreen |
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the project
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
- Voice isolation requires clips to be uploaded to cloud storage first
- Morph transitions only work between sequential clips on the same track
- Large video files (>500MB) may experience slower processing
This project is licensed under the MIT License - see the LICENSE file for details.
- TwelveLabs - Semantic video understanding
- ElevenLabs - Voice AI technology
- OpenAI - GPT-4o for intelligent editing
- Kling AI - Morph transition generation
- Supabase - Backend infrastructure
- Vercel - Hosting and deployment
Team:
- Julian Cruzet
- Shams Haroon
- Vincent Wong
- Jonathan McKesey
Project Link: https://github.com/shamsharoon/cutos
Devpost: https://devpost.com/software/cutos
Demo Video: https://youtu.be/t0zHzwyXm_Q
Live App: https://cutos.vercel.app



