Getting Started
How to get started with Very Good FFmpeg.
What is Very Good FFmpeg?
Very Good FFmpeg runs FFmpeg commands behind an API. Send input URLs, output names, and command strings. The API queues the job and returns URLs for the files you create.
Quickstart
Before you start, get an API key from verygoodffmpeg.com.
This flow uses a public input URL. For local files, use Temporary Files.
Submit a job
POST /api/ffmpeg HTTP/1.1
Authorization: Bearer REPLACE_BEARER_TOKEN
Content-Type: application/json
Host: verygoodffmpeg.com
{
"input_files": {
"input.mp4": "https://storage.verygoodffmpeg.com/sample.mp4"
},
"output_files": [
"output.mp4"
],
"ffmpeg_commands": [
"-i {{input.mp4}} -t 5 {{output.mp4}}"
],
"webhook_url": "https://example.com/webhooks/ffmpeg",
"machine": "cpu",
"timeout_seconds": 300
}Check the result
GET /api/jobs/{id} HTTP/1.1
Authorization: Bearer REPLACE_BEARER_TOKEN
Host: verygoodffmpeg.com
What Next?
- Need to upload local files? If your media isn't hosted on a public URL, see the Temporary Files guide.
- Running complex pipelines? Learn how to run multiple commands sequentially on the same machine using Command Chaining.
- Want to use GPUs? See the Hardware Selection guide for routing jobs to NVIDIA workers.
- Building asynchronous workflows? Read about Webhooks to receive notifications when jobs complete.
- Want official SDKs or MCP? See Integrations for TypeScript, Python, and MCP setup.