Add .gitignore to exclude all node packages and lock files
This commit is contained in:
@@ -0,0 +1,110 @@
|
||||
# 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
|
||||
|
||||
```json
|
||||
{
|
||||
"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": "🚀"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
Reference in New Issue
Block a user