Welcome to ViralSync
Submit JSON. Get back a rendered video.
ViralSync is a Video Rendering API for content creators, agencies, and automation platforms. Define your video as structured JSON, submit it via HTTP, and receive a rendered MP4 — powered by FFmpeg and a distributed cloud render pipeline.
See it in action
Submit this JSON, get back a rendered video in seconds:
curl -X POST https://api.viralsync.io/v1/render/jobs \
-H "x-api-key: vs_prod_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"kind": "movie",
"projectId": "proj_abc123",
"movie": {
"width": 1920, "height": 1080, "fps": 30,
"scenes": [{
"id": "scene_1", "duration": 5, "bgColor": "#1a1a2e",
"layers": [{
"id": "title", "type": "text",
"text": "Hello from ViralSync API",
"startTime": 0, "duration": 5, "zIndex": 1,
"position": { "x": 360, "y": 460 },
"size": { "width": 1200, "height": 160 },
"fontSize": 80, "fontWeight": "bold",
"color": "#ffffff", "textAlign": "center"
}]
}]
}
}'
Response in 202 Accepted:
{ "jobId": "job_a1b2c3d4e5f6", "status": "queued" }
Poll GET /v1/jobs/job_a1b2c3d4e5f6 until status: "done" — then download the outputUrl.
What you can build
- Programmatic video generation — generate branded videos from templates and data
- AI-powered long-form content — combine AI agents with the render API to produce YouTube-length videos from a single prompt (coming soon)
- Automation pipelines — trigger renders from n8n, Make, Zapier, or any HTTP client
- Editor integrations — embed ViralSync in your own product using the visual editor
How it works
Your JSON → POST /v1/render/jobs → 202 { jobId }
↓
Scenes rendered in parallel (FFmpeg)
↓
GET /v1/jobs/{jobId} → outputUrl
- You submit a Movie JSON describing scenes and layers
- ViralSync splits the movie into scenes and renders them in parallel
- Scene clips are assembled and uploaded to Cloudflare R2
- The final
outputUrlis available in the job response
Key capabilities
| Capability | Details |
|---|---|
| Layer types | video, image, audio, text |
| Output formats | MP4 (all plans), WebM, MOV, GIF (higher plans) |
| Resolutions | Up to 4K (3840×2160) depending on plan |
| FPS | 1–60 fps |
| Max video duration | Up to 120 minutes (Enterprise) |
| Scene parallelism | Up to 6 simultaneous scene workers per job |
| Progress tracking | Polling or Server-Sent Events (SSE) |
| Webhooks | callbackUrl for push notifications |
Start here
Quickstart →
Render your first video in 5 minutes using curl.
Authentication →
Create your API key and make your first authenticated request.
Movie Schema →
Full reference for every Movie, Scene, and Layer property.
Plans & Limits →
Render minutes, concurrent jobs, and plan comparison.
Plan requirement
The REST API requires a Pro plan ($29/mo) or higher. Free-plan users can render through the visual editor in the dashboard.
New accounts get a 14-day Pro trial automatically — no credit card required.