All systems operational · v3 API live

Video processing APIs
built for scale

Transcode, convert, generate thumbnails and stream video through a single REST API. Global edge delivery, HLS/DASH output, and sub-second cold starts.

Everything you need for video

A complete toolchain for developers, product teams and media platforms.

Transcoding

H.264, H.265, AV1, VP9. Presets for web, mobile and OTT. Up to 4K/60fps.

Format conversion

MP4, MOV, MKV, WebM, MP3, GIF. Automatic container and codec selection.

Adaptive streaming

HLS and MPEG-DASH with multi-bitrate ladders and signed playback URLs.

Thumbnails

Sprite sheets, per-second frames, AI scene detection and preview clips.

CDN delivery

220+ PoPs, HTTP/3, instant purge and per-object analytics.

Webhooks

Signed callbacks on job completion, failure and lifecycle events.

Simple, predictable REST API

Authenticate with a bearer token. Jobs are asynchronous and return a resource ID.

1. Create a job

# POST /v3/jobs
curl -X POST https://api.videotools.example/v3/jobs \
  -H "Authorization: Bearer $VT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "input":  "https://cdn.example/src.mp4",
    "preset": "web-1080p",
    "outputs": ["hls", "mp4"],
    "callback_url": "https://app.example/hooks/vt"
  }'

2. Response

{
  "id": "job_9f3a2c81",
  "status": "queued",
  "created_at": "2025-01-14T10:22:07Z",
  "eta_seconds": 42,
  "outputs": {
    "mp4": null,
    "hls": null
  }
}

Endpoints

MethodPathDescription
POST/v3/jobsCreate a transcoding or conversion job
GET/v3/jobs/{id}Retrieve job status and outputs
DELETE/v3/jobs/{id}Cancel a queued or running job
POST/v3/thumbnailsGenerate thumbnails or sprite sheets
GET/v3/presetsList available encoding presets
POST/v3/uploadsRequest a signed upload URL

Rate limits: 600 req/min 10 concurrent jobs 99.98% SLA

2.4B+minutes processed
220+edge locations
99.98%uptime (90d)
18kdevelopers

Get started in minutes

Three steps from signup to your first processed video.

Create an account

Sign up and get a sandbox API key with 10 GB of free monthly processing.

Install the SDK

npm i @videotools/sdk · pip install videotools · go get videotools.dev/go

Send your first job

Point us at a source URL and we handle ingest, encoding and delivery.

SDK example (Node.js)

import { VideoTools } from "@videotools/sdk";

const vt = new VideoTools({ apiKey: process.env.VT_API_KEY });

const job = await vt.jobs.create({
  input:  "https://cdn.example/src.mp4",
  preset: "web-1080p",
  outputs: ["hls", "mp4"],
});

console.log(job.id);        // job_9f3a2c81
console.log(job.status);    // "queued"

Pricing

Pay only for what you process. No minimums, no egress surprises.

Free

$0/mo

10 GB processing · 1 concurrent job · community support

Pro Popular

$49/mo

500 GB · 10 concurrent jobs · webhooks · email support

Enterprise

Custom

Unlimited · dedicated capacity · SSO · 99.99% SLA · TAM

Status

ComponentRegionStatusLatency
API GatewayglobalOperational38 ms
Transcodingus-east-1Operational
Transcodingeu-west-1Operational
CDNglobalOperational21 ms
WebhooksglobalOperational112 ms