Files
clawbot/skills/remotion-prompt-video/references/video-script-schema.md
T

3.3 KiB

Video Script JSON Schema

The LLM generates a VideoScript JSON object that Remotion renders into video. Use this reference when customizing the LLM prompt or manually authoring scripts.

Top-Level Fields

Field Type Description
title string Video title
description string Brief description
fps number Frames per second (always 30)
width number Video width in pixels
height number Video height in pixels
totalDurationInSeconds number Sum of all scene durations
scenes Scene[] Array of scene objects

Scene Object

Field Type Required Description
id number yes Sequential scene ID (1-based)
title string yes Scene title (shown as small label)
text string yes Main text on screen (max ~15 words)
subtitle string no Smaller text below main text
durationInSeconds number yes Scene duration (2-5 seconds)
style SceneStyle yes Visual styling
animation SceneAnimation yes Entrance/exit animations
backgroundGradient Gradient no Gradient background (preferred over solid)
icon string no Emoji icon displayed above text

SceneStyle Object

Field Type Values
backgroundColor string Hex color (e.g., #1a1a2e)
textColor string Hex color with good contrast
fontSize number Typically 48-72
fontFamily string Arial, Georgia, Courier New, Verdana, Impact, Trebuchet MS
textAlign string left, center, right

SceneAnimation Object

Field Values
entrance fadeIn, slideUp, slideLeft, slideRight, zoomIn, typewriter, none
exit fadeOut, slideDown, slideLeft, slideRight, zoomOut, none

Gradient Object

Field Values
from Hex color
to Hex color
direction to right, to bottom, to bottom right, to top right

Resolution Presets

Aspect Ratio Width Height
16:9 1920 1080
9:16 1080 1920
1:1 1080 1080

Example Script

{
  "title": "My Video",
  "description": "A sample video",
  "fps": 30,
  "width": 1920,
  "height": 1080,
  "totalDurationInSeconds": 6,
  "scenes": [
    {
      "id": 1,
      "title": "Intro",
      "text": "Welcome",
      "subtitle": "Let's begin",
      "durationInSeconds": 3,
      "style": {
        "backgroundColor": "#1a1a2e",
        "textColor": "#ffffff",
        "fontSize": 72,
        "fontFamily": "Arial",
        "textAlign": "center"
      },
      "animation": { "entrance": "zoomIn", "exit": "fadeOut" },
      "backgroundGradient": { "from": "#0f0c29", "to": "#302b63", "direction": "to bottom right" },
      "icon": "🎬"
    },
    {
      "id": 2,
      "title": "Outro",
      "text": "Thanks for watching",
      "durationInSeconds": 3,
      "style": {
        "backgroundColor": "#302b63",
        "textColor": "#ffffff",
        "fontSize": 64,
        "fontFamily": "Arial",
        "textAlign": "center"
      },
      "animation": { "entrance": "fadeIn", "exit": "fadeOut" },
      "backgroundGradient": { "from": "#302b63", "to": "#24243e", "direction": "to bottom" },
      "icon": "🚀"
    }
  ]
}