remotion · vercel-labs — скилл для Claude Code: видео из JSON
Скилл превращает JSON-описания видеотайм-лайна в готовые видеокомпозиции через Remotion. Пригодится, если генерируешь видео программно или собираешь каталоги видеоклипов из данных.
npx skills add vercel-labs/json-render --skill remotion -a claude-codeЧто делает remotion
remotion — это интеграция @json-render/remotion, которая даёт коду возможность строить видео прямо из JSON-спецификаций. Вместо того чтобы писать Remotion-компоненты вручную, описываешь структуру видео в JSON: какие клипы, на какие треки, какие эффекты и переходы — и скилл рендерит это в видеокомпозицию.
В комплекте идут стандартные компоненты: TitleCard для титров, TypingText для анимированного текста, ImageSlide, SplitScreen, QuoteCard, StatCard и оверлеи (TextOverlay, LowerThird). Если нужны свои — определяешь их через Zod-схему и передаёшь в Renderer. Структура timeline spec описывает композицию (разрешение, fps, длительность), треки, клипы с пропсами, аудио.
Требует Node.js и установку пакета @json-render/remotion. Работает в Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI и OpenCode.
Какие задачи решает
- Генерировать видео из JSON-описаний без ручного кода Remotion
- Собрать каталог видеоклипов с единообразным стилем и анимацией
- Встроить видео-рендеринг в AI-воркфлоу для создания контента
- Использовать готовые компоненты видео вместо написания их с нуля
- Контролировать видеокомпозицию через данные, а не код
Примеры запросов агенту
- Помоги создать видео из JSON-spec с TitleCard и TypingText клипами на основе этого шаблона.
- Добавь кастомный компонент MyGradientBg в remotion каталог и передай его в Renderer.
- Сгенерируй JSON timeline для 30-секундного видео 1920x1080 с тремя слайдами изображений.
Как установить remotion
1Через Skills CLI (Vercel)
npx skills add vercel-labs/json-render --skill remotion -a claude-code2Вручную: положить файлы
~/.claude/skills/remotion/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/remotion/
1Через Skills CLI (Vercel)
npx skills add vercel-labs/json-render --skill remotion -a codex2Вручную: положить файлы
.agents/skills/remotion/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add vercel-labs/json-render --skill remotion -a cursor2Вручную: положить файлы
.cursor/skills/remotion/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install vercel-labs/json-render remotion2Вручную: положить файлы
.github/skills/remotion/SKILL.md1Через Skills CLI (Vercel)
npx skills add vercel-labs/json-render --skill remotion -a gemini-cli2Командой платформы
gemini skills install https://github.com/vercel-labs/json-render --path skills/remotionВручную: положить файлы
.devin/skills/remotion/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add vercel-labs/json-render --skill remotion -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
Из того же набора20
Весь набор →Другие версии remotion
Похожие
Вопросы о remotion
Как установить remotion скилл в Claude Code?
Выполни npx skills add vercel-labs/json-render --skill remotion -a claude-code, затем проверь конфиг в ~/.claude/skills/remotion/SKILL.md.
Что входит в remotion скилл?
Renderer для преобразования JSON timeline specs в Remotion-композиции, стандартные компоненты (TitleCard, TypingText, ImageSlide, QuoteCard и другие), хуки для переходов и эффектов, схема timeline для описания видео структуры.
Как добавить свой компонент в remotion?
Определи компонент через Zod-схему (props, type, defaultDuration, description), добавь его в массив components при вызове defineCatalog, затем передай в inputProps Renderer компонента вместе с его React-реализацией.
Исходный текст
SKILL.md · Apache-2.0
---
name: remotion
description: Remotion renderer for json-render that turns JSON timeline specs into videos. Use when working with @json-render/remotion, building video compositions from JSON, creating video catalogs, or rendering AI-generated video timelines.
---
# @json-render/remotion
Remotion renderer that converts JSON timeline specs into video compositions.
## Quick Start
```typescript
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
```typescript
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
```typescript
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
```json
{
"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 |
© vercel-labs · Apache-2.0 · vercel-labs/json-render