Starter kits: one row, one video
A starter kit is a ready-made example: an n8n workflow plus sample data, one row per video. Run the example as it is to see your first videos in a few minutes, then put your own data in a Google Sheet.
The sample data is public and read-only, so the first run needs nothing but your API key.
1. Pick an example
| Example | What one row makes | Columns |
|---|---|---|
| Narrated short | A vertical 1080x1920 video: three images, each with a voice-over line, and the subtitles burned in | text_1, image_1, text_2, image_2, text_3, image_3, voice |
| Slideshow with music | A square 1080x1080 video: a title over five photos, with a music track | title, image_1 โฆ image_5, music_url |
| Subtitles on your video | Your video with its speech transcribed and burned in as subtitles | video_url, subtitle_style |
The sample data has 3 rows, so one run renders 3 videos. The sample videos are about 15 to 18 seconds long, and a render costs 1 credit per second of video (the voice-over and the subtitles add nothing), so a run uses about 50 of the 600 credits of a free account. See credit consumption.
2. Download it
Each example comes in two versions of the same workflow:
- No Google login: it downloads the sample rows as a CSV file from assets.json2video.com, so it needs no Google credential. Start with this one, on any n8n.
- Google Sheets: it reads the sample Google Sheet with n8n's Google Sheets node. On n8n Cloud, connecting it is one click on Sign in with Google. On a self-hosted n8n, it needs your own Google Cloud OAuth credential.
| Example | n8n, no Google login | n8n, Google Sheets | Sample sheet |
|---|---|---|---|
| Narrated short | Workflow | Workflow | Open |
| Slideshow with music | Workflow | Workflow | Open |
| Subtitles on your video | Workflow | Workflow | Open |
3. Run it in n8n
This video uses the Quick start in the dashboard; the steps are the same.
- Add the JSON2Video node to your n8n if it is not there yet: see n8n end-to-end.
- In n8n, create a new workflow, open the โฏ menu in the upper-right corner and choose Import from File. Pick the file you downloaded. The no-login workflow is named JSON2Video example: โฆ.
- Open the Render the video node and select your JSON2Video credential, or create one with your API key.
- Google Sheets version only: open the Read the sample sheet node and select a Google Sheets credential.
- Click Execute workflow. The Video URL node lists the link of each video.
The Render the video node renders the rows one after the other and waits for each video, so a run takes a few minutes.
4. Use your own data
- Open the sample sheet and choose File โ Make a copy. The copy is yours and you can edit it.
- Replace the rows with your own. Keep the header row and the column names: each column fills the template variable of the same name. One row = one video.
- Point the workflow to your copy:
- No Google login: share your copy as Anyone with the link: Viewer, then set the URL of the Download the sheet node to
https://docs.google.com/spreadsheets/d/YOUR_SHEET_ID/export?format=csv&gid=0. The sheet ID is the long part of the sheet URL between/d/and/edit. Any other public CSV file with the same columns works too. - Google Sheets: in Read the sample sheet, paste the URL of your copy.
- No Google login: share your copy as Anyone with the link: Viewer, then set the URL of the Download the sheet node to
- Run it again.
Every row is one render and uses credits, so delete the rows you do not want to render.
What goes in the cells
- Images, videos and music: public, direct links to the file (
.jpg,.png,.mp4,.mp3). A Google Drive or Dropbox page is not the file itself, and the render fails with a download error. text_1totext_3(narrated short): the line the voice reads in that scene. An empty text skips the scene, so a row can make a video with one, two or three scenes.voice(narrated short): an Azure voice name, such asen-US-NovaTurboMultilingualNeuraloren-US-EchoTurboMultilingualNeural. Leave it empty for the default voice. See the voice element.subtitle_style(subtitles on your video):classic,classic-progressive,classic-one-word,boxed-lineorboxed-word. See the subtitles element.video_url(subtitles on your video): a video with speech. The output is 1920x1080 and your video is fitted inside it. For a vertical video, set Resolution to Instagram Story (1080x1920) in the n8n node's Additional Options.
On the free plan, videos can be up to 60 seconds long and carry a small watermark. See plans.
5. Use the same templates from code
The examples render ready-made templates that any account can use, so the same videos can be made with one API call. For example, the slideshow with your own title:
curl -X POST https://api.json2video.com/v2/movies \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"template": "1dLKdt8n43JQgZf2ZB0F", "variables": {"title": "Hello from my terminal"}}'
Variables you do not send keep the template's sample values. The other examples' templates are 2QzqAMLjKkS7dpgUupmI (narrated short) and m4E0zPNow0x718ogLm01 (subtitles on your video). The templates are named Example: Narrated short, Example: Slideshow with music and Example: Subtitles on your video. See Use public templates.
6. If a render fails
| Message | What to do |
|---|---|
Source URL is required for image element in Scene #N, Element #M |
A media cell is empty, or a column is not mapped. Fill the cell or check the column name. |
| A download error | The URL is not a public, direct link to the file. Open it in a private browser window: it must show the file, not a page. |
โฆ is longer than your plan allowance |
The free plan makes videos up to 60 seconds long. Use a shorter video or text, or see the plans. |
| Not enough credits | Each row uses about 1 credit per second of video. Buy credits or upgrade your plan. |
More messages and their fixes are in errors.