Very Good FFmpeg
How it worksPricingCompareFAQDocs
Documentation
API Reference
Documentation
Documentation
Getting Started
Fundamentals
Advanced Topics
Temporary FilesCommand ChainingHardware SelectionWebhooks
Advanced Topics
  1. Advanced Topics
  2. 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

Register webhook URL
{
  "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}.

Webhook payload
{
  "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.

Temporary Files

Upload local media files.

Hardware Selection

Run jobs on CPU or NVIDIA GPU workers.

Hardware Selection

Choose CPU or NVIDIA GPU workers for your jobs.

On this page

When to Use ThisRegistration ExampleWebhook PayloadDeliveryNotes