Unlock the full editor.
Payments aren't wired up yet. Connect a Stripe Payment Link or Lemon Squeezy product to Get Pro, and validate keys against their license API.
Every other transition in this editor is computed on your machine. This one is not, so it's worth being exact about it.
For each cut you set to AI morph, the editor sends two still frames — the last frame of the outgoing clip and the first frame of the incoming one — as JPEGs to the endpoint you enter. It does not send the video files, the audio, or any other part of your timeline. Frames are sent only when you export, and results are cached so a second export of the same cut sends nothing.
There is no default endpoint. Nothing is transmitted until you paste one in. Whatever service you point it at gets a copy of those frames under their privacy policy, not yours — worth reading before you use it on client work.
Your endpoint receives a POST with JSON:
{
"frameA": "data:image/jpeg;base64,...",
"frameB": "data:image/jpeg;base64,...",
"frames": 15,
"width": 1080,
"height": 1920
}
and should reply with:
{ "frames": ["data:image/jpeg;base64,...", "..."] }
Any key you enter is sent as Authorization: Bearer <key>.
Point this at a small Vercel or Cloudflare function that calls Runway, Luma,
Replicate or similar and reshapes the response — that keeps your provider key
on a server instead of in a browser, which is where it belongs.
If the endpoint is empty, errors, or times out, that cut renders a local zoom punch instead. The export never fails because of this.
Standard editing keys — most of what you'd expect from a desktop NLE.