Transcode, convert, generate thumbnails and stream video through a single REST API. Global edge delivery, HLS/DASH output, and sub-second cold starts.
A complete toolchain for developers, product teams and media platforms.
H.264, H.265, AV1, VP9. Presets for web, mobile and OTT. Up to 4K/60fps.
MP4, MOV, MKV, WebM, MP3, GIF. Automatic container and codec selection.
HLS and MPEG-DASH with multi-bitrate ladders and signed playback URLs.
Sprite sheets, per-second frames, AI scene detection and preview clips.
220+ PoPs, HTTP/3, instant purge and per-object analytics.
Signed callbacks on job completion, failure and lifecycle events.
Authenticate with a bearer token. Jobs are asynchronous and return a resource ID.
# 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"
}'
{
"id": "job_9f3a2c81",
"status": "queued",
"created_at": "2025-01-14T10:22:07Z",
"eta_seconds": 42,
"outputs": {
"mp4": null,
"hls": null
}
}
| Method | Path | Description |
|---|---|---|
| POST | /v3/jobs | Create 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/thumbnails | Generate thumbnails or sprite sheets |
| GET | /v3/presets | List available encoding presets |
| POST | /v3/uploads | Request a signed upload URL |
Rate limits: 600 req/min 10 concurrent jobs 99.98% SLA
Three steps from signup to your first processed video.
Sign up and get a sandbox API key with 10 GB of free monthly processing.
npm i @videotools/sdk · pip install videotools · go get videotools.dev/go
Point us at a source URL and we handle ingest, encoding and delivery.
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"
Pay only for what you process. No minimums, no egress surprises.
$0/mo
10 GB processing · 1 concurrent job · community support
$49/mo
500 GB · 10 concurrent jobs · webhooks · email support
Custom
Unlimited · dedicated capacity · SSO · 99.99% SLA · TAM
| Component | Region | Status | Latency |
|---|---|---|---|
| API Gateway | global | Operational | 38 ms |
| Transcoding | us-east-1 | Operational | — |
| Transcoding | eu-west-1 | Operational | — |
| CDN | global | Operational | 21 ms |
| Webhooks | global | Operational | 112 ms |