Built for developers
One POST request.
One MP4.
No FFmpeg.
Your PM wants "video features" in the app. You don't want to touch FFmpeg. We get it. Send JSON, get back a video. That's it.
typescript
1import { iLoveVideoEditor } from '@ilovevideoeditor/sdk-node';23const client = new iLoveVideoEditor({4apiKey: 'YOUR_API_KEY',5});67const job = await client.render.create({8videoJson: {9duration: 5,10fps: 30,11width: 1920,12height: 1080,13layers: [14{15type: 'video',16src: 'input.mp4',17start: 0,18duration: 5,19},20{21type: 'text',22text: 'Hello World',23fontSize: 72,24color: '#ffffff',25position: { x: 960, y: 540 },26},27],28},29});3031console.log('Render job:', job.id);
FFmpeg vs iLoveVideoEditor API
Spoiler: one requires a DevOps team, the other requires 5 minutes
FFmpeg Pipeline
iLoveVideoEditor API
Setup time
2 days
5 minutes
Lines of code
~500
~20
Render speed
3x realtime
1x realtime
Monthly cost
$200+ server
$0 - 50 credits
Maintenance
High
None
Pick your renderer
Same API, three different execution environments
Browser
Client-side rendering with WebCodecs. Instant preview, zero server cost.
Real-time preview
Free
Server
Headless Chromium via Playwright. Highest quality, full effects support.
1-3 min render time
Best quality
Recommended
Edge
Cloudflare Workers. Webhook-triggered renders. Scale to infinity.
30s - 2min
Auto-scaling
Don't use our SDK? No problem.
Raw HTTP works too. Here's a complete request in curl.
bash
1curl -X POST https://api.ilovevideoeditor.com/v1/render \2-H "Authorization: Bearer YOUR_API_KEY" \3-H "Content-Type: application/json" \4-d '{5"videoJson": {6"duration": 3,7"width": 1920,8"height": 1080,9"layers": [10{11"type": "solid",12"color": "#e5352c",13"duration": 314}15]16}17}'
20
lines of code to first render
42
built-in GLSL effects
0
infrastructure to manage
Ship video features this week
Your PM will think you're a wizard. Your infrastructure team will thank you.