create_video_config
Generate JSON configuration for video creation with layered clips, transitions, and audio options to use with Jsoncut API.
Instructions
Create a JSON configuration for video generation based on jsoncut documentation.
Returns a complete configuration object that can be used with the validate_config tool or submitted directly to the jsoncut API.
WORKFLOW:
First get the schema (read resource schema://video or call get_video_schema) to understand all available options
Create the configuration with this tool
Call validate_config to verify the configuration (if user provided media file paths)
Video Structure:
Built using clips (segments) that play sequentially
Each clip contains layers (rendered bottom to top)
Supports transitions between clips
Comprehensive audio system with multiple options
Layer Types:
video: Display video files with timing control, Ken Burns effects, and enhanced positioning
image: Static images with positioning and Ken Burns effects
image-overlay: Images positioned over other content with timing
title: Large headline text with animation styles (fade-in, word-by-word, letter-by-letter) and enhanced positioning
subtitle: Smaller text for captions
news-title: Breaking news style with colored backgrounds
title-background: Titles with full-screen backgrounds
slide-in-text: Animated text that slides in
audio: Audio tracks tied to clips (requires keepSourceAudio: true)
detached-audio: Audio with clip-relative timing
fill-color: Solid color backgrounds
linear-gradient: Linear gradient backgrounds
radial-gradient: Radial gradient backgrounds
rainbow-colors: Animated rainbow effects
pause: Black screen pauses
Audio Options:
audioFilePath + loopAudio: Background music throughout video
audioTracks: Multiple audio tracks with independent timing
audioNorm: Audio normalization with ducking
keepSourceAudio: Keep audio from video layers
Audio layers within clips
Video & title layer Positioning:
Position objects: { x: 0-1, y: 0-1, originX: left|center|right, originY: top|center|bottom }
Position strings: center, top, bottom, top-left, top-right, center-left, center-right, bottom-left, bottom-right
Video layers support both position objects and strings
Title layers support enhanced positioning with position objects
Title Layer Animation Styles:
fade-in: Smooth fade-in effect (default)
word-by-word: Words appear sequentially
letter-by-letter: Letters appear sequentially
Zoom effects automatically disabled for word-by-word and letter-by-letter styles
Transitions: 75+ transition effects including fade, wipe, circle, cube, glitch, zoom, etc.
File paths should be placeholders like "/input/userXXX/filename.ext".
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| width | No | Width in pixels (default: 1280) | |
| height | No | Height in pixels (default: 720) | |
| fps | No | Frames per second (24, 25, 30, 50, 60, 120) | |
| format | No | Output format: mp4 or mov | mp4 |
| fast | No | Enable fast processing mode (for preview) | |
| audioFilePath | No | Path to background audio file (plays throughout video) | |
| loopAudio | No | Loop background audio if shorter than video | |
| outputVolume | No | Final output volume (0-1) | |
| keepSourceAudio | No | Keep audio from video layers (required for audio layers) | |
| clipsAudioVolume | No | Volume for audio from clips relative to tracks (0-1) | |
| audioTracks | No | Multiple audio tracks with independent timing | |
| audioNorm | No | Audio normalization with ducking | |
| defaults | No | Default properties for clips and layers | |
| clips | Yes | Array of clip objects. Each clip has layers and optional duration/transition. |