Developers
Personalized ambassador video in your workflow
Enable any campaign for the API, trigger personalized renders of your ambassador from your stack, and get the finished video back via signed webhook. Sync or async, single or bulk.
Endpoints
POST
/v1/campaigns/{id}/generateRender a personalized ambassador video from a values map.
POST
/v1/campaigns/{id}/bulkRender a batch — one personalized video per customer row.
GET
/v1/jobs/{id}Poll a job's status and fetch the video URL.
POST
/v1/keysIssue, scope, rotate, and revoke API keys.
- Signed webhooks with retries
- Per-render usage & ₹ cost in the payload
- Scoped, rotatable API keys
- Idempotency keys + rate limits
generate.ts
// 1. Trigger a render
const res = await fetch(
"https://api.synthlogix.ai/v1/campaigns/cmp_8f2/generate",
{
method: "POST",
headers: { Authorization: "Bearer sk_live_••••" },
body: JSON.stringify({
values: { name: "Priya", city: "Mumbai" },
webhook: "https://your.app/hooks/video",
}),
}
);
// → 202 { job_id: "job_a91", status: "queued" }
// 2. Receive the finished video on your webhook
// POST https://your.app/hooks/video
// { "job_id": "job_a91", "status": "done",
// "video_url": "https://cdn.synthlogix.ai/...",
// "usage": { "tts_chars": 18, "lipsync_seconds": 0.7, "cost_inr": 18.9 } }