BUILD A TEMPLATE ONCE IN THE EDITOR. THEN CALL THE API TO RENDER HUNDREDS OF VIDEOS — EACH WITH DIFFERENT ASSETS, COPY, OR PARAMS. NO BROWSER REQUIRED.
Open the editor. Design your scene — effects, captions, timing, brand. Save it as a template. You get back a template_id.
POST to /renders with your template_id plus an overrides object. Swap the product image, headline copy, or any exposed param — without touching the template.
Poll the render status or supply a webhook URL. When complete, download the 1080×1920 MP4. Ready for Reels, TikTok, or your CDN.
Pass your API key as a Bearer token on every request.
curl https://api.neko.video/v1/templates \
-H "Authorization: Bearer neko_sk_live_••••••••••••••••"Tweak any field — the request body on the right updates live.
curl -X POST https://api.neko.video/v1/renders \
-H "Authorization: Bearer neko_sk_live_••••••••••••••••" \
-H "Content-Type: application/json" \
-d '{
"template_id": "tpl_8xKp3mQz",
"overrides": {
"headline": "RED NEVER LOOKED THIS GOOD.",
"asset_url": "https://cdn.yourstore.com/product-red.png",
"accent_color": "#FF3B30",
"price_label": "$49"
}
}'Submit a render job. Pass a template ID plus any overrides you want swapped. Returns immediately with status: "pending" — poll GET /renders/:id or supply a webhook to get the result.
Returned immediately. The render is queued — use the id to poll or match incoming webhooks.
{
"id": "rnd_9vLm2wRx",
"status": "pending",
"template_id": "tpl_8xKp3mQz",
"created_at": "2026-03-29T14:22:00Z",
"metadata": { "sku": "RED-01" },
"webhook_url": "https://yourapp.com/hooks/neko"
}Sent to your webhook_url when the render finishes. The output.url is a direct MP4 link, valid for 7 days.
{
"event": "render.complete",
"render_id": "rnd_9vLm2wRx",
"status": "complete",
"metadata": { "sku": "RED-01" },
"output": {
"url": "https://cdn.neko.video/rnd_9vLm2wRx.mp4",
"expires": "2026-04-05T00:00:00Z"
}
}EVERY TEMPLATE EXPOSES A SET OF OVERRIDE KEYS — SWAP ASSETS, COPY, COLORS, OR ANY OTHER PARAM WITHOUT TOUCHING THE TEMPLATE ITSELF.
{
"id": "tpl_8xKp3mQz",
"name": "Product Launch v2",
"overrides": [
{ "key": "headline", "type": "string", "default": "YOUR HEADLINE." },
{ "key": "asset_url", "type": "string", "default": "" },
{ "key": "accent_color", "type": "color", "default": "#000000" },
{ "key": "price_label", "type": "string", "default": "" },
{ "key": "show_logo", "type": "boolean", "default": true }
]
}ALL REQUESTS REQUIRE A BEARER TOKEN IN THE Authorization HEADER. KEYS ARE PREFIXED neko_sk_live_ FOR PRODUCTION AND neko_sk_test_ FOR SANDBOX. TEST RENDERS ARE NOT BILLED.
Authorization: Bearer neko_sk_live_••••••••••••••••{
"error": {
"code": "unauthorized",
"message": "Invalid or missing API key."
}
}{
"error": {
"code": "rate_limit_exceeded",
"message": "Render limit reached for your plan.",
"limit": 60,
"reset_at": "2026-03-29T15:00:00Z"
}
}START WITH THE EDITOR. SHIP WITH THE API.