API Directory › Integrate with REST / cURL

Integrate BetterVideo with REST / cURL

A working REST / cURL example that submits a video for enhancement, polls the job to completion, and returns the time-limited download link — against the live BetterVideo API.

🔒 Footage deleted on your schedule — with a certificate to prove it

# 1. Submit a video for enhancement
curl -s https://api.bettervideo.io/v1/jobs \
  -H "Authorization: Bearer bv_live_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{"video_url":"https://example.com/clip.mp4","resolution":"1080p"}'
# -> {"id":"job_123","status":"queued", ...}

# 2. Poll the job until "status":"done"
curl -s https://api.bettervideo.io/v1/jobs/job_123 \
  -H "Authorization: Bearer bv_live_your_key_here"

# 3. Fetch the time-limited download link
curl -s https://api.bettervideo.io/v1/jobs/job_123/result \
  -H "Authorization: Bearer bv_live_your_key_here"
# -> {"download_url":"https://...","expires_in":3600}

Plain HTTP — works from any shell. Base URL https://api.bettervideo.io/v1 · auth Authorization: Bearer bv_live_…. Grab a free sandbox key from the developer console.

What the code does

  1. SubmitPOST /v1/jobs with a public video_url and a resolution (1080p or 4k).
  2. PollGET /v1/jobs/{id} until status is done (or error). Prefer a signed webhook_url in production instead of polling.
  3. DownloadGET /v1/jobs/{id}/result returns a time-limited download_url. DELETE /v1/jobs/{id} removes it on demand.
See how BetterVideo compares to other video APIs →

Start building in REST / cURL

Free sandbox key, no card — build the whole integration before you spend anything.

Get your API key →