webhook URL (and optionally webhook_intermediate_status: true). RunComfy will POST JSON updates to your endpoint until the run completes. The final success event includes the same outputs you would get from GET …/result.
Base URL: https://api.runcomfy.net
Limitations
In production environments, especially for any network-dependent product, webhooks are never 100% guaranteed. Servers can restart, network routes can fail, and delivery can be delayed or dropped for many reasons. That’s why, even though webhooks reduce the need for polling, you should never rely on them alone. You should always pair webhooks with periodic polling to ensure results are received reliably in all production scenarios.Enable Webhooks on Submit
-
webhookis the HTTPS URL that will receive callbacks. -
webhook_intermediate_status(defaultfalse) enables queue and in‑progress updates in addition to the final event.
Webhook Events
We send HTTPPOST requests with Content-Type: application/json. Payloads share a common shape and vary slightly by status.
In-Progress Update
in_progress to one of succeeded, failed, or cancelled. Determine completion from status.
Final Succeeded (includes outputs)
All results from the serverless API are automatically deleted after 7 days. If you need long-term or permanent storage, please save the results elsewhere. Everything generated is fully yours, we do not retain or serve your content publicly as a CDN.outputs schema matches the response from GET …/result.
Final Failed
error object describes why the run failed (e.g., type, message). See Error Codes for common causes and fixes.
Delivery, Retries, and Idempotency
Acknowledge quickly by returning any 2xx within 10 seconds; perform heavy work asynchronously. If a delivery times out or returns a non‑2xx status, the system retries with exponential backoff for up to 24 hours. Deliveries can be duplicated or arrive out of order, so make handlers idempotent and deduplicate usingrequest_id plus status (or your own event identifier).