Webhooks
Signed delivery
Pass webhook_url when you submit a generation. We POST one event per terminal state. Verify the HMAC-SHA256 signature before trusting the payload.
Events
Event types
generation.completed— fired once whenstatusbecomescompleted.generation.failed— fired once when the job terminates infailed. Credits have already been refunded.
Both image and video jobs fire these events. For video, the reserved maximum credit cost is reconciled down to the produced clip length on completion, so the final charge may be lower than the amount held when the job was submitted.
Signature
Verification
Each request carries two headers. Compute HMAC-SHA256(signing_secret, “{timestamp}.{raw_body}”) and compare it to the signature, constant-time. Reject requests older than 5 minutes to prevent replay.
Delivery
Retries
Non-2xx responses are retried up to 8 times, spaced ~30 s apart. After the final attempt the delivery is marked failed in your dashboard.