editframe/playback
Put your media
in motion.
Combine footage, titles, sound, and animation. Preview and seek them on one timeline.
Explore the architecture
Playback
From URL to usable playback.
<ef-timegroup mode="fixed" duration="8s">
<ef-video
src="https://cdn.example.com/interview.mov"
sourcein="2s"
sourceout="10s"
></ef-video>
</ef-timegroup>Local development
Prepare playback while you build.
Keep the source path familiar.
Browser support varies by source format. During Vite development, the Editframe plugin serves local assets and prepares streamable segments when the composition requests a source.
Use the plugin to keep local source paths in your composition while you build the editor. Decide separately how production storage and access control work for your application.
The Vite plugin runs on the same origin as the application, so local development does not need an api-host attribute.
// vite.config.ts
import { defineConfig } from "vite"
import { vitePluginEditframe } from "@editframe/vite-plugin"
export default defineConfig({
plugins: [vitePluginEditframe({
root: "./src",
cacheRoot: "./src/assets/.cache",
})],
})<!-- The Vite plugin serves local media on the app origin. -->
<ef-timegroup mode="contain">
<ef-video src="/assets/raw.mov"></ef-video>
</ef-timegroup>Private media (optional)
Keep videos private.
Share only what you mean to.
For protected Editframe-hosted media, your server authorizes each requested URL and returns a short-lived playback token.
- →Keep the API key on your server
- →Validate access before minting a token
- →Works for video, image, and caption files
// Server route: authenticate and authorize first.
import { Client, createURLToken } from "@editframe/api"
app.post("/sign-url", async (req, res) => {
const token = await createURLToken(client, req.body.url)
res.json({ token })
})
// Composition requests a token from signing-url for protected media.Storage
Your files stay where they are.
Keep sources in the storage system your product already uses, or use Editframe Files when you want the files API and render API in the same platform.
Keep files where they are
Keep your source of record
Use an HTTPS source in the composition and retain the storage and access policy your product already has.
Use Editframe Files
Storage and delivery in one API
Upload once. Get a signed URL alongside your renders. One bill.
Motion catalog
Start from a working composition.
Browse all studies ↗Add video
to your timeline.
Start with an ef-video source.

