- Advanced Topics
- Webhooks
Webhooks
Get notified when your jobs complete.
Provide a webhook_url when creating a job to receive a POST notification when the job reaches a terminal state.
When to Use This
Use webhooks when you do not want to poll. This is best for long jobs and backend workflows.
Registration Example
{
"input_files": { "input": "https://example.com/video.mp4" },
"output_files": ["output.mp4"],
"ffmpeg_commands": ["-i {{input}} {{output.mp4}}"],
"webhook_url": "https://your-server.com/webhooks/ffmpeg"
}Webhook Payload
The payload delivered to your server is identical to the standard Job object returned by GET /api/jobs/{id}.
{
"id": "8f3c2b6a-4d9e-4f0c-9b5a-2d3e4f5a6b7c",
"status": "succeeded",
"output_files": {
"output.mp4": "https://storage.example.com/output.mp4"
},
"error_message": ""
}Delivery
Very Good FFmpeg sends a POST request with Content-Type: application/json.
Webhook delivery retries up to 5 times with backoff. A 2xx response counts as
delivered.
Notes
Webhook requests are not signed yet. Use an unguessable webhook URL or validate job IDs server-side.