Guides
Webhooks
Receive asynchronous status updates without polling.
Guides
Receive asynchronous status updates without polling.
| Event | Description |
|---|---|
| job.started | Job accepted and started processing |
| job.completed | Job finished and output is available |
| job.failed | Job failed, check error payload |
| Header | Description |
|---|---|
| X-Webhook-Event | Event name, e.g. job.completed |
| X-Webhook-Delivery-Id | Unique delivery id |
| X-Webhook-Timestamp | ISO timestamp used for signing |
| X-Webhook-Signature | HMAC-SHA256 signature when signing secret is configured |
import crypto from 'node:crypto';
export function verifyWebhook(rawBody, timestamp, signature, secret) {
const signed = `${timestamp}.${rawBody}`;
const digest = crypto.createHmac('sha256', secret).update(signed).digest('hex');
const expected = `sha256=${digest}`;
return crypto.timingSafeEqual(Buffer.from(expected), Buffer.from(signature || ''));
}Webhooks belongs to the Guides section and covers receive asynchronous status updates without polling.
The page is written for developers and operators who need predictable video background removal behavior in production, not just a one-off demo request.
Before you promote this workflow, test it with at least one short clip, one longer clip, and one visually difficult clip from your actual product or customer segment.
For support and debugging, persist the original input reference, selected model, output format, credit usage, and final job status alongside your internal user or project id.
| Question | Answer |
|---|---|
| Is Webhooks required for every integration? | Use it when the topic affects your setup, quality target, or operational workflow. |
| What should I test before going live? | Verify success, failure, timeout, retry, and insufficient-credit paths with realistic video files and the same output format you plan to ship. |
| How does this connect to the rest of the API? | Most workflows connect upload or source URL handling, job creation, status polling, output retrieval, usage tracking, and operational logging. |