Use this file to discover all available pages before exploring further.
Lumenfall can send webhook notifications to your server when asynchronous operations like video generation complete or fail. Webhooks follow the Standard Webhooks specification.
Provide a webhook_url when creating an asynchronous request. Lumenfall will POST to that URL when the operation completes or fails.
curl https://api.lumenfall.ai/openai/v1/videos \ -H "Authorization: Bearer $LUMENFALL_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "veo-3.1-fast", "prompt": "A capybara swimming in a pool", "webhook_url": "https://yourapp.com/hooks/lumenfall" }'
A signing secret is automatically provisioned for your organization the first time you use a webhook URL. Retrieve it with the Get webhook secret endpoint.
Failed deliveries are retried up to 3 times with increasing delays (5s, 15s, 45s). Each attempt has a 30-second timeout. A delivery is considered successful when your server responds with a 2xx status code.
Webhook URLs are validated when you submit your request. If the URL does not meet the requirements below, the request is rejected with a 400 error. URLs are also re-validated before each delivery attempt.
Rule
Details
HTTPS required
Only https:// URLs are accepted. Plain http:// is rejected.
No IP addresses
Bare IPv4 (https://10.0.0.1/...) and IPv6 (https://[::1]/...) addresses are rejected. Use a domain name.
Port restrictions
Only port 443 (default HTTPS) and 8443 are allowed.
Blocked hostnames
localhost, cloud metadata endpoints (metadata.google.internal, metadata.goog), and similar internal hostnames are rejected.
Verify the webhook-signature header to confirm deliveries are authentic and have not been tampered with. The signed content is ${webhook-id}.${webhook-timestamp}.${body}, signed with the base64-decoded portion of your whsec_-prefixed secret.Retrieve your secret with the Get webhook secret endpoint. Store it securely - treat it like an API key.
Always verify signatures before processing webhook payloads. Reject any delivery where the timestamp is more than 5 minutes old to prevent replay attacks.