Developer tutorial
Generate short-form videos from JSON for Reels, Shorts and TikTok
A short-form automation should start with one reusable vertical project—not three separate editing workflows. This guide builds a 9:16 JSON payload, submits it to Zvid, and shows where templates and webhooks fit when you scale from one video to a recurring content pipeline.
Updated August 10, 2026 · 8 minute read
1. Start with the delivery format
Use a 1080 × 1920 canvas for a standard 9:16 vertical output. Keep the opening message readable without sound, reserve space near the edges for each channel’s interface, and make every visual change from data rather than duplicating the project. The same render can then be reviewed and published wherever your audience watches short-form video.
2. Describe the video as JSON
The smallest useful project defines its canvas, duration, frame rate, background, and visuals. This example follows the same payload shape used by the current render API:
{
"payload": {
"name": "short-form-product-update",
"width": 1080,
"height": 1920,
"duration": 12,
"frameRate": 30,
"backgroundColor": "#100c1d",
"visuals": [
{
"type": "TEXT",
"text": "Three ways to improve your workflow",
"x": 540,
"y": 760,
"anchor": "center-center",
"style": {
"fontSize": 72,
"color": "#ffffff",
"fontFamily": "Arial"
}
}
]
}
}Replace the headline from your content source before submission. For a richer production template, use variables for the hook, captions, media URLs, brand colors, and call to action. Arrays plus template logic are useful when the number of scenes changes between videos.
3. Submit the render from your backend
Send the object to POST https://api.zvid.io/api/render/api-key with your key in the x-api-key header. Keep API keys on the server, store the returned job ID, and treat rendering as asynchronous work. Your application can poll the job while prototyping, then use a signed webhook in production so the finished URL enters the next step automatically.
4. Turn the example into a repeatable workflow
- Choose one approved brand template and identify the fields that change per video.
- Normalize source data into those fields before it reaches the render request.
- Validate the JSON before submitting a paid render.
- Queue the render and store its job ID beside the source record.
- On completion, review the output and send it into your publishing or approval workflow.
When a campaign contains many rows, move from individual submissions to the bulk-rendering endpoint. Keep one record per requested output so failures can be retried without duplicating successful videos.
5. Use one intent owner for each next step
Continue with the resource that matches the work you are doing. The social use-case page covers campaign planning, the video API page covers the product surface, and the editor lets you inspect JSON visually.