JSON2Video is a video generation API that lets you create videos programmatically — with built-in AI voices, AI images, and templates that adapt to dynamic content automatically. No fixed element sizes. No fixed timestamps. No overage fees.
Start free — 600 credits included →
JSON2Video vs Shotstack — Quick Comparison
| JSON2Video | Shotstack | |
|---|---|---|
| Free tier | ✅ 600 credits (~10 min) | ❌ No free plan |
| Entry subscription | $49.95/mo (200 min) | $39/mo (200 min) |
| AI voices built-in | ✅ Azure TTS + ElevenLabs — included | ❌ Requires separate integration |
| AI image generation | ✅ Freepik Classic + Flux Schnell — included | ❌ Requires separate integration |
| AI video generation | ✅ Seedance 1.5 Pro (premium) | ❌ Not available |
| Bring your own AI keys | ✅ Zero extra credits | ❌ |
| Dynamic element sizing | ✅ Calculated automatically | ❌ Fixed sizes required |
| Dynamic video duration | ✅ Calculated automatically | ❌ Fixed timestamps required |
| Overage fees | ❌ None — hard stop | ⚠️ +30% premium over plan rate |
| Make.com / n8n | ✅ Native integration | ✅ |
| Animated components | ✅ Built-in component library | ❌ Limited |
Why Developers Look for Shotstack Alternatives
1. Overage fees that surprise you
Shotstack charges a 30% premium on top of your plan rate for every minute rendered beyond your credit allowance. For automated workflows — where a bug or a misconfigured loop can trigger hundreds of unexpected renders — this means an unpredictable bill at the end of the month.
JSON2Video uses a hard stop: when your credits run out, the API stops. You never pay more than you planned for.
2. Rigid JSON — you have to specify every timestamp and size
Shotstack requires a fixed start time and length for every element in your video. If you're working with dynamic content — AI-generated text of varying length, user-uploaded videos of unknown duration, or data pulled from a spreadsheet — you have to calculate every timing yourself.
This becomes painful fast. A simple template that works fine with a 5-word title breaks when the title is 15 words, because you hard-coded the length: 3 on the text clip.
3. AI features are not included
Shotstack renders your video composition, but it doesn't generate AI content. If you want a voiceover, you need to:
- Call a TTS service (ElevenLabs, Azure, etc.) separately.
- Download or host the audio file.
- Reference the URL in your Shotstack JSON.
- Pay for the TTS service on top of Shotstack.
Same applies for AI-generated images. Every AI feature requires an extra external integration and extra cost.
JSON2Video includes AI voices (Azure TTS, ElevenLabs) and AI image generation (Freepik Classic, Flux Schnell) at no extra cost — it's all covered by your video rendering credits. No external accounts. No separate bills.
4. Audio configuration is tricky in no-code tools
A recurring complaint from users building workflows in Make.com and n8n is that audio fails silently or is hard to configure correctly in Shotstack. The multi-step process of generating audio externally and then passing it to the video API adds friction — and failure points.
How JSON2Video Is Different
Dynamic templates — no fixed sizes or timestamps
In JSON2Video, element sizes and durations are calculated automatically based on their content. A text element grows to fit its content. A scene lasts as long as the longest element inside it. You define what goes in the video, not when each pixel appears.
Shotstack — you specify everything manually:
{
"clips": [{
"asset": { "type": "title", "text": "{{title}}" },
"start": 0,
"length": 4.0,
"position": "center"
}]
}
JSON2Video — the template adapts:
{
"elements": [{
"type": "text",
"text": "{{title}}",
"style": "005"
}]
}
If {{title}} is 3 words or 30 words, the scene adjusts automatically. No recalculation needed.
AI voices, images, and video — all in one JSON call
JSON2Video integrates AI content generation directly in the video specification. You don't need external services to add a voiceover or an AI-generated image:
{
"scenes": [{
"elements": [
{
"type": "voice",
"text": "{{script}}",
"voice": "en-US-JennyNeural"
},
{
"type": "image",
"model": "nano-banana-2",
"prompt": "A product shot of {{product_name}} on white background"
}
]
}]
}
One API call. One bill. No glue code between services.
Supported AI providers:
- Voices: Azure Cognitive Services (120+ voices, 50+ languages), ElevenLabs — included, no extra cost
- Images (included): Freepik Classic, Flux Schnell — no extra cost
- Images (premium): Flux Pro, Nano Banana, Nano Banana Pro, Nano Banana 2 (by Google), Seedream 4.5 — additional credits
- Video generation (premium): Seedance 1.5 Pro — additional credits
- BYOK: Connect your own ElevenLabs, OpenAI, or Freepik API key — zero additional JSON2Video credits for those calls
Built-in animated components and text animations
JSON2Video includes a library of pre-built animated components — lower thirds, callouts, progress bars, countdowns — that you can drop into any scene with a single element declaration. Text animations (fade, typewriter, slide) are also built-in. Browse the full component library →
With Shotstack, complex animations require manually defining keyframes and timing for each element.
Native Make.com and n8n integration
JSON2Video has documented, working integrations for Make.com and n8n. Pass your template variables, trigger the render, receive the video URL via webhook. No audio issues, no multi-step file hosting workarounds.
Pricing Comparison
Both APIs price by rendered minutes. Here's how they compare at each volume:
| Monthly volume | JSON2Video | Shotstack subscription | Shotstack PAYG |
|---|---|---|---|
| ~10 min (testing) | Free (one-time) | $39/mo min | $0.30/min |
| AI voices & images | ✅ Included | ❌ Not included | ❌ Not included |
| 120 min | $49.95 prepaid | $39/mo | $36 |
| 200 min | $49.95/mo (Professional) | $39/mo | $60 |
| 500 min | $99.95/mo (Startup) | ~$100/mo | $150 |
| 1,300 min | $199.95/mo (Enterprise) | ~$260/mo | $390 |
| Overage | Hard stop — $0 | +30% premium | N/A |
| 4K rendering | ✅ From $49.95/mo | ❌ High Volume plans only (custom) | ❌ |
The overage gap matters. At 200 min/mo, Shotstack is $10 cheaper on paper — but that price doesn't include AI voice or image generation, which you'll need to source and pay for separately. Over a year of occasional overages (+30% premium), the real cost difference narrows or reverses.
The AI cost gap is bigger. If your videos include AI voiceovers and AI-generated images — which most automation use cases do — you need to add the cost of external AI services on top of Shotstack. JSON2Video includes AI voices (Azure TTS, ElevenLabs) and AI images (Freepik Classic, Flux Schnell) at no extra cost. For premium models, bring your own API key and JSON2Video charges zero additional credits.
Full Feature Comparison
| Feature | JSON2Video | Shotstack |
|---|---|---|
| Video generation | ✅ | ✅ |
| JSON-based composition | ✅ | ✅ |
| Dynamic element sizing | ✅ Automatic | ❌ Fixed |
| Dynamic video duration | ✅ Automatic | ❌ Fixed timestamps |
| AI voices (TTS) | ✅ Built-in | ❌ External |
| AI image generation | ✅ Built-in | ❌ External |
| AI video generation | ✅ Seedance 1.5 Pro | ❌ |
| Bring your own AI keys | ✅ | ❌ |
| Animated components library | ✅ | ❌ |
| Text animations | ✅ | Limited |
| HTML-to-video rendering | ✅ (Puppeteer) | ❌ |
| Automatic subtitles | ✅ | ✅ |
| Scene iteration from data | ✅ (up to 50) | Limited |
| Conditional rendering | ✅ | ❌ |
| Variable system | ✅ | Limited |
| Template library | ✅ | ✅ (limited) |
| Make.com / n8n | ✅ | ✅ |
| Webhook delivery | ✅ | ✅ |
| FTP / SFTP delivery | ✅ | ❌ |
| Official SDKs | ✅ | ✅ Node, Python, PHP, Ruby |
| White-label video editor | ❌ | ✅ |
| Overage fees | ❌ None | ⚠️ +30% |
| 4K rendering | ✅ From $49.95/mo | ❌ High Volume plans only |
| Free tier | ✅ 600 credits, one-time | ❌ No free plan |
Getting Started with JSON2Video
You can have your first video rendering in under 10 minutes:
curl -X POST https://api.json2video.com/v2/movies \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"resolution": "full-hd",
"scenes": [{
"elements": [{
"type": "text",
"text": "Hello from JSON2Video",
"style": "005"
}]
}]
}'
The response includes a movie ID. Poll for completion or set up a webhook to receive the video URL automatically.
No credit card required. 600 credits included to test every feature.
Migrating from Shotstack? We'll help you for free.
If you have templates running in production on Shotstack, we'll personally help you migrate them to JSON2Video — at no cost. Fill out the form below and we'll get back to you within 24 hours.
Or if you'd rather try it yourself first: create a free account and get 600 credits →
Frequently Asked Questions
Does JSON2Video have overage fees?
No. JSON2Video uses a hard stop: when your credits run out, the API returns an error. You can top up with a prepaid pack at any time to continue rendering.
Can I use my own ElevenLabs or OpenAI API key?
Yes. In the Connections section of your dashboard, you can add your own ElevenLabs, OpenAI, or Freepik API key. When you use AI features with your own key, JSON2Video charges zero additional credits — the calls go entirely to your own quota.
Does JSON2Video have official SDKs?
Yes. JSON2Video provides official SDKs alongside a standard REST API with JSON payloads that works from any language or no-code tool.
Can I migrate my Shotstack templates to JSON2Video?
Yes — and for production projects, the JSON2Video team offers free migration assistance. The JSON formats are different, but JSON2Video's format is simpler: you don't need to specify timestamps or element sizes, so most Shotstack templates become shorter and cleaner when rewritten. Contact us to get started →
Published on March 30th, 2026