macOS
Signed and notarized
Open source · MIT · Local-first
OpenScene is a desktop editor with an agent at the controls. It reads your timeline, cuts clips, generates voice and video, and exports through your own FFmpeg. Your media stays on your machine, and you decide which model providers it may talk to — including none.
RUN FROM SOURCE
git clone https://github.com/Theorvane/openscene.gitcd openscene && npm installnpm run devDownload · v0.3.0
Packaged builds for all three platforms, published from the same tag. FFmpeg is still yours to install — OpenScene drives the one on your machine rather than bundling its own.
Signed and notarized
Unsigned — SmartScreen warns on first run
Unsigned, as AppImage and deb normally are
Agent approval request
A write action asks for consent; read-only timeline inspection remains immediate.
Video and audio tracks, trim, split, move, duplicate, keyframes, transitions, per-track mix, undo and redo — then an H.264/AAC MP4 through the FFmpeg already on your machine.
The chat panel beside the timeline calls the same operations the interface does. Describe the cut; it reads the project, places the clip, and reports what it changed.
Ask about a clip and frames are sampled and handed to the model as images with timestamps, so the answer comes from what is on screen rather than from the file name.
Generation studios sit in the same workspace. A finished job imports into the open project as an asset, ready to drop on the timeline.
Around 150 providers and several thousand models, or nothing but a local engine. Connect what you want; the rest stays out of the picker.
You pick the folder. Media, chat history, and generated results are written inside it, and removing a project from the list never deletes the folder you chose.
Not a copilot that writes suggestions
The agent reaches your project through a typed tool surface in the main process — the same operations the interface uses, with no shell access and no path handling in the browser layer.
getProjectTimelinewatchProjectVideoaddClipToTimeline · trimTimelineClip · updateClipEffectscreateSpeechJob · createVideoJob · getJobStatusimportGeneratedResultexportProjectVideoAnything that writes to your project or starts a job asks for approval before it runs. Read-only calls go through immediately. Conversations are kept per project as sessions you can switch between or delete.
Bring your own everything
The registry is generated from a snapshot of the models.dev catalog, so the picker lists what exists rather than a hand-kept shortlist. Only providers you have connected show their models.
A boundary you can read in the source
No account, no telemetry, no analytics, and no crash reporting. The app reaches a provider only when you ask it to, using a provider you connected yourself.
The interface talks to the system through one narrow typed bridge. Filesystem paths, FFmpeg arguments, API keys, and OAuth tokens stay behind it — a reference image you pick for video generation crosses as bytes, never as a path.
Inspect the source ↗OpenScene is free and MIT licensed. Model providers bill you directly if you connect one; the project never sits between you and them.
No. The agent runs against a local Ollama model with no account, no key, and no network call. Cloud providers are there if you prefer them.
Anything in the generated models.dev catalog that speaks the OpenAI or Anthropic wire format, plus Google Gemini natively. For OpenAI you can use an API key or a ChatGPT sign-in.
Into the project folder you chose, and nowhere else. A provider only ever receives what you ask the agent to send it.
Yes, for export. OpenScene drives the FFmpeg on your machine rather than bundling its own, and refuses to start an export it cannot complete.
Yes, from 0.3.0. macOS, Windows, and Linux builds are published on every release, and running from source stays supported. The macOS builds are signed with a Developer ID certificate and notarized; the Windows and Linux builds are unsigned, so Windows SmartScreen warns on first run.
The application checks for a published release and asks before it updates. Nothing is downloaded or replaced without your answer, and a build you run from source updates when you pull and rebuild.