Sent when video generation completes successfully.
Copy
{ "generation_id": "ffd473d5-5bef-4e14-bf22-8d559be3c19f", "status": "completed", "prompt": "A cat playing with a ball in a sunny room", "video_url": "https://cdn.runblob.io/videos/your-video.mp4", "created_at": "2025-12-06T21:43:03.374000", "completed_at": "2025-12-06T21:44:06.143000", "seed": 319790131, "error": null}
Retry Policy: Up to 5 attempts with 30-second intervalsBackoff Strategy: Linear backoff between retriesFailure Handling: After 5 failed attempts, the webhook is marked as failed
Timeout Handling
Request Timeout: 30 seconds per webhook requestConnection Timeout: 10 seconds to establish connectionBest Practice: Respond quickly with a 200 status code
Security
HTTPS Required: All webhook URLs must use HTTPSIP Allowlist: Consider restricting access to RunBlob’s IP rangesValidation: Always validate the generation_id in your webhook handler