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