composition
Create video compositions with Editframe using HTML web components or React. Supports video, audio, images, text, captions, transitions, and cloud rendering.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Create video compositions with Editframe using HTML web components or React. Supports video, audio, images, text, captions, transitions, and cloud rendering.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
JavaScript/TypeScript SDK for Editframe's video rendering API. Create renders, upload video and image files, manage assets, and sign URLs for playback.
Build video editing interfaces with Editframe's GUI components. Assemble timeline, scrubber, filmstrip, preview, playback controls, and transform handles into custom editing UIs. Use when building video editors, editing tools, or when working with timeline, scrubber, preview, playback controls, volume, mute, fullscreen, picture-in-picture, resolution, trim handles, hierarchy, or editor UIs.
Webhook notifications for render completion and file processing events. Configure endpoints, verify HMAC signatures, and handle real-time status payloads.
| name | composition |
| description | Create video compositions with Editframe using HTML web components or React. Supports video, audio, images, text, captions, transitions, and cloud rendering. |
| license | MIT |
| metadata | {"author":"editframe","version":"2.0"} |
Build video scenes with HTML web components (<ef-timegroup>, <ef-video>, etc.) or React (<Timegroup>, <Video>, etc.). Same composition model, same rendering pipeline — pick the syntax that fits your project.
Web component attributes use kebab-case (sourcein, auto-init). React props use camelCase (sourceIn, autoInit). Each element reference documents both.
<ef-configuration api-host="..." media-engine="local">
<ef-timegroup mode="sequence">
<ef-timegroup mode="fixed" duration="5s" class="absolute w-full h-full">
<ef-video src="intro.mp4" class="size-full object-cover"></ef-video>
<ef-text class="absolute top-8 text-white text-3xl">Title</ef-text>
</ef-timegroup>
<ef-timegroup mode="fixed" duration="5s" class="absolute w-full h-full">
<ef-video src="main.mp4" sourcein="10s" sourceout="15s" class="size-full"></ef-video>
<ef-audio src="music.mp3" volume="0.3"></ef-audio>
</ef-timegroup>
</ef-timegroup>
</ef-configuration>
import { Timegroup, Video, Text, Audio } from "@editframe/react";
export const MyVideo = () => (
<Timegroup mode="sequence" className="w-[1920px] h-[1080px]">
<Timegroup mode="fixed" duration="5s" className="absolute w-full h-full">
<Video src="intro.mp4" className="size-full object-cover" />
<Text className="absolute top-8 text-white text-3xl">Title</Text>
</Timegroup>
<Timegroup mode="fixed" duration="5s" className="absolute w-full h-full">
<Video src="main.mp4" sourceIn="10s" sourceOut="15s" className="size-full" />
<Audio src="music.mp3" volume={0.3} />
</Timegroup>
</Timegroup>
);
React requires a TimelineRoot wrapper — see references/timeline-root.md.
5s (seconds) | 1000ms (milliseconds) | 2m (minutes)
Create a project: npm create @editframe (see the editframe-create skill)
See the editframe-cli skill for CLI rendering.
Elements use standard CSS/Tailwind. Position with absolute, size with w-full h-full or size-full.