Engines & Models
Run Vibe on Klipeo's cloud, or point it at a coding CLI on your own machine. Here's the difference and how to set it up.
Vibe can run on five different engines. You pick one from the dropdown in the Vibe header. The first is our cloud. The other four run on your own machine through a small bridge app, which means they're free to run and you choose the model.
The five engines
| Engine | Where it runs | Cost to you | Model |
|---|---|---|---|
| Klipeo | Our cloud | Counts against your credits | Gemini 3.8 Flash, high effort |
| Claude Code | Your machine | Free (your own CLI) | You pick, or Auto |
| Codex | Your machine | Free (your own CLI) | You pick, or Auto |
| Gemini CLI | Your machine | Free (your own CLI) | You pick, or Auto |
| OpenCode | Your machine | Free (your own CLI) | You pick, or Auto |
Klipeo is the default. It runs entirely on our servers, so you don't install anything, and it's the one that tracks token usage and cost (see Save on AI cost).
The cloud engine has no model picker. Every turn runs on Gemini 3.8 Flash with high thinking effort, the same model and effort for a one-line trim and for a multi-step edit.
Generation picks its own model for each job. Pictures come from Nano Banana 2 and video shots from Gemini Omni. Vibe moves to Seedance 2.5 for a single take longer than 10 seconds, uses Kling O3 only to swap a person in a clip, and uses GPT Image 2.5 only when you ask for GPT. Name a model in your message and Vibe uses that one.
When Vibe changes a clip on your timeline, such as adding an object or swapping a person, it sends only the part the clip shows, not the whole file. Gemini Omni takes up to 10 seconds of it and Seedance 2.5 up to 30, so trim a long recording to the moment you want changed. A clip longer than every model takes is refused before any credits are spent, with the limit in the reply.
The other four are local engines. They drive a coding CLI you already have set up, and Klipeo talks to it through editing tools, so the AI still makes real changes to your timeline. The work happens on your hardware with your own account, so Klipeo isn't billing you for the tokens.
What is the Klipeo bridge?
Klipeo runs in your browser, but the local CLIs (Claude Code, Codex, and so on) run on your computer. Those two can't talk to each other directly. The bridge is the small program that sits between them.
Here's the whole idea in one line:
Klipeo (browser) ⇄ Klipeo bridge (your machine) ⇄ your CLI (Claude Code, etc.)When you ask Vibe to do something on a local engine, Klipeo sends the request to the bridge running on your machine. The bridge hands it to your CLI, the CLI does the work using your own account and model, and the results flow back the same way. So the AI tokens are on you, not on Klipeo, and your footage and edits stay on your machine.
You install the bridge once. It's published on npm as
@bytehumi/klipeo-bridge,
and installing it gives you a klipeo command in your terminal.
Connect the bridge
Before you start
You'll need Node.js 22.12 or newer, and the CLI you want to drive (for example Claude Code or the Gemini CLI) already set up and working on its own. The bridge doesn't install those for you, it just connects them to Klipeo.
Install the bridge
Install it globally so the klipeo command is available anywhere:
npm i -g @bytehumi/klipeo-bridgeSign in
Link the bridge to your Klipeo account. This opens your browser to authorize the machine, then drops you back at the terminal.
klipeo loginStart it
Run the daemon. It stays alive in the foreground, keeps the connection to Klipeo open, and detects which CLIs you have installed.
klipeo startLeave this running while you work. If you close it, local engines go offline until you start it again.
Pick your engine in Klipeo
Back in the editor, open the engine dropdown in the Vibe header and choose Claude
Code, Codex, Gemini CLI, or OpenCode. A Connect card opens with the command to
run and a live status pill, and Continue stays disabled until the bridge
answers. If your browser asks about local network access, choose Allow: Klipeo
only reaches localhost:7777 after you pick a local engine, and only after you
confirm this card. The card also shows the approval mode you're about to grant,
and confirming it applies to that one CLI in that one project.
When the bridge is connected, the header shows a live indicator. If it's offline, Vibe says so instead of silently failing, and points you back here.
Choose a model
Once an engine is connected, a model selector appears next to it. Leave it on Auto to use whatever that CLI is already configured for, or pick a specific model. Klipeo reads the list straight from your running bridge, so it only shows models you actually have access to.
The rest of the klipeo commands
| Command | What it does |
|---|---|
klipeo login | Browser sign-in. Add --token <token> to skip the browser entirely. |
klipeo start | Runs the daemon on localhost:7777. |
klipeo start --host-access | Same, but also lets the CLI use its own file and shell tools on the machine running the bridge. It applies in Auto mode only, and in Auto mode the CLI can then read files, write files, and run commands there. Leave it off unless you want that. |
klipeo status | Shows bridge status and which CLIs it found. |
klipeo detect | Lists the supported coding CLIs on this machine. |
klipeo logout | Clears the saved credentials. |
A few details that save you a head-scratch: only one bridge can run at a time, so
klipeo start refuses to launch a second one while the first is alive. The browser
login gives up after five minutes if you never finish it. And a bridge sign-in lasts
90 days, refreshing itself quietly, with a week of grace after expiry before you
have to run klipeo login again.
Bridge offline?
If Vibe says the bridge isn't running, check that klipeo start is still
going in a terminal, that you ran klipeo login first, and that you're on the
same machine. Check the browser too: your browser has to be allowed to reach
localhost:7777, and Klipeo only asks for that once you pick a local engine.
If the model list is empty or stale, update the bridge with npm i -g @bytehumi/klipeo-bridge@latest and restart it. You can always switch back to
the Klipeo cloud engine, which needs none of this.
Cloud needs no setup
If all of that sounds like a lot, ignore it. The default Klipeo engine works in the browser with nothing installed. Reach for a local engine when you want to run on your own model or keep your AI cost off your Klipeo plan.
Drive Klipeo from an MCP client
The bridge points a CLI at Klipeo. This does the opposite: it lets an MCP client you already use call Klipeo's editing tools on your own timeline.
The server is at /api/vibe/mcp on your Klipeo origin. It speaks JSON-RPC
over HTTP on POST. A plain GET on the same path returns a discovery document:
the server name, the protocol versions it supports, where to authorize, and the
tools it exposes.
It supports initialize, tools/list, tools/call, and ping. It has no
resources and no prompts, so those lists come back empty.
Authorizing a client
Every tool call needs a bearer token, and the token is what decides whose compositions get edited. Two kinds work:
OAuth
The normal path for an MCP client. Klipeo publishes protected-resource
metadata at /.well-known/oauth-protected-resource/api/vibe/mcp,
pointing at the authorization server at /api/auth. A client
that follows the challenge gets sent through Klipeo's consent screen.
API key
For a script rather than an interactive client. Use a Klipeo API key that has the write scope.
Two scopes govern an OAuth token: klipeo:timeline:read and
klipeo:timeline:write. Calling a tool needs the write scope. A token without it
is refused with an insufficient_scope error rather than quietly reading only.
An unauthorized request comes back with a WWW-Authenticate challenge that names
the metadata URL, so a well-behaved client can start the flow on its own.
Your Vibe session id in the editor is not a credential and cannot be used here.
What a connected client can do
It gets the same official Skill tools Vibe itself runs, minus any skill you've
turned off under Settings then Skills. Calls land on one composition: the one
named in an x-klipeo-composition-id header, or your most recent composition if
the header is absent.
The edits are not off to one side. They land on the real timeline and stream into the editor as a Vibe session, so if you have that composition open you watch them arrive.
Treat the token like a password
A write-scoped token lets whatever holds it edit your compositions as you. Give one only to a client you trust, and revoke it when you're done.
Which should you use?
Use Klipeo cloud when
You want it to just work, you're on mobile or a fresh machine, or you'd rather not run anything locally.
Use a local engine when
You already live in Claude Code or Codex, you want a specific model, or you'd rather your own subscription cover the tokens.
One more thing worth knowing: the usage and cost figures in the Vibe header only fill in for the Klipeo cloud engine. Local engines run on your account, so Klipeo doesn't see or count those tokens.