Archived docs Get your API Key
Get started
Tutorials
Guides
Reference
Help for AI agents
🤖 AI Assistant

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

  1. Open json2video.com/dashboard/templates.
  2. Click Add new template. The template editor opens.
  3. Give the template a name and an optional set of tags (categories for filtering in the list view).
  4. 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.
  5. Use {{variable_name}} syntax in any string field to mark replaceable values.
  6. 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:

  1. Send the template ID to anyone — they can import it into their account from the Import template button on the templates page.
  2. 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.

See also