Use one REST API to generate product videos, social clips, personalized outputs, and agent-driven videos through schemas, previews, formal tasks, rendering, files, and webhooks.
Go from schema to preview, task, render, and webhook in a few minutes.
Recommended flow: preview or create task -> render -> poll status / receive webhook
The examples below show the standard path for production-style integration. Typical use cases include marketing videos, product videos, AI agent outputs, and repeatable content workflows.
curl -X POST 'https://renderingvideo.com/api/v1/video' \
-H 'Authorization: Bearer sk-your-api-key' \
-H 'Content-Type: application/json' \
-d '{
"config": {
"meta": {
"version": "2.0.0",
"width": 1920,
"height": 1080,
"fps": 30,
"background": "#000000"
},
"tracks": [
{
"clips": [
{
"type": "text",
"text": "Hello World",
"start": 0,
"duration": 5
}
]
}
]
}
}'
curl -X POST 'https://renderingvideo.com/api/v1/video/<taskId>/render' \
-H 'Authorization: Bearer sk-your-api-key' \
-H 'Content-Type: application/json' \
-d '{
"webhook_url": "https://your-server.com/renderingvideo-webhook",
"num_workers": 5
}'Key interfaces for previews, tasks, rendering, files, and usage-based credits across product and automation workflows.
Create a trackable formal task from a schema without starting rendering immediately.
Read your account task list with pagination for dashboards and backend sync flows.
Return dimensions, duration, status, output URLs, metadata, and key timestamps for a task.
Delete local task records and attempt cleanup on the upstream rendering service.
Send an existing task into rendering. Supports num_workers and webhook_url.
Upload image, video, and audio files for reuse across preview and render workflows.
Browse the file library with pagination and type filters for image, video, and audio.
Remove asset records and their stored objects to keep the library clean.
Read your remaining credit balance before triggering formal rendering.
Generate preview links without consuming formal render credits. Preview links expire after 7 days by default.
Inspect the schema currently stored behind a temporary preview link.
Remove temporary previews before they expire.
Clone a validated preview into a formal task without rendering yet.
Turn a preview directly into a formal task and send it into rendering immediately.
When you pass webhook_url on a render request, RenderingVideo sends a POST request to your endpoint when the task completes or fails. This fits database updates, product callbacks, or agent follow-up actions. Current events are completed and failed.
{
"taskId": "abc123def456",
"renderTaskId": "rt_002",
"status": "completed",
"videoUrl": "https://storage.../videos/abc123.mp4",
"error": null,
"timestamp": "2026-03-23T10:00:00.000Z"
}Use SDKs to plug RenderingVideo into existing services faster.
import { RenderingVideo } from '@renderingvideo/sdk';
const client = new RenderingVideo({ apiKey: 'sk-xxx' });
const task = await client.video.create({
meta: {
version: '2.0.0',
width: 1920,
height: 1080,
fps: 30,
background: '#000000',
},
tracks: [...],
});
const render = await client.video.render(task.taskId, {
webhook_url: 'https://your-server.com/renderingvideo-webhook',
});
console.log(render.status);from renderingvideo import Client
client = Client(api_key="sk-xxx")
task = client.video.create({
"meta": {
"version": "2.0.0",
"width": 1920,
"height": 1080,
"fps": 30,
"background": "#000000"
},
"tracks": [...]
})
render = client.video.render(
task.task_id,
webhook_url="https://your-server.com/renderingvideo-webhook"
)
print(render.status)use RenderingVideo\Client;
$client = new Client('sk-xxx');
$task = $client->video->create([
'meta' => [
'version' => '2.0.0',
'width' => 1920,
'height' => 1080,
'fps' => 30,
'background' => '#000000'
],
'tracks' => [...]
]);
$render = $client->video->render(
$task->task_id,
['webhook_url' => 'https://your-server.com/webhook']
);
echo $render->status;All server-side API requests require an API key.
Authorization: Bearer sk-your-api-keyAuthorization: Token sk-your-api-keyX-API-Key: sk-your-api-key?api_key=sk-your-api-keySecurity note: API keys should live on your server only. Never expose them in client code, browser bundles, or public repos.
Plug previews, formal tasks, rendering, and result callbacks into your AI app, SaaS product, or automation workflow.