AI Video Enhancement API

Upscale, sharpen, and restore video with AI through a single REST call. Send a video URL and BetterVideo enhances it on GPU (Real-ESRGAN + GFPGAN) — you poll or receive a signed webhook, then download. No ML to run, no GPU farm to manage.

Free sandbox key, no card. Never trained on. Never sold. Auto-deleted.

What the API does

BetterVideo turns one POST /v1/jobs into a full enhancement pipeline:

  • Upscale to 1080p or 4K
  • Sharpen and clarify detail
  • Restore faces with GFPGAN
  • Adaptive contrast + denoise

You never run a GPU, manage models, or maintain inference infrastructure — it's an HTTP call.

Built for products, not just demos

Idempotency keys, HMAC-signed webhooks, a free sandbox lane that mirrors the live lifecycle, and simple per-second pricing. Build your whole integration against the sandbox before spending anything, then switch one key to go live.

One API call — curl, Python & Node

Submit a video by URL, then poll GET /v1/jobs/{id} until done (or receive a signed webhook), and fetch a time-limited download link:

cURL
curl -X POST https://api.bettervideo.io/v1/jobs \
  -H "Authorization: Bearer YOUR_KEY" -H "Content-Type: application/json" \
  -d '{"video_url":"https://.../clip.mp4","resolution":"1080p"}'
Python
import requests
r = requests.post("https://api.bettervideo.io/v1/jobs",
    headers={"Authorization": "Bearer YOUR_KEY"},
    json={"video_url": "https://.../clip.mp4", "resolution": "1080p"})
job = r.json()  # poll GET /v1/jobs/{job['id']} until status == "done"
Node.js
const res = await fetch("https://api.bettervideo.io/v1/jobs", {
  method: "POST",
  headers: { "Authorization": "Bearer YOUR_KEY", "Content-Type": "application/json" },
  body: JSON.stringify({ video_url: "https://.../clip.mp4", resolution: "1080p" })
});
const job = await res.json();

Privacy is the default, not an upgrade

  • Never trained on. Pre-trained, fixed-weight models — your frames are enhanced and returned, never used to train AI.
  • Never sold or shared. No third parties, no data brokers, no "anonymized" resale.
  • Auto-deleted. Files self-delete (default 30 days), or delete any job instantly with one call.
  • Proof on the Secure tier. Every deletion can return a signed deletion certificate, with a full audit log.

Frequently Asked Questions

No. Models are pre-trained with fixed weights; your frames are enhanced and returned, never used for training.

Jobs run on GPU and most complete in well under a minute for short clips; you can poll or use a signed webhook.

Yes — a free sandbox key (no card) runs the full submit/poll/result/delete lifecycle at no cost.

Start free — get your API key

Free sandbox key (no card). Try the entire submit → enhance → download flow in a minute with the Run-in-Postman collection.