
Remotion JSON Renderer
OfficialFreeTransform JSON timelines into dynamic video compositions.
Free · Opens the source repo
What Remotion JSON Renderer does
The Remotion JSON Renderer is a specialized tool designed for developers and designers who want to create video compositions from JSON timeline specifications. This renderer integrates seamlessly with the Remotion framework, allowing users to define their video content in a structured JSON format. By utilizing the @json-render/remotion package, it simplifies the process of rendering videos based on predefined specifications, making it particularly useful for generating video catalogs or AI-generated video timelines.
To get started, users can leverage the Player component from the Remotion library, passing in a TimelineSpec that outlines the composition's properties, such as frame rate, dimensions, and duration. This approach not only streamlines the video creation process but also allows for the use of standard components like title cards, image slides, and text overlays, which can be easily customized or extended with additional components as needed.
The skill is especially beneficial for teams working on projects that require rapid video generation, such as marketing materials, educational content, or product showcases. With the ability to define custom components and integrate them into the rendering process, developers can tailor their video outputs to meet specific requirements, enhancing the overall production quality and efficiency.
In summary, the Remotion JSON Renderer provides an effective solution for turning JSON-based specifications into engaging video content, making it an essential tool for anyone involved in video production and design.
When to use it
Use this skill when you need to generate videos programmatically from structured data, especially in projects involving video catalogs or AI-generated content.
When not to use it
This skill may not be suitable for users looking for a traditional video editing tool, as it focuses on programmatic video generation rather than manual editing.
What you can build with it
Automated Marketing Videos
Generate marketing videos quickly by defining your video content in JSON, allowing for rapid production and iteration.
Educational Content Creation
Create engaging educational videos by specifying timelines and components in JSON, making it easy to update content.
AI-Generated Video Timelines
Utilize AI to create video timelines in JSON format, then render them programmatically for consistent output.
How to install Remotion JSON Renderer
View source1. Install with the skills CLI
npx skills add vercel-labs/json-render/remotion --agent claude-code2. Or install it manually
Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.
Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs
Inside SKILL.md
Written by vercel-labs@json-render/remotion
Remotion renderer that converts JSON timeline specs into video compositions.
Quick Start
import { Player } from "@remotion/player";
import { Renderer, type TimelineSpec } from "@json-render/remotion";
function VideoPlayer({ spec }: { spec: TimelineSpec }) {
return (
<Player
component={Renderer}
inputProps={{ spec }}
durationInFrames={spec.composition.durationInFrames}
fps={spec.composition.fps}
compositionWidth={spec.composition.width}
compositionHeight={spec.composition.height}
controls
/>
);
}
Using Standard Components
import { defineCatalog } from "@json-render/core";
import {
schema,
standardComponentDefinitions,
standardTransitionDefinitions,
standardEffectDefinitions,
} from "@json-render/remotion";
export const videoCatalog = defineCatalog(schema, {
components: standardComponentDefinitions,
transitions: standardTransitionDefinitions,
effects: standardEffectDefinitions,
});
Adding Custom Components
import { z } from "zod";
const catalog = defineCatalog(schema, {
components: {
...standardComponentDefinitions,
MyCustomClip: {
props: z.object({ text: z.string() }),
type: "scene",
defaultDuration: 90,
description: "My custom video clip",
},
},
});
// Pass custom component to Renderer
<Player
component={Renderer}
inputProps={{
spec,
components: { MyCustomClip: MyCustomComponent },
}}
/>
Timeline Spec Structure
{
"composition": { "id": "video", "fps": 30, "width": 1920, "height": 1080, "durationInFrames": 300 },
"tracks": [{ "id": "main", "name": "Main", "type": "video", "enabled": true }],
"clips": [
{ "id": "clip-1", "trackId": "main", "component": "TitleCard", "props": { "title": "Hello" }, "from": 0, "durationInFrames": 90 }
],
"audio": { "tracks": [] }
}
Standard Components
| Component | Type | Description |
|---|---|---|
TitleCard | scene | Full-screen title with subtitle |
TypingText | scene | Terminal-style typing animation |
ImageSlide | image | Full-screen image display |
SplitScreen | scene | Two-panel comparison |
QuoteCard | scene | Quote with attribution |
StatCard | scene | Animated statistic display |
TextOverlay | overlay | Text overlay |
LowerThird | overlay | Name/title overlay |
Key Exports
| Export | Purpose |
|---|---|
Renderer | Render spec to Remotion composition |
schema | Timeline schema |
standardComponents | Pre-built component registry |
standardComponentDefinitions | Catalog definitions |
useTransition | Transition animation hook |
ClipWrapper | Wrap clips with transitions |
Frequently asked questions about Remotion JSON Renderer
Similar skills
Playwright Component Testing
Test React and Vue components in isolation with Playwright.
Fluent UI Blazor
Integrate Fluent UI components in Blazor applications effortlessly.
Build MCP App
Create interactive UI widgets for MCP servers.
Web Design Reviewer
Identify and fix design issues in websites efficiently.
Markstream Install
Seamlessly integrate Markstream for Markdown rendering.
GSAP & Framer Scroll Animation
Create advanced scroll animations effortlessly.
