A modern video editing application with AI-powered chat interface, featuring Azure Sora video generation and GPT-4.1 intelligent command parsing.
- 🎬 Video Editing: Trim, resize, rotate, apply effects (grayscale, brightness, speed)
- 🤖 AI Chat Interface: Natural language commands with GPT-4.1 fallback
- 🎨 Auto Color Correction: AI-powered color grading
- 📝 Text Overlays: Add and manage text overlays
- 🎥 Azure Sora Integration: Generate videos from text prompts
- 📱 Social Media Formats: One-click TikTok/Reels/Shorts formatting (1080x1920)
- 📜 Edit History: Track and review all edits
- React + Vite
- Material-UI (MUI)
- Axios for API calls
- Modern glassmorphism design
- FastAPI (Python)
- MoviePy for video processing
- Azure OpenAI (Sora + GPT-4.1-mini)
- OpenAI Python SDK
- Node.js 20.19+ or 22.12+
- Python 3.9+
- Azure OpenAI API key
git clone <your-repo-url>
cd video-editscd backend
# Create virtual environment
python3 -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
# Create .env file
cp .env.example .env
# Edit .env and add your AZURE_API_KEYBackend .env file:
AZURE_API_KEY=your_azure_openai_api_key_herecd ../frontend
# Install dependencies
npm install
# Build for production
npm run buildcd backend
source venv/bin/activate
uvicorn main:app --reload --host 0.0.0.0 --port 8000Backend will run on http://localhost:8000
cd frontend
npm run previewFrontend will run on http://localhost:4173
The AI chat supports both fuzzy matching and GPT-4.1 intelligent parsing:
Video Generation:
sora a cat playing with yarngenerate a video of sunset over ocean
Editing:
trim to 10 secondskeep first 5 secondsmake it black and whiterotate the videomake it brightermake it faster
Social Media Formatting:
create tiktok video→ Resize to 1080x1920 (9:16)instagram reels→ Resize to 1080x1920make it vertical→ Resize to 1080x1920
Text Overlays:
add text saying hello world
Color Correction:
auto color→ Uses current frame as reference
POST /upload- Upload video filePOST /trim- Trim and/or resize videoPOST /effects- Apply effects (rotate, grayscale, brightness, speed)POST /color-correct- Auto color correctionPOST /overlay-text- Add text overlayPOST /generate- Generate video with SoraPOST /parse-command- Parse natural language with GPT-4.1GET /files/{filename}- Serve uploaded/processed filesGET /recent-edits- Get recent edit history
video-edits/
├── backend/
│ ├── main.py # FastAPI server
│ ├── gpt_parser.py # GPT-4.1 command parser
│ ├── sora_generator.py # Azure Sora integration
│ ├── video_processor.py # Video editing functions
│ ├── requirements.txt # Python dependencies
│ └── .env.example # Environment template
├── frontend/
│ ├── src/
│ │ ├── App.jsx # Main app component
│ │ ├── components/
│ │ │ ├── ChatPanel.jsx # AI chat interface
│ │ │ ├── EditorPlayground.jsx # Video player & controls
│ │ │ ├── ColorCorrectionDialog.jsx # Color correction UI
│ │ │ └── ...
│ │ └── index.css # Global styles
│ ├── package.json
│ └── vite.config.js
└── README.md
| Variable | Description | Required |
|---|---|---|
AZURE_API_KEY |
Azure OpenAI API key (for Sora & GPT-4.1) | Yes |
cd backend
source venv/bin/activate
uvicorn main:app --reload --host 0.0.0.0 --port 8000cd frontend
npm run dev # Development server with hot reloadcd backend
source venv/bin/activate
pip install requestsMake sure you've created .env file in the backend/ directory with your API key.
Upgrade to Node.js 20.19+ or 22.12+:
nvm install 22
nvm use 22MIT
Built with: