Video enhancement API for developers

Build video enhancement into your application with a clean REST API. Submit a video URL, receive the enhanced result via webhook or polling, and download. Python and Node.js examples included — no ML infrastructure required.

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

Why developers choose an API over desktop tools

Desktop video enhancers like Topaz require manual operation, per-seat licenses, and local GPU hardware. They can't be called from your backend, can't scale with your users, and can't run automatically on upload.

An API changes that. Your application makes an HTTP call, video is enhanced on cloud GPUs, and the result comes back — no installs, no GPU provisioning, no per-seat costs.

Real-world use cases

  • User-generated content platforms: Automatically enhance uploads before display
  • Video editing SaaS: Offer one-click upscaling as a premium feature
  • Archive digitization: Batch-process legacy video libraries
  • Security software: Clarify CCTV and body-cam footage on demand

Developer-friendly integration

BetterVideo is built for production, not just demos:

  • Idempotency keys: Safely retry failed requests without double-processing
  • HMAC-signed webhooks: Verify callbacks cryptographically
  • Free sandbox: Test the full lifecycle before spending
  • Simple pricing: Per-second billing, credits never expire

Integration in 5 minutes

Get a free sandbox key, run the Postman collection, and see the full submit → poll → download flow. Then drop the same calls into your codebase.

Privacy your users can trust

When your users' video passes through your product, you inherit the data-handling practices of every vendor in the chain. BetterVideo keeps that chain clean:

  • Never trained on: Pre-trained, fixed-weight models — user footage is enhanced and returned, never used to train AI
  • Never sold: No data brokers, no 'anonymized' resale
  • Auto-deleted: 30-day default, or delete instantly via API

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

Any language that can make HTTP requests. We provide curl, Python, and Node.js examples; SDKs coming soon.

Yes — generous limits for production use. Contact us if you need higher throughput.

Yes — call the API from your backend; don't embed API keys in client code.

Submit by URL (we fetch it) or use pre-signed direct upload for large files up to 10 minutes.

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.