How to generate AI videos automatically using Claude Code

2026-03-12

+Antigravity

If you use Claude Code for development, you can use it to create videos with Program too. No editor, no timeline dragging, no manual exports. Give Claude Code the right context and it handles everything from authentication to rendering.

What you need

Give Claude Code the context

Add the following to your project's CLAUDE.md file. This gives Claude Code everything it needs to authenticate you, create projects, and build videos on your behalf:

CLAUDE.mdAdd this to your project's CLAUDE.md
You have access to Program (program.video), an AI video composition platform.
Use the CLI commands below to authenticate the user, manage projects, and build
video compositions.

## Getting Started

1. Run `npx @program-video/cli auth login` to authenticate (opens browser)
2. Run `npx @program-video/cli project create --title "Title"` to create a project
3. Use the tools below to build the video composition

## Commands

You can also copy this context by clicking the "Claude Code" button on program.video. Once this is in your CLAUDE.md, Claude Code will automatically use these tools when you ask it to create videos.

Build a video with natural language

With the context in place, just ask Claude Code what you want:

You: Create a 30-second explainer video about our new API. Start with a title card that says "Introducing the Acme API", then show three feature slides with bullet points, and end with a call to action.

Claude Code will:

  • Run auth login to authenticate you (if not already logged in)
  • Create a new project with an appropriate title
  • Call readComposition to check the current state
  • Use addScene to create each scene with React/Remotion code
  • Optionally call generateSpeech to add voiceover
  • Chain scenes together in sequence
  • Each scene is a React component rendered by Remotion. Claude Code writes the JSX, styles, and animation logic for you.

    What a scene looks like

    Under the hood, each scene Claude Code creates is a self-contained React component:

    import { AbsoluteFill } from "remotion";
    
    export default function TitleCard() {
      return (
        <AbsoluteFill
          style={{
            backgroundColor: "#0a0a0a",
            display: "flex",
            alignItems: "center",
            justifyContent: "center",
          }}
        >
          <h1 style={{ color: "white", fontSize: 72, fontWeight: 300 }}>
            Introducing the Acme API
          </h1>
        </AbsoluteFill>
      );
    }

    You never have to write this yourself. Claude Code generates it based on your description and passes it to the CLI.

    Adding voiceover

    Ask Claude Code to add narration and it will call generateSpeech automatically:

    You: Add a voiceover to the first scene that says "Welcome to the Acme API. The fastest way to build integrations."

    Claude Code picks a voice, generates the audio, and attaches it to the scene.

    Tips for better results

    • Be specific about timing. Tell Claude Code how long each scene should be and what the total video length should be.
    • Describe visual style upfront. Say "dark background, white text, minimal" rather than letting it guess.
    • Iterate in conversation. Ask Claude Code to read the composition, then adjust individual scenes rather than rebuilding everything.
    • Use the desktop app for preview. While you can build entirely from the CLI, the Program desktop app gives you a live preview as scenes are added.

    Rendering

    Once your composition is ready, open the Program desktop app or web editor to preview and render. The CLI handles composition, the app handles rendering and export.

    On the desktop app, rendering happens locally on your hardware. No cloud queue, no upload wait.

    What comes next

    This workflow works best for content that follows a repeatable structure: explainers, changelogs, social clips, product demos. Once you have a template that works, Claude Code can produce variations quickly.

    For more on the CLI and available tools, see the CLI documentation.