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

Make.com end-to-end

Make.com (formerly Integromat) is a visual automation platform. It is the most common way to integrate JSON2Video with other tools (Google Sheets, Airtable, Slack, YouTube, …) without writing code. This guide walks through a complete end-to-end scenario, from creating a connection to publishing a finished video.

TODO: capture screenshot of the Make.com scenario canvas with the JSON2Video module placed.

1. Prerequisites

  • A Make.com account (the free tier is enough to start).
  • A JSON2Video account with at least one API key. Sign in at json2video.com/dashboard.
  • A clear idea of what the video should look like — at minimum, a Quickstart-style JSON.

2. Create a secondary API key

Open json2video.com/dashboard/apikeys and create a secondary API key specifically for Make.com. Best-practice settings:

  • Role: Render if Make.com only needs to render videos, Editor if it also creates / updates templates.
  • Expiration: optional, but recommended for production keys.

Keep this key separate from your primary key. If the Make.com side is ever compromised, you can revoke just this key without rotating everything else.

3. Create a JSON2Video Connection in Make.com

  1. In a Make.com scenario, add any JSON2Video module. All modules require a Connection.
  2. When prompted, click Add to create a new Connection.
  3. Give it a name (e.g. "JSON2Video — production").
  4. Paste the secondary API key from step 2.
  5. Save. The Connection is now available across every scenario in your Make.com workspace.

4. Pick the right module

JSON2Video's Make.com app exposes these modules:

Module Use it for
Create a Movie from JSON Full control: paste any movie JSON, render it.
Create a Movie from my Template Reuse a template stored in your JSON2Video account. Replace variables only.
Create a Movie from a Template ID Same as above, but for templates you've imported from someone else.
Create Slideshow with Audio One-click slideshow from an array of image URLs + a music track.
Add Automatic Subtitles to a Video Generate burned-in subtitles from an audio source.
Concat a List of Videos with Background Audio Stitch multiple clips into one with shared music.
Toolbox Sub-module: voiceover-to-image, merge audio + video, trim, quote card, social reel.
Wait for a Movie to Render Pause the scenario until the movie finishes.
Check a Movie Status Poll once for status; useful inside If branches.

For most workflows, the pattern is:

  1. Trigger (e.g. Google Sheets — Watch new rows).
  2. Create a Movie module (any of the create flavours).
  3. Wait for a Movie to Render module.
  4. Downstream action (upload to YouTube, post to Slack, email the link, store the URL in a CRM, …).

5. Submit a render

The simplest scenario: a new row in a Google Sheet triggers a personalised video.

  1. Add a Google Sheets → Watch new rows trigger pointed at your sheet.

  2. Add the JSON2Video — Create a Movie from JSON module.

  3. Map the input JSON to a body that uses Google Sheets columns as Make.com variables. Example:

    {
      "comment": "Personalised intro for {{1.name}}",
      "resolution": "full-hd",
      "scenes": [
        {
          "elements": [
            { "type": "text", "text": "Hello {{1.name}}!", "duration": 5, "style": "002" }
          ]
        }
      ]
    }
    

    {{1.name}} is the Make.com variable from the trigger (module #1, column name). Make.com replaces it at runtime.

  4. Save and run once with test data.

6. Wait for the render to finish

Drag in the Wait for a Movie to Render module after the create-movie step. Map its Project ID input to the project field returned by the create step.

This module pauses the scenario until the render is done (or error). On success, it returns the full movie object including url, thumbnail, and duration.

For long-running renders (60s+), consider switching to a webhook-based pattern: have JSON2Video call back into Make.com using a Webhooks → Custom webhook trigger. See Webhooks (production) for the receiver side.

7. Use the rendered video downstream

Once the Wait module returns, the rest of the scenario can act on the video. Typical patterns:

  • Upload to YouTubeYouTube → Upload a video, map the URL.
  • Post to SlackSlack → Create a message, embed the URL.
  • Update the original sheetGoogle Sheets → Update a row, store the URL in a "Video URL" column.
  • Save to Google DriveGoogle Drive → Upload a file from URL.

8. Common pitfalls

"Source URL is required for video element in Scene X, Element Y"

You're using a Make.com variable for an src that didn't resolve. Check the variable mapping — if the upstream column is empty, the value reaches JSON2Video as an empty string. Add a filter in Make.com to skip rows with missing values, or set a fallback.

Movie duration cannot be zero

The total movie length must be at least 1 second. Causes:

  • An image element with no duration and no other timed element in the scene.
  • An empty scenes array.

Fix by adding "duration": N on the scene or on an image element.

"Source URL is not a [video/audio/image] file"

The codec or container isn't supported. Allowed formats:

  • Video: h264, hevc, mpeg4, wmv3, vp8, vp9, mpeg2video, av1, theora
  • Audio: aac, flac, mp3, opus, vorbis, plus video containers with audio
  • Image: png, jpg, jpeg, gif, mjpeg, bmp, tiff, webp

Make.com variable serialization

Make.com sends string values. If you map a variable into a JSON property that expects a number or a boolean, wrap it appropriately in Make.com (use the parseNumber() and parseJSON() functions). For nested JSON inputs, use Make.com's parseJSON() to convert a stringified payload.

API key issues

Double-check the Connection's API key is the secondary key (not your primary). Re-paste from the dashboard if in doubt — copy/paste sometimes drops trailing characters.

Webhook receiver

If you set up a webhook destination in your movie JSON, the receiver URL must be publicly hosted over HTTPS with a valid TLS certificate. Make.com's own Custom webhook trigger works as a receiver.

Rate limiting

Make.com scenarios that render large batches can hit the JSON2Video rate limit. Add a Make.com Sleep or Iterator with a delay between renders, or upgrade your JSON2Video plan.

Debugging tips

  • Execution history: Make.com keeps a per-run log of every module's input and output. Inspect it to see the exact JSON sent to JSON2Video and the response received.
  • Test with the API directly: copy the exact JSON Make.com is sending and POST it with curl to confirm whether the issue is in the JSON or in the Make.com mapping.
  • Sub-module errors: when Wait for a Movie to Render returns an error, the message field on its output shows the JSON2Video error message verbatim.
  • Reference the errors catalog for known error messages.

See also