Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
agricidaniel avatar

Claude Video Create

  • 6 installs
  • 23 repo stars
  • Updated April 6, 2026
  • agricidaniel/claude-video

claude-video-create is a Claude Code skill that generates videos programmatically by writing React components rendered with Remotion.

About

claude-video-create is a Claude Code skill that produces videos programmatically with Remotion, the React-based video framework. Claude writes React components for title cards, data visualizations, motion graphics, and branded intros, and Remotion renders them headlessly to video. A developer uses it to generate data-driven or templated videos from code and JSON.

  • Programmatic video via Remotion (React components)
  • Generates title cards, data visualizations, and motion graphics
  • Renders headlessly to MP4, WebM, or stills

Claude Video Create by the numbers

  • 6 all-time installs (skills.sh)
  • Ranked #1,096 of 1,335 Generative Media skills by installs in the Skillselion catalog
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
At a glance

claude-video-create capabilities & compatibility

Free; uses open-source Remotion and Node.js with no API keys.

Capabilities
programmatic video · motion graphics · data visualization · title cards
Use cases
video generation
Pricing
Free
From the docs

What claude-video-create says it does

Programmatic video creation using Remotion (React-based). Generates title cards, data visualizations, motion graphics
SKILL.md
Check Node.js: `node --version` (requires 18+)
SKILL.md
npx skills add https://github.com/agricidaniel/claude-video --skill claude-video-create

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs6
repo stars23
Last updatedApril 6, 2026
Repositoryagricidaniel/claude-video

What it does

Generate title cards, motion graphics, or data-driven videos programmatically by writing React components rendered with Remotion.

Who is it for?

Data-driven videos, title cards, and motion graphics generated from React components

Skip if: Simple transcoding, trimming, or audio processing, which route to FFmpeg sub-skills

When should I use this skill?

You want to create title cards, animated text, motion graphics, or data-visualization videos from code

What you get

Produces rendered MP4, WebM, or still frames from parameterized React components.

  • Rendered MP4 videos
  • Transparent WebM overlays
  • Still-frame thumbnails

By the numbers

  • Requires Node.js 18+
  • Documents 7 render flags (codec, crf, image-format, scale, every-nth-frame, concurrency, props)

Files

SKILL.mdMarkdownGitHub ↗

claude-video-create — Programmatic Video via Remotion

Pre-Flight

1. Check Node.js: node --version (requires 18+) 2. Check if Remotion is available: npx remotion --version 2>/dev/null 3. If no Remotion project exists, scaffold one first

When to Use Remotion vs FFmpeg

Use Remotion for:

  • Complex text animations (spring physics, staggered reveals, typewriter effects)
  • Data-driven videos (charts, graphs, dashboards from JSON/CSV)
  • React component-based templates (reusable, parameterized)
  • Branded intros/outros with motion graphics
  • Content that updates from data (weekly reports, scorecards)

Use FFmpeg for (route to other sub-skills):

  • Transcoding, trimming, concatenation
  • Simple text overlay (drawtext is sufficient)
  • Audio processing
  • Anything that doesn't need programmatic rendering

Scaffold a New Project

# Create new Remotion project
npx create-video@latest --template blank my-video-project
cd my-video-project
npm install

This creates a standard Remotion project with:

  • src/Root.tsx — Composition registry
  • src/ — Component directory
  • remotion.config.ts — Rendering configuration
  • package.json — Dependencies

Core Concepts

Composition: A video definition with width, height, fps, and duration. Component: A React component that receives useCurrentFrame() and renders for that frame. Sequence: A timed sub-section within a composition. Spring: Physics-based animation for natural motion.

Example: Title Card

Claude should generate this component:

// src/TitleCard.tsx
import { AbsoluteFill, useCurrentFrame, useVideoConfig, spring, interpolate } from 'remotion';

export const TitleCard: React.FC<{ title: string; subtitle?: string }> = ({ title, subtitle }) => {
  const frame = useCurrentFrame();
  const { fps } = useVideoConfig();

  const titleScale = spring({ frame, fps, config: { damping: 12 } });
  const subtitleOpacity = interpolate(frame, [20, 40], [0, 1], { extrapolateRight: 'clamp' });

  return (
    <AbsoluteFill style={{ backgroundColor: '#0a0a0a', justifyContent: 'center', alignItems: 'center' }}>
      <h1 style={{
        color: 'white',
        fontSize: 80,
        fontFamily: 'Inter, sans-serif',
        transform: `scale(${titleScale})`,
      }}>
        {title}
      </h1>
      {subtitle && (
        <p style={{
          color: '#888',
          fontSize: 32,
          opacity: subtitleOpacity,
          marginTop: 20,
        }}>
          {subtitle}
        </p>
      )}
    </AbsoluteFill>
  );
};

Register in Root.tsx:

import { Composition } from 'remotion';
import { TitleCard } from './TitleCard';

export const RemotionRoot: React.FC = () => (
  <Composition
    id="TitleCard"
    component={TitleCard}
    durationInFrames={90}
    fps={30}
    width={1920}
    height={1080}
    defaultProps={{ title: "My Video", subtitle: "A subtitle" }}
  />
);

Render to Video

# Render a specific composition
npx remotion render src/index.ts TitleCard output.mp4 \
  --props='{"title":"Hello World","subtitle":"Made with claude-video"}' \
  --codec h264 --crf 18

# Render as transparent (for overlays)
npx remotion render src/index.ts TitleCard output.webm \
  --props='{"title":"Overlay Text"}' \
  --codec vp8 --image-format png

# Render specific frames (for thumbnails)
npx remotion still src/index.ts TitleCard thumbnail.png \
  --props='{"title":"Thumbnail"}' --frame 45

Common Patterns

Data-Driven Video (JSON input)

// Claude generates this based on user's data
const data = [
  { label: "Q1", value: 100 },
  { label: "Q2", value: 200 },
  { label: "Q3", value: 150 },
  { label: "Q4", value: 300 },
];

// Render with:
npx remotion render src/index.ts BarChart output.mp4 \
  --props='{"data":[{"label":"Q1","value":100},{"label":"Q2","value":200}]}'

Animated Text Sequence

import { Sequence } from 'remotion';

// Show text lines one by one
const lines = ["First line", "Second line", "Third line"];
return (
  <AbsoluteFill>
    {lines.map((line, i) => (
      <Sequence from={i * 30} durationInFrames={60} key={i}>
        <AnimatedLine text={line} />
      </Sequence>
    ))}
  </AbsoluteFill>
);

Branded Intro/Outro Template

Claude generates a reusable template with:

  • Logo animation (scale + fade in)
  • Title text with spring animation
  • Subtitle with delayed fade
  • Background gradient or solid color
  • Configurable via props (logo URL, colors, text)

Rendering Options

FlagPurposeExample
--codecOutput codech264, h265, vp8, vp9
--crfQuality (lower = better)18
--image-formatFrame formatjpeg, png (png for transparency)
--scaleResolution multiplier0.5 (half), 2 (double)
--every-nth-frameSkip frames (preview)2
--concurrencyParallel rendering threads4
--propsJSON props to composition'{"title":"Hello"}'

Workflow Integration

After Remotion renders a video, pipe it into other claude-video sub-skills: 1. Create title card with Remotion → concat with main video (edit sub-skill) 2. Create data viz with Remotion → add captions (caption sub-skill) 3. Create intro + outro → sandwich around edited content → export for platform

Limitations

  • Requires Node.js 18+ and Chrome Headless Shell
  • Rendering is slower than FFmpeg (screenshot per frame)
  • First render downloads Chrome Headless (~200MB)
  • Remotion licensing: free for individuals, paid for companies with 4+ employees
  • Not suitable for simple operations (use FFmpeg directly for those)

Reference

Load references/remotion.md for Remotion API patterns, component architecture, and rendering configuration.

Related skills

FAQ

When should I use Remotion instead of FFmpeg here?

Use Remotion for complex text animations, data-driven videos, and React component templates; use FFmpeg for transcoding, trimming, and simple overlays.

What does it output?

It renders compositions headlessly to MP4, transparent WebM, or still PNG frames.

Generative Mediaagentsautomation

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.