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

Use public templates

JSON2Video ships a public library of ready-made templates. Each template is a reusable Movie JSON blueprint with {{variable}} placeholders, so you only supply the values that change.

There are two ways to work with a public template from the API:

  • Render it directly — pass your own values to its variables and get a one-off video. Nothing is saved to your account. See Guide 1.
  • Duplicate it into your account — get your own editable copy that you can customize and manage. See Guide 2.

Both start the same way: browse the library and pick a template ID.

Every request needs the x-api-key header. Reading templates and rendering need at least the render role; duplicating writes to your account and needs editor or above. Get a key from the dashboard.

Browse the library and pick a template

Call GET /v2/templates/library to list the public gallery. Add ?tags=intro,social to filter.

curl -X GET "https://api.json2video.com/v2/templates/library" \
  -H "x-api-key: YOUR_API_KEY"

Response (trimmed):

{
  "success": true,
  "count": 24,
  "templates": [
    {
      "id": "LerKrmBfiqaIgBuacLWn",
      "name": "Real estate listing",
      "tags": ["real-estate", "published"],
      "width": 1080,
      "height": 1920,
      "aspect_ratio": 0.56,
      "video_url": "https://json2video-cdn2.s3.amazonaws.com/templates/LerKrmBfiqaIgBuacLWn/example.mp4",
      "thumbnail_url": "https://json2video-cdn2.s3.amazonaws.com/templates/LerKrmBfiqaIgBuacLWn/thumbnail.jpg"
    }
  ]
}

Preview candidates with video_url / thumbnail_url, then copy the id of the one you want (here LerKrmBfiqaIgBuacLWn). You'll use it in both guides below.

Guide 1 — Render a video from a public template

You don't need to own a template to render from it. Pass its id plus your values, and JSON2Video renders the video. Nothing is stored in your account.

1. Discover the variables it exposes

Read the template by ID with scopes=variables to see the variables it declares and their default values:

curl -X GET "https://api.json2video.com/v2/templates?id=LerKrmBfiqaIgBuacLWn&scopes=variables" \
  -H "x-api-key: YOUR_API_KEY"
{
  "success": true,
  "template": {
    "id": "LerKrmBfiqaIgBuacLWn",
    "name": "Real estate listing",
    "owner": false,
    "variables": {
      "address": "123 Oak Street",
      "price": "$849,000",
      "bedrooms": "4",
      "agent_name": "Jordan Lee"
    }
  }
}

You can read any public template this way even though you don't own it — owner simply comes back false. If you're building a form or need types, request GET /v2/templates?id=...&format=jsonschema to get a JSON Schema of the variables instead.

2. Render, overriding the variables you want

Submit a movie that references the template and supplies your values. Any variable you omit keeps the template's default.

curl -X POST "https://api.json2video.com/v2/movies" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "content-type: application/json" \
  -d '{
    "template": "LerKrmBfiqaIgBuacLWn",
    "variables": {
      "address": "47 Cedar Avenue, Seattle, WA",
      "price": "$1,200,000"
    }
  }'

Response:

{
  "success": true,
  "project": "JkGxEoPRF9EgRb32",
  "timestamp": "2026-07-08T10:49:52.924Z"
}

You can also override resolution, quality or exports at the top level of the body alongside template and variables. Save the project value to check status.

3. Poll until it's done

Poll GET /v2/movies?project=... until movie.status is done (or error / timeout). When it's done, movie.url holds the rendered video.

curl -X GET "https://api.json2video.com/v2/movies?project=JkGxEoPRF9EgRb32" \
  -H "x-api-key: YOUR_API_KEY"

Guide 2 — Duplicate a public template into your account

Rendering directly is ideal for one-off videos. If instead you want to customize the template itself — edit its scenes, change the default values, or manage it from the dashboard — duplicate it into your account first. You get a brand-new template ID that you own.

1. Duplicate it

Call POST /v2/templates with action=duplicate and the public template's id. Optionally set a name and pre-fill some variables in the body. This needs the editor role or above.

curl -X POST "https://api.json2video.com/v2/templates?id=LerKrmBfiqaIgBuacLWn&action=duplicate" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "content-type: application/json" \
  -d '{
    "name": "My real estate listing",
    "variables": { "agent_name": "Jordan Lee" }
  }'

Response — note the new templateId, which now belongs to your account:

{
  "success": true,
  "templateId": "xyz987uvw654rst321qp",
  "name": "My real estate listing",
  "timestamp": "2026-07-08T10:49:52.924Z"
}

2. Use your copy

The duplicate is a fully independent template you own — later changes to the public original don't affect it. With your new ID you can:

Which approach should I use?

Render directly (Guide 1) Duplicate first (Guide 2)
Quick, one-off videos You want to customize the template
Nothing saved to your account Editable copy you own
Needs the render role Needs the editor role

See also