OpenFrame AI v1.0.0 on your box: a self-hosted multi-agent engine that takes a product brief and spits out storyboarded AI video ads on a visual canvas. Docker or bare Python/Node. Two API keys. No SaaS queue.
Creatify/Arcads walkthroughs are everywhere. This is the other path – clone the open engine, health-check it, run one project, tear it down clean.
What you get after deploy
Seven agents (Creative Director through Sound Designer) plus a React Flow canvas for frames, clips, voiceovers, and SRT – that’s the product in the official openframe-ai repo. Models on the video side include Kling 3.0, Wan 2.1, Veo 3, Seedance 2 (15+ total per the README). Five ad presets ship in v1.0.0: Fashion & Luxury, Commercial, Beauty, UGC, Cinematic Brand Film.
v1.0.0 landed 2026-02-23 (CHANGELOG) with Docker Compose, auth, and cost tracking. Stack, as documented: FastAPI + LangGraph backend, Next.js 16 / React 19 frontend, SQLite, React Flow.
I burned an afternoon on a half-filled .env before /api/health finally came back clean. What follows is that afternoon, cut down.
System requirements
- Python 3.12+ (3.11 is not enough)
- Node.js 20+
- Docker + Docker Compose if you want the short path
- API keys (as of README Quick Start): OpenRouter required, kie.ai required, ImgBB recommended, ElevenLabs optional
No RAM/CPU/disk floor appears in the official prerequisites – only language runtimes and keys. Generation spend sits on kie.ai and OpenRouter, not your GPU. If the machine already runs a normal Node app and a FastAPI service, start there; one project at a time if RAM is tight.
Official download source
git clone https://github.com/tapankumarpatro/openframe-ai.git
cd openframe-ai
As of v1.0.0 there is no separate binary channel in the README – source + Compose is the install. Skim CHANGELOG.md before you pin a commit.
Install OpenFrame AI v1.0.0 (Docker path)
Fresh laptop? This is the path I’d take.
- Env template + keys:
cp .env.example .env
# minimum:
# OPENROUTER_API_KEY=...
# KIE_API_KEY=...
# IMGBB_API_KEY=... # recommended
# OPENROUTER_PAID_MODEL=anthropic/claude-sonnet-4-20250514 # default in .env.example
- Build, detach:
docker compose up --build -d
- Containers + health:
docker compose ps
curl http://localhost:8030/api/health
UI http://localhost:3030 · API http://localhost:8030 (README service URLs).
Pro tip: Settings → API Keys accepts paste at runtime with no restart. Still put the required pair in
.envso cold Compose starts don’t fail the first pipeline.
docker compose logs -f backend
docker compose restart backend
docker compose up --build -d frontend
Alternative: local venv (no Docker)
python -m venv venv
# macOS/Linux:
source venv/bin/activate
# Windows: venvScriptsactivate
pip install -r requirements.txt
cd ui && npm install && cd ..
cp .env.example .env # fill keys
# terminal 1
python -m uvicorn api.server:app --host 0.0.0.0 --port 8030 --reload
# terminal 2
cd ui && npm run dev
First-time configuration
Two keys. That’s the floor – OpenRouter + kie.ai – both marked required in the official API Keys table. Default paid model in .env.example is anthropic/claude-sonnet-4-20250514 via OpenRouter; override per agent in the UI when you need to.
Sign up in-app (auth is part of v1.0.0). New project → pick a preset (UGC for short social, Fashion for longer editorial) or import a JSON sample from examples/workflows/. Run the agent pipeline, then fill frames and video slots on the canvas.
Credits disappear on both providers. Use the built-in API cost panel before you batch a campaign.
Self-hosting feels slower than a SaaS paste-URL demo until the third variant – then you notice you own the canvas, the presets, and the teardown. Whether that trade is worth it depends on how hard you need to leave someone else’s queue.
Verify the install works
| Check | Command / action | Expect |
|---|---|---|
| API health | curl http://localhost:8030/api/health |
Healthy/OK |
| UI loads | Open http://localhost:3030 |
App shell, auth or project list |
| Keys live | Settings → API Keys or one agent run | No missing-key errors on Creative Director |
| Sample workflow | Import a file from examples/workflows/ |
Canvas nodes populate |
Health red but containers green? docker compose logs -f backend first. Don’t touch the frontend yet.
Common install errors and fixes
Missing OpenRouter or kie.ai key. Agents stall; generation rejects. Fill .env or Settings → API Keys – both required per the README table. UI paste works without restart; empty env still bites cold starts.
Python too old.pip install -r requirements.txt breaks on 3.11-era deps. Install 3.12+, recreate the venv.
Ports 3030 / 8030 busy. Another Next or uvicorn process owns them. macOS/Linux: lsof -ti:8030 | xargs kill -9 (same idea for 3030). Windows: README Get-NetTCPConnection snippet. Or remap published ports in a Compose fork.
Frontend up, API dead. Pretty shell, empty backend. Always /api/health before you debug UI.
License catch. Sustainable Use (README TL;DR): personal and internal business use are fine; commercial resale or redistribution of the software is not; .ee enterprise files need a paid license. Read LICENSE and LICENSE_EE.md before you wrap a hosted product on top.
Upgrade and uninstall
Upgrade from git:
cd openframe-ai
git pull
# Docker:
docker compose up --build -d
# Local: re-activate venv, pip install -r requirements.txt, cd ui && npm install
v1.0.0 is the first tagged feature set in CHANGELOG as of 2026-02-23. Later 1.x roadmap items (timeline editor, stitching) may add migrations – re-read CHANGELOG after each pull.
Uninstall:
docker compose down
docker compose down --rmi all
docker compose down --rmi all -v
cd .. && rm -rf openframe-ai
Local path: stop uvicorn/npm, deactivate venv, delete the folder. Nothing global to uninstall.
FAQ
Is OpenFrame AI free for client work?
Personal and internal business use: yes, under Sustainable Use. Reselling or redistributing the software itself: no. Agency white-label of the engine needs a hard look at LICENSE / LICENSE_EE.md first.
Docker or local venv – which should I pick first?
Docker. One compose up --build -d, both services, one log stream. Switch to the two-terminal venv when you’re mid-edit on an agent or the Next UI and you want hot reload without image rebuilds – that’s the moment Compose gets annoying.
Why do I need kie.ai if I already pay OpenRouter?
Different jobs, different bills. OpenRouter feeds the LangGraph agents – briefs, shot lists, styling. kie.ai is the image/video path (Seedream, Kling, Wan, Veo, Seedance, music hooks). Skip kie.ai and the canvas still plans a gorgeous ad… then leaves the video slots empty. People hit that on run one and assume the install is broken. It isn’t. It’s two vendors.
Open http://localhost:3030. Import one sample under examples/workflows/. Generate a single silent product scene before you point a paid client brief at it.