Payload and output preview
Payload example
{
"version": "v1",
"output": {
"width": 1080,
"height": 1920,
"fps": 30
},
"assets": [
{ "id": "top-video", "type": "video", "url": "https://pub-2ad5592bc4ca44abb609acfc0b7c5ceb.r2.dev/reel-forge-website-assets/porsche%20split%201%20vid.mp4" },
{ "id": "bottom-video", "type": "video", "url": "https://pub-2ad5592bc4ca44abb609acfc0b7c5ceb.r2.dev/reel-forge-website-assets/porsche%20split%202%20vid.mp4" }
],
"composition": {
"timeline": [
{
"id": "top-layer",
"type": "video",
"asset_id": "top-video",
"time": { "start_seconds": 0, "duration_seconds": 6 },
"layout": { "x": "0%", "y": "0%", "width": "100%", "height": "50%", "fit": "cover" }
},
{
"id": "bottom-layer",
"type": "video",
"asset_id": "bottom-video",
"time": { "start_seconds": 0, "duration_seconds": 6 },
"layout": { "x": "0%", "y": "50%", "width": "100%", "height": "50%", "fit": "cover" },
"media_settings": { "volume": 0 }
}
]
}
}Output preview
Top/bottom split-screen with two synchronized Porsche clips. Audio from top layer only.
Split Screen
Split-screen is user-authored layout math using two visual layers with explicit positions/sizes. Place both layers in the same time window so they play simultaneously.
Input assets
This example uses two Porsche clips in a top/bottom split:
- Top video: Porsche split 1
- Bottom video: Porsche split 2
Why this works
When building a split-screen layout:
- Shared timing: Both layers use the same
start_secondsandduration_seconds, so they play in sync. - Layout math: Top half uses
y: "0%",height: "50%"; bottom half usesy: "50%",height: "50%". Each layer fills its region withfit: "cover". - Audio control: Use
media_settings.volume: 0on the bottom layer so only the top video's audio is heard. Omitmedia_settingson the top layer to keep its default volume.