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. Temporary Files

Temporary Files

Upload local media files that aren't publicly accessible.

If your input files are not publicly accessible via URL, stage them first using temporary presigned URLs.

When to Use This

Use temporary files when your media is on your machine, behind auth, or not reachable by the worker.

Skip this flow when your input is already available at a public HTTPS URL.

Request presigned URLs

Call POST /api/tmp-file to get a one-time upload/download pair.

POST /tmp-file
POST /api/tmp-file HTTP/1.1
Authorization: Bearer REPLACE_BEARER_TOKEN
Host: verygoodffmpeg.com

Response:

Presigned URL response
{
  "data": {
    "upload_url": "https://storage.example.com/tmp/input?signature=upload",
    "download_url": "https://storage.example.com/tmp/input?signature=download"
  }
}

The upload URL and download URL both expire after 1 hour.

Upload the file

Perform a PUT request to the upload_url with your file's binary content.

Upload file via presigned URL
curl -X PUT "$UPLOAD_URL" \
  -T "/path/to/local/video.mp4"

Use it in a job

Pass the download_url into your job request.

POST /ffmpeg
POST /api/ffmpeg HTTP/1.1
Authorization: Bearer REPLACE_BEARER_TOKEN
Content-Type: application/json
Host: verygoodffmpeg.com

{
  "input_files": {
    "input": "https://storage.verygoodffmpeg.com/sample.mp4"
  },
  "output_files": [
    "output.mp4"
  ],
  "ffmpeg_commands": [
    "-i {{input}} -t 5 {{output.mp4}}"
  ],
  "webhook_url": "https://example.com/webhooks/ffmpeg",
  "machine": "cpu"
}

Notes

  • The upload URL accepts PUT.
  • The download URL is what you pass to input_files.
  • Files are private and only accessible through signed URLs.
Webhooks

Get notified when jobs complete.

Command Chaining

Run multi-step pipelines on the same machine.

Advanced Topics

Advanced features and workflows for the Very Good FFmpeg API.

Command Chaining

Run multiple FFmpeg commands sequentially on the same machine.

On this page

When to Use ThisRequest presigned URLsUpload the fileUse it in a jobNotes