TL;DR

Vendor benchmark pages test the file size that flatters them. We're going to build a small Node harness that measures the two numbers that decide your upload UX, time-to-upload and time-to-playable, then look at real results across FastPix, Mux, api.video, Cloudinary, and Gumlet. The punchline: the ranking flips depending on file size, so the only benchmark that matters is the one you run on your own footage.

Why roll your own

Every video API has a benchmark page and every one of them wins its own benchmark. That's not fraud, it's selection. Upload performance depends heavily on file size, and providers optimize for different parts of the pipeline. So instead of trusting a leaderboard, let's measure the thing your users actually feel: the "processing..." spinner between hitting upload and the video being playable.

We'll measure two numbers per provider: