How to integrate JSON2Video with n8n for automated video creation

Creating personalized videos at scale used to be something only big enterprises with large budgets could pull off. But today, with tools like JSON2Video and n8n, this is no longer the case. Whether you're running marketing campaigns, generating video summaries, or building product demo videos, the combination of n8n and JSON2Video makes it surprisingly easy to automate the entire video creation process.

In this guide, we’ll walk you through how to set up an n8n JSON2Video integration, so you can auto-generate videos from structured data — all without writing a single line of code.


What Is JSON2Video?

JSON2Video is a platform that lets you create dynamic, data-driven videos by sending it simple JSON requests. It's API-first, which makes it a great match for workflow automation tools like n8n.

You can define a video template — for example, featuring product name, price, and description fields — and then generate a unique video each time new data is passed. Think of it like canva-for-APIs.


Why Use JSON2Video with n8n?

Using n8n with JSON2Video allows you to automate steps that usually take hours:

  • Pull data from forms, spreadsheets, or CRMs
  • Trigger video creation when new data is added
  • Store or share rendered videos automatically
  • Scale video production for marketing, support, or content

If you're already managing automations in n8n, adding video creation to your stack just takes things to the next level.


Prerequisites

Before you start, make sure you have the following ready:

  • An active n8n instance (cloud or self-hosted)
  • A JSON2Video account and access token
  • At least one video template in your JSON2Video dashboard
  • Basic JSON editing skills

For help setting up n8n, check out the self-hosted n8n setup guide or how to install n8n on Windows if you're running locally.


Step-by-Step: n8n JSON2Video Integration Workflow

Let’s walk through creating an automated workflow that triggers when a new Google Sheet row is added and uses the data to generate a personalized video.

1. Trigger: Google Sheets New Row

First, use the Google Sheets node as a trigger.

  • Node Type: Google Sheets
  • Action: "Watch for new rows"
  • Auth: Connect your Google account
  • Sheet Settings: Choose the spreadsheet and worksheet

For example, your sheet might have columns like: Name, Product, Price, VideoText.

Tip: You can also use Webhooks, Airtable, or CSV upload as triggers depending on your use case.

2. Transform Data (Optional)

Use the “Set” node or a Code node to customize or format the data if needed — useful when inserting variables into video template fields with special formatting (e.g., currency or uppercase names).

Example transformation:

{
  "VideoText": "Check out {{Product}} for only ${{Price}}!"
}

3. HTTP Request to JSON2Video API

Add an HTTP Request node to integrate with the JSON2Video API.

  • Method: POST
  • URL: https://api.json2video.com/v1/videos
  • Auth: Bearer Token (your JSON2Video API key)
  • Headers:
{
  "Authorization": "Bearer YOUR_API_KEY",
  "Content-Type": "application/json"
}
  • Body (raw JSON):
{
  "template_id": "your-template-id",
  "output": {
    "format": "mp4",
    "resolution": "1080p"
  },
  "data": {
    "name": "={{$json['Name']}}",
    "product": "={{$json['Product']}}",
    "price": "={{$json['Price']}}",
    "video_text": "={{$json['VideoText']}}"
  }
}

Be sure to replace template_id with your actual JSON2Video template ID.

Once triggered, this node will send the structured data to JSON2Video, and the platform will queue up your new video render.

4. Wait and Poll for Render Completion

Use a pair of Wait + HTTP Request nodes to periodically check the status of the video render.

Poll endpoint:

GET https://api.json2video.com/v1/videos/{{video_id}}

You can use {{$node["HTTP Request"].json["id"]}} to reference the video ID from the step before.

When status becomes completed, proceed to the next step.

Once the video is ready, the JSON2Video API will return a video_url.

You can send that video to:

  • Slack, email, or Discord
  • Upload it to Google Drive or Dropbox
  • Send it back via API to your database or CMS

Use n8n built-in nodes like Email, Slack, or Google Drive connectors for convenient delivery.


Mini Use Case Examples

Here are a few creative ways to use the n8n JSON2Video integration:

Use Case Data Source Delivery
Personalized sales video HubSpot CRM Slack DM
Product highlight clips Google Sheets YouTube upload
Weekly social update Notion Database Dropbox folder
Event attendee intros Typeform response Email
Team onboarding videos Airtable Google Drive

These examples show just how flexible and scalable your video automation can become with this setup.


Tips for Smooth Integrations

Use Retry Logic for Video Status Checks

Not all videos render instantly. Consider using a loop or delay node to poll render status every 30–60 seconds. You can also look into error handling strategies in n8n to help recover gracefully from failures.

Template Previewing

Before coding your workflow, manually test video generation with static data in the JSON2Video dashboard. It helps ensure your variable names and formatting are correct.

Run Locally to Save API Credits

If you're testing extensively, consider setting up and running workflows locally. Check out the guide on running n8n locally to prevent burning through API tokens.


FAQ

How do I find my JSON2Video template ID?

Log into your JSON2Video dashboard, click on the template you want to use, and the template ID will be in the URL or settings tab.

Can I send video outputs to multiple platforms in the same flow?

Absolutely. Once the video is ready and you have the video_url, you can send it to multiple endpoints using nodes like Slack, Email, Google Drive, etc., all within the same n8n workflow.

What happens if the video render fails?

JSON2Video will return a response with status: failed. In n8n, you can catch this with a conditional (IF) node and trigger an error alert (e.g., send yourself an email on failure).

How long does JSON2Video take to render each video?

Render times depend on complexity and duration but typically range from 10 to 60 seconds. For longer or HD videos, use wait/delay loops effectively within n8n.

Is this setup scalable?

Yes. Combine n8n’s queuing, parallel execution mode, and JSON2Video’s API to handle hundreds or thousands of videos a day.


With the n8n JSON2Video integration, automating personalized video workflows isn't just possible — it’s practical and scalable. Whether you're part of a lean startup or a growing enterprise, unlocking video production through automation can transform how you engage your audience.

Want to get started? Launch your first video automation flow today with n8n’s free version and JSON2Video.

Comments
Join the Discussion and Share Your Opinion
Add a Comment

Leave a Reply

Your email address will not be published. Required fields are marked *