{
    "timeline": {
        "soundtrack": {
            "src": "https://feeds.soundcloud.com/stream/1029352582-unminus-neuron-parking.mp3",
            "effect": "fadeOut"
        },
        "fonts": [
            {
                "src": "https://templates.shotstack.io/basic/asset/font/barlow-extrabold.ttf"
            },
            {
                "src": "https://templates.shotstack.io/basic/asset/font/barlow-regular.ttf"
            }
        ],
        "background": "#000000",
        "tracks": [
            {
                "clips": [
                    {
                        "asset": {
                            "type": "image",
                            "src": "https://shotstack-assets.s3.ap-southeast-2.amazonaws.com/logos/contemporary-color-white.png"
                        },
                        "start": 0,
                        "length": 3,
                        "fit": "none",
                        "scale": 0.8,
                        "offset": {
                            "y": 0.16
                        },
                        "transition": {
                            "in": "slideDown",
                            "out": "fade"
                        }
                    }
                ]
            },
            {
                "clips": [
                    {
                        "asset": {
                            "type": "html",
                            "html": "<p>February at The Aviary</p>",
                            "css": "p { font-family:'Barlow ExtraBold'; color: #FFFFFF; font-size: 68px; text-align: center; }",
                            "width": 800,
                            "height": 140
                        },
                        "start": 0.8,
                        "length": 2.2,
                        "offset": {
                            "y": -0.13
                        },
                        "transition": {
                            "in": "slideUp",
                            "out": "fade"
                        }
                    }
                ]
            },
            {
                "clips": [
                    {
                        "asset": {
                            "type": "luma",
                            "src": "https://templates.shotstack.io/basic/asset/video/luma/circles/circle-expand-right.mp4"
                        },
                        "start": 3,
                        "length": 2
                    },
                    {
                        "asset": {
                            "type": "image",
                            "src": "https://images.pexels.com/photos/326279/pexels-photo-326279.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=750&w=1260"
                        },
                        "start": 0,
                        "length": 4,
                        "effect": "zoomIn"
                    }
                ]
            },
            {
                "clips": [
                    {
                        "asset": {
                            "type": "html",
                            "html": "<p>Lunch Menu</p>",
                            "css": "p { font-family: 'Barlow ExtraBold'; color: #FFFFFFFF; font-size: 80px; text-align: left; }",
                            "width": 600,
                            "height": 100
                        },
                        "start": 3.4,
                        "length": 3.1,
                        "position": "topLeft",
                        "offset": {
                            "x": 0.02,
                            "y": -0.15
                        },
                        "transition": {
                            "in": "slideUp",
                            "out": "fade"
                        }
                    }
                ]
            },
            {
                "clips": [
                    {
                        "asset": {
                            "type": "html",
                            "html": "<p>&nbsp;</p>",
                            "width": 650,
                            "height": 120,
                            "background": "#FF0000"
                        },
                        "start": 3.0,
                        "length": 3.0,
                        "position": "left",
                        "offset": {
                            "y": 0.3
                        },
                        "transition": {
                            "in": "slideLeft",
                            "out": "slideLeft"
                        }
                    }
                ]
            },
            {
                "clips": [
                    {
                        "asset": {
                            "type": "image",
                            "src": "https://images.pexels.com/photos/3434523/pexels-photo-3434523.jpeg?cs=srgb&dl=pexels-mister-mister-3434523.jpg&fm=jpg",
                            "crop": {
                                "left": 0,
                                "right": 0.0
                            }
                        },
                        "start": 3.0,
                        "length": 3.5,
                        "fit": "contain",
                        "position": "left",
                        "transition": {
                            "out": "fade"
                        }
                    }
                ]
            },
            {
                "clips": [
                    {
                        "asset": {
                            "type": "html",
                            "html": "<p>Shrimp Grill</p><br><div>Grilled shrimp with teriyaki sauce</div><br><br><p>Spring Roll</p><br><div>Spring roll filled with meat and vegetables</div><br><br><p>Sushi Roll</p><br><div>Sushi roll different flavors</div><br><br><p>Niguiri</p><br><div>Rice balls with seaweed</div>",
                            "css": "p { font-family: 'Barlow ExtraBold'; color: #FF1a1a1a; font-size: 50px; text-align: left; line-height: 80%;} div { font-family: 'Barlow Regular'; color: #FF1a1a1a; font-size: 40px; text-align: left; line-height: 80%;} br { line-height: 50%}",
                            "width": 600,
                            "height": 850
                        },
                        "start": 3.5,
                        "length": 3.0,
                        "offset": {
                            "x": 0.1
                        },
                        "transition": {
                            "in": "slideLeft",
                            "out": "fade"
                        }
                    },
                    {
                        "asset": {
                            "type": "html",
                            "html": "<p>$16.60</p><br><br><br><br><br><br><br><br><p>$19.90</p><br><br><br><br><br><br><br><p>$12.20</p><br><br><br><br><br><br><br><p>$12.20</p><br><br>",
                            "css": "p { font-family: 'Barlow ExtraBold'; color: #ff6600; font-size: 50px; text-align: left ;line-height: 80%;} br { line-height: 100%} ",
                            "width": 180,
                            "height": 850
                        },
                        "start": 3.5,
                        "length": 3.0,
                        "position": "right",
                        "offset": {
                            "x": -0.1
                        },
                        "transition": {
                            "in": "slideLeft",
                            "out": "fade"
                        }
                    }
                ]
            },
            {
                "clips": [
                    {
                        "asset": {
                            "type": "html",
                            "html": "<p>&nbsp;</p>",
                            "width": 900,
                            "height": 900,
                            "background": "#FFFFFF"
                        },
                        "start": 3.0,
                        "length": 3.5,
                        "position": "right",
                        "offset": {
                            "x": -0.1
                        },
                        "transition": {
                            "out": "slideLeft"
                        }
                    }
                ]
            },
            {
                "clips": [
                    {
                        "asset": {
                            "type": "luma",
                            "src": "https://templates.shotstack.io/basic/asset/video/luma/circles/circle-expand-left.mp4"
                        },
                        "start": 6,
                        "length": 2
                    },
                    {
                        "asset": {
                            "type": "image",
                            "src": "https://shotstack-assets.s3.ap-southeast-2.amazonaws.com/backgrounds/bg-aviary-1.jpg"
                        },
                        "start": 3,
                        "length": 4,
                        "effect": "zoomIn"
                    }
                ]
            },
            {
                "clips": [
                    {
                        "asset": {
                            "type": "html",
                            "html": "<p>Award Winning Chef Won Chaw</p><br><span>Specials of the month</span>",
                            "css": "p { font-family: 'Barlow ExtraBold'; color: #FFFFFF; font-size: 80px; text-align: center; line-height: 80%;} span { font-family: 'Barlow Regular'; color: #FFFFFF; font-size: 60px; text-align: center; line-height: 80%;}",
                            "width": 700,
                            "height": 250
                        },
                        "start": 6.8,
                        "length": 2.2,
                        "offset": {
                            "x": 0.2,
                            "y": 0.25
                        },
                        "transition": {
                            "in": "slideUp",
                            "out": "fade"
                        }
                    }
                ]
            },
            {
                "clips": [
                    {
                        "asset": {
                            "type": "html",
                            "html": "<p>&nbsp;</p>",
                            "width": 60,
                            "height": 300,
                            "background": "#ff6600"
                        },
                        "start": 6.0,
                        "length": 3.0,
                        "position": "left",
                        "offset": {
                            "y": 0.25
                        },
                        "transition": {
                            "in": "slideLeft",
                            "out": "slideLeft"
                        }
                    }
                ]
            },
            {
                "clips": [
                    {
                        "asset": {
                            "type": "html",
                            "html": "<p>&nbsp;</p>",
                            "width": 60,
                            "height": 300,
                            "background": "#ff6600"
                        },
                        "start": 6.0,
                        "length": 3.0,
                        "position": "right",
                        "offset": {
                            "y": 0.25
                        },
                        "transition": {
                            "in": "slideRight",
                            "out": "slideRight"
                        }
                    }
                ]
            },
            {
                "clips": [
                    {
                        "asset": {
                            "type": "luma",
                            "src": "https://templates.shotstack.io/basic/asset/video/luma/circles/circle-expand-right.mp4"
                        },
                        "start": 9,
                        "length": 2
                    },
                    {
                        "asset": {
                            "type": "image",
                            "src": "https://images.pexels.com/photos/3873973/pexels-photo-3873973.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=750&w=1260"
                        },
                        "start": 6,
                        "length": 4,
                        "effect": "zoomIn"
                    }
                ]
            },
            {
                "clips": [
                    {
                        "asset": {
                            "type": "image",
                            "src": "https://shotstack-assets.s3.ap-southeast-2.amazonaws.com/images/dish3.png"
                        },
                        "start": 9.0,
                        "length": 3.5,
                        "fit": "contain",
                        "scale": 0.35,
                        "effect": "zoomIn",
                        "offset": {
                            "x": -0.25
                        },
                        "transition": {
                            "in": "slideUp",
                            "out": "fade"
                        }
                    }
                ]
            },
            {
                "clips": [
                    {
                        "asset": {
                            "type": "html",
                            "html": "<p>Grill</p>",
                            "css": "p { font-family: 'Barlow ExtraBold'; color: #11000000; font-size: 260px; text-align: left; }",
                            "width": 500,
                            "height": 300
                        },
                        "start": 9.4,
                        "length": 3.1,
                        "position": "topLeft",
                        "offset": {
                            "x": 0.05
                        },
                        "transition": {
                            "in": "slideUp",
                            "out": "fade"
                        }
                    }
                ]
            },
            {
                "clips": [
                    {
                        "asset": {
                            "type": "html",
                            "html": "<p>Grilled Banderilles</p>",
                            "css": "p { font-family: 'Barlow ExtraBold'; color: #FFff6600; font-size: 140px; text-align: left; line-height: 70%; }",
                            "width": 800,
                            "height": 280
                        },
                        "start": 9.5,
                        "length": 3.0,
                        "offset": {
                            "x": 0.16,
                            "y": 0.25
                        },
                        "transition": {
                            "in": "slideLeft",
                            "out": "fade"
                        }
                    },
                    {
                        "asset": {
                            "type": "html",
                            "html": "<p>Sweet and sour pork with peppers, onions and pineapple bathed in barbecue sauce.</p>",
                            "css": "p { font-family: 'Barlow Regular'; color: #FF1a1a1a; font-size: 50px; text-align: left;  line-height: 100%;}",
                            "width": 800,
                            "height": 300
                        },
                        "start": 9.5,
                        "length": 3.1,
                        "offset": {
                            "x": 0.16,
                            "y": -0.05
                        },
                        "transition": {
                            "in": "slideLeft",
                            "out": "fade"
                        }
                    },
                    {
                        "asset": {
                            "type": "html",
                            "html": "<p>$18.90</p>",
                            "css": "p { font-family: 'Barlow ExtraBold'; color: #FFFF0000; font-size: 90px; text-align: left;  line-height: 100%;}",
                            "width": 800,
                            "height": 100
                        },
                        "start": 9.5,
                        "length": 3.1,
                        "offset": {
                            "x": 0.16,
                            "y": -0.25
                        },
                        "transition": {
                            "in": "slideUp",
                            "out": "fade"
                        }
                    }
                ]
            },
            {
                "clips": [
                    {
                        "asset": {
                            "type": "html",
                            "html": "<p>&nbsp;</p>",
                            "width": 450,
                            "height": 450,
                            "background": "#FF0000"
                        },
                        "start": 9.0,
                        "length": 3.0,
                        "position": "bottom",
                        "offset": {
                            "x": -0.25
                        },
                        "transition": {
                            "in": "slideUp",
                            "out": "fade"
                        }
                    }
                ]
            },
            {
                "clips": [
                    {
                        "asset": {
                            "type": "html",
                            "html": "<p>&nbsp;</p>",
                            "width": 900,
                            "height": 800,
                            "background": "#FFFFFF"
                        },
                        "start": 9.0,
                        "length": 3.5,
                        "position": "right",
                        "offset": {
                            "x": -0.1
                        },
                        "transition": {
                            "out": "slideUp"
                        }
                    }
                ]
            },
            {
                "clips": [
                    {
                        "asset": {
                            "type": "luma",
                            "src": "https://templates.shotstack.io/basic/asset/video/luma/circles/circle-expand-left.mp4"
                        },
                        "start": 12,
                        "length": 2
                    },
                    {
                        "asset": {
                            "type": "image",
                            "src": "https://shotstack-assets.s3.ap-southeast-2.amazonaws.com/backgrounds/bg-aviary-1.jpg"
                        },
                        "start": 9,
                        "length": 4,
                        "effect": "zoomIn"
                    }
                ]
            },
            {
                "clips": [
                    {
                        "asset": {
                            "type": "image",
                            "src": "https://shotstack-assets.s3.ap-southeast-2.amazonaws.com/images/dish4.png"
                        },
                        "start": 12.0,
                        "length": 3.5,
                        "fit": "contain",
                        "scale": 0.35,
                        "effect": "zoomIn",
                        "offset": {
                            "x": 0.25
                        },
                        "transition": {
                            "in": "slideUp",
                            "out": "fade"
                        }
                    }
                ]
            },
            {
                "clips": [
                    {
                        "asset": {
                            "type": "html",
                            "html": "<p>Toast</p>",
                            "css": "p { font-family: 'Barlow ExtraBold'; color: #11000000; font-size: 260px; text-align: left; }",
                            "width": 800,
                            "height": 300
                        },
                        "start": 12.4,
                        "length": 3.1,
                        "position": "topRight",
                        "offset": {
                            "x": -0.05
                        },
                        "transition": {
                            "in": "slideUp",
                            "out": "fade"
                        }
                    }
                ]
            },
            {
                "clips": [
                    {
                        "asset": {
                            "type": "html",
                            "html": "<p>Smashed Avo Toast</p>",
                            "css": "p { font-family: 'Barlow ExtraBold'; color: #ff6600; font-size: 140px; text-align: left; line-height: 70%; }",
                            "width": 800,
                            "height": 280
                        },
                        "start": 12.5,
                        "length": 3.0,
                        "offset": {
                            "x": -0.16,
                            "y": 0.25
                        },
                        "transition": {
                            "in": "slideLeft",
                            "out": "fade"
                        }
                    },
                    {
                        "asset": {
                            "type": "html",
                            "html": "<p>Slice of toasted bread with avocado, house dressing, egg to taste and watercress leaves.</p>",
                            "css": "p { font-family: 'Barlow Regular'; color: #FF1a1a1a; font-size: 50px; text-align: left;  line-height: 100%;}",
                            "width": 800,
                            "height": 300
                        },
                        "start": 12.5,
                        "length": 3.1,
                        "offset": {
                            "x": -0.16,
                            "y": -0.05
                        },
                        "transition": {
                            "in": "slideLeft",
                            "out": "fade"
                        }
                    },
                    {
                        "asset": {
                            "type": "html",
                            "html": "<p>$18.90</p>",
                            "css": "p { font-family: 'Barlow ExtraBold'; color: #FFFF0000; font-size: 90px; text-align: left;  line-height: 100%;}",
                            "width": 800,
                            "height": 100
                        },
                        "start": 12.5,
                        "length": 3.1,
                        "offset": {
                            "x": -0.16,
                            "y": -0.25
                        },
                        "transition": {
                            "in": "slideUp",
                            "out": "fade"
                        }
                    }
                ]
            },
            {
                "clips": [
                    {
                        "asset": {
                            "type": "html",
                            "html": "<p>&nbsp;</p>",
                            "width": 450,
                            "height": 450,
                            "background": "#FF0000"
                        },
                        "start": 12.0,
                        "length": 3.0,
                        "position": "bottom",
                        "offset": {
                            "x": 0.25
                        },
                        "transition": {
                            "in": "slideUp",
                            "out": "fade"
                        }
                    }
                ]
            },
            {
                "clips": [
                    {
                        "asset": {
                            "type": "html",
                            "html": "<p>&nbsp;</p>",
                            "width": 900,
                            "height": 800,
                            "background": "#FFFFFF"
                        },
                        "start": 12.0,
                        "length": 3.5,
                        "position": "left",
                        "offset": {
                            "x": 0.1
                        },
                        "transition": {
                            "in": "slideUp",
                            "out": "fade"
                        }
                    }
                ]
            },
            {
                "clips": [
                    {
                        "asset": {
                            "type": "luma",
                            "src": "https://templates.shotstack.io/basic/asset/video/luma/circles/circle-expand.mp4"
                        },
                        "start": 15,
                        "length": 2
                    },
                    {
                        "asset": {
                            "type": "image",
                            "src": "https://shotstack-assets.s3.ap-southeast-2.amazonaws.com/backgrounds/bg-aviary-1.jpg "
                        },
                        "start": 12,
                        "length": 4,
                        "effect": "zoomIn"
                    }
                ]
            },
            {
                "clips": [
                    {
                        "asset": {
                            "type": "image",
                            "src": "https://shotstack-assets.s3.ap-southeast-2.amazonaws.com/logos/contemporary-color-black.png"
                        },
                        "start": 15,
                        "length": 4,
                        "fit": "none",
                        "scale": 0.8,
                        "offset": {
                            "y": 0.1
                        },
                        "transition": {
                            "in": "slideUp"
                        }
                    }
                ]
            },
            {
                "clips": [
                    {
                        "asset": {
                            "type": "html",
                            "html": "<span>736 Brockton Avenue, Abington, MA 2351</span><br><span>548-500-5223</span>",
                            "css": "p { font-family: 'Barlow ExtraBold'; color: #FF1a1a1a; font-size: 50px; text-align: center;} span { font-family: 'Barlow Regular'; color: #FF1a1a1a; font-size: 50px; text-align: center;}",
                            "width": 600,
                            "height": 300
                        },
                        "start": 15.8,
                        "length": 3.2,
                        "offset": {
                            "y": -0.2
                        },
                        "transition": {
                            "in": "slideUp"
                        }
                    }
                ]
            },
            {
                "clips": [
                    {
                        "asset": {
                            "type": "image",
                            "src": "https://shotstack-assets.s3.ap-southeast-2.amazonaws.com/backgrounds/bg-aviary-1.jpg "
                        },
                        "start": 15,
                        "length": 4,
                        "effect": "zoomIn"
                    }
                ]
            }
        ]
    },
    "output": {
        "format": "mp4",
        "resolution": "1080"
    }
}

Restaurant video template with monthly specials and lunch menu.

Open in Studio

No account needed until you render.

Render with your AI assistant

Open in Claude Open in ChatGPT

Add the Shotstack MCP server to your editor, then paste the prompt

When you want to automate this

One video per row of your data.

1
See it
OutputMP4
Size1920 × 1080 (16:9)
Length19s
Frame ratedefault (25 fps)
Tracks / clips28 / 38
Assets used22 html, 11 image, 5 luma
Soundtrackyes
Merge fieldsnone (edit the JSON)
2
Make it yours

Swap these in the JSON:

  • 22 HTML/text blocks
  • 11 image URLs
  • 5 luma mattes
  • 1 soundtrack URL

To drive it from data, turn any value into a {{ PLACEHOLDER }} merge field.

3
Run it once

Save the JSON above as template.json, then render in the free sandbox:

# Save the JSON above as template.json, then:
curl -X POST https://api.shotstack.io/edit/stage/render \
  -H "x-api-key: $SHOTSTACK_API_KEY" \
  -H "Content-Type: application/json" \
  -d @template.json

# Poll until status is "done", then download response.url
curl https://api.shotstack.io/edit/stage/render/RENDER_ID -H "x-api-key: $SHOTSTACK_API_KEY"
import { readFileSync } from 'node:fs';

const headers = { 'x-api-key': process.env.SHOTSTACK_API_KEY, 'Content-Type': 'application/json' };
const edit = JSON.parse(readFileSync('template.json', 'utf8'));

const { response } = await fetch('https://api.shotstack.io/edit/stage/render', {
  method: 'POST', headers, body: JSON.stringify(edit)
}).then((r) => r.json());

let render;
do {
  await new Promise((r) => setTimeout(r, 3000));
  render = (await fetch(`https://api.shotstack.io/edit/stage/render/${response.id}`, { headers }).then((r) => r.json())).response;
} while (!['done', 'failed'].includes(render.status));

console.log(render.status, render.url);
import json, os, time, requests

headers = {"x-api-key": os.environ["SHOTSTACK_API_KEY"]}
with open("template.json") as f:
    edit = json.load(f)

render_id = requests.post("https://api.shotstack.io/edit/stage/render", json=edit, headers=headers).json()["response"]["id"]

while True:
    render = requests.get(f"https://api.shotstack.io/edit/stage/render/{render_id}", headers=headers).json()["response"]
    if render["status"] in ("done", "failed"):
        break
    time.sleep(3)

print(render["status"], render.get("url"))
npm install -g @shotstack/cli
export SHOTSTACK_API_KEY=your_sandbox_key

shotstack validate template.json          # offline schema check, free
shotstack render template.json --env stage --watch

Sandbox renders are free and watermarked. Production: the v1 endpoint and key. SDKs

4
Automate it

One render is a demo. A video for every row of your data is the workflow.

Paste into Claude, ChatGPT or Cursor — your AI assistant builds the workflow around your data.

Node.js, one render per CSV row, wired to this template. Setup steps in the header.

Guides: Bulk-create from a CSV · Webhooks · Templates endpoint · Render your first video

AI assistants: Markdown () · · · CLI skill: SKILL.md () · MCP server

Common questions

How do I make the Restaurant monthly specials template my own?

Replace the asset URLs in the JSON with your own files and adjust text, timing or effects on each clip. To generate many variations from data, turn the values you change into merge fields ({{ PLACEHOLDER }}) and pass a merge array with each request.

Can I render this in full HD or 4K for YouTube?

Yes. This template renders 1920×1080 by default. Set output.resolution to "1080" or output.size to a larger 16:9 size in the JSON; the layout scales with it.

Can I use my own photos?

Yes. The template uses 11 images; replace each image asset's src with a public URL of your own file (JPG, PNG or WebP). Keep the timing and effects, or adjust them per clip.

How do I change the text and fonts?

Edit the text on each text asset in the JSON. Fonts come from the timeline fonts list or the asset's font family; add your own font file URL to timeline.fonts to use a brand typeface.