Quickstart
From clone to first edit
This guide gets Iris from repository checkout to a working local editor as quickly as possible, with the minimum environment needed to upload a clip and test a localized edit.
- Node.js 20+
- Python 3.11+
- FFmpeg and FFprobe
- A repo-root
.env
Frontend
Vite and React app for landing, projects, and the active editing surface.
Backend
FastAPI service for uploads, projects, generation, masking, narration, and export.
Media stack
FFmpeg and FFprobe bridge uploaded video into actual editorial operations.
Know the layout
The repo is split by responsibility:frontend/for the Vite and React appbackend/for the FastAPI service and worker orchestrationai/for provider adapters and promptsgpu-worker/for optional segmentation and vision supportinfra/for Docker Compose and deployment helpers
Start Iris locally
Keep the frontend and backend as separate processes. The frontend renders the editor. The backend handles uploads, jobs, metadata, and AI-heavy routes.
Start the backend
http://localhost:8000.Make one real edit
- Open the editor.
- Upload a source clip.
- Scrub to a moment you want to change.
- Draw a box around the subject or region.
- Prompt a change.
- Review the generated options.
- Accept one result and continue editing.
Environment
The repo-root .env powers both browser and backend behavior.
AI mode
Stub mode is enough for local work. Real demo paths want provider keys and reachable workers.
Verification
Use health endpoints and typecheck commands before debugging the editor itself.
What the backend needs
The backend is not just an API shell. It depends on real media tooling.Required for the local stack
- Python environment and dependencies
- Environment variables from the repo root
- FFmpeg and FFprobe for upload probing and media transforms
Optional but important for the full experience
- Real provider keys instead of stub mode
- Object storage for durable media URLs
- GPU worker for segmentation-heavy flows
Common verification commands
Optional: the CLI
Iris includes a command-line interface in thecli/ directory that wraps the backend API. You can use it to list projects, upload clips, and trigger edits from your terminal. It also supports multi-agent video analysis for batch workflows.
Read next
- editor workflow to understand the full product loop
- architecture for a high-level map of the codebase
- backend api for the full route reference