Improved webhook events and event filtering
Posted
When you create a prediction with the API, you can provide a webhook URL for us to call when your prediction is complete.
Starting today, we now send more webhook events at different stages of the prediction lifecycle. We send requests to your webhook URL whenever there are new logs, new outputs, or the prediction has finished.
You can change which events trigger webhook requests by specifying webhook_events_filter
in the prediction request.
start
: Emitted immediately on prediction start. This event is always sent.output
: Emitted each time a prediction generates an output (note that predictions can generate multiple outputs).logs
: Emitted each time log output is generated by a prediction.completed
: Emitted when the prediction reaches a terminal state (succeeded
/canceled
/failed
). This event is always sent.
For example, if you only wanted requests to be sent at the start and end of the prediction, you would provide:
{
"version": "5c7d5dc6dd8bf75c1acaa8565735e7986bc5b66206b55cca93cb72c9bf15ccaa",
"input": {
"text": "Alice"
},
"webhook": "https://example.com/my-webhook",
"webhook_events_filter": ["start", "completed"]
}
Requests for event types output
and logs
will be sent at most once every 500ms.
Requests for event types start
and completed
will always be sent.
If you’re using the old webhook_completed
, you’ll still get the same webhooks as before, but we recommend updating to use the new webhook
and webhook_completed
properties.
Docs: https://replicate.com/docs/reference/http#create-prediction–webhook