Templates
Templates let you save a movie JSON in your JSON2Video account and reuse it later — replacing only the parts that change per render (text, image URLs, prices, …). They are the fastest way to scale automated video generation: design once, render thousands.
Templates live at json2video.com/dashboard/templates.
TODO: capture screenshot of the templates list and the template editor.
When to use a template vs inline JSON
| Use case | Recommended |
|---|---|
| One-off render | Inline JSON |
| Same video structure, varying content per render | Template |
| Same video used by your team across multiple workflows (Make.com, internal app, Slack bot) | Template |
| Templates shared with other JSON2Video users | Template (import by ID) |
| Truly different videos every time (different scene counts, element types) | Inline JSON |
Creating a template
- Open json2video.com/dashboard/templates.
- Click Add new template. The template editor opens.
- Give the template a name and an optional set of tags (categories for filtering in the list view).
- Build the JSON in one of two modes:
- Visual — drag-and-drop, same UI as the visual editor.
- JSON — raw editor with syntax highlighting and validation.
- Use
{{variable_name}}syntax in any string field to mark replaceable values. - Click Save.
The new template appears in the list with a unique ID. Click the row menu → Copy template ID to grab it.
The template ID
Every template has a stable ID like abcd1234efgh. You'll reference this ID from:
- Your own code via the API.
- Make.com's Create a Movie from my Template module.
- n8n's HTTP Request node pointed at the template endpoint.
- Anyone you share the template with — they can import it into their own account.
Rendering from a template
The API endpoint to render a template is POST /v2/movies, with the template ID and variables:
curl -X POST https://api.json2video.com/v2/movies \
-H "x-api-key: YOUR_API_KEY" \
-H "content-type: application/json" \
-d '{
"template": "abcd1234efgh",
"variables": {
"name": "Ana",
"price": "$49"
}
}'
The engine loads the saved template, substitutes the variables, and renders. The response shape is the same as a regular render — you get a project ID and poll for status.
You can also override individual properties at render time by passing a movie object alongside template; the override is deep-merged into the saved template.
Editing JSON vs Visual
The visual editor is the same one used for one-off videos — see Visual editor for the full walkthrough. The JSON editor offers:
- Syntax highlighting and JSON validation.
- Direct access to features the visual editor doesn't expose (e.g.
iterate,if, complex expressions). - Side-by-side preview when you click Preview.
Switch modes at any time using the toggle in the toolbar. The two views share state — changes made in one show up in the other.
Naming and tagging
Good names and tags pay off as your template library grows. Conventions we've seen work well:
- By workflow:
intro-card,social-reel-vertical,product-launch-3min. - By customer / segment:
acme-monthly-update,enterprise-quarterly-summary. - By status:
prod-,draft-,experiment-.
Tags filter the list at the top of the templates page. Click a tag to scope the list.
Sharing a template
Two ways to share:
- Send the template ID to anyone — they can import it into their account from the Import template button on the templates page.
- Send the JSON — copy the JSON view to a Gist/file. The recipient pastes it into a new template.
There is currently no per-template ACL — shared templates are independent copies in each account, not live-linked.
Versions and rollback
Each save creates a new version. The dashboard keeps the last N versions; you can roll back to any prior version from the template's history menu.
For mission-critical production templates, treat the template like code: keep a copy of the JSON in your own git repository as a backup.