Blog
Cost 6 min read

Mux encoding pricing: why every minute costs extra

How Mux's per-minute encoding fee compounds as your catalog grows, and why rehelios encodes for free and bills only per GB instead.

rehelios

Engineering

If you’re modeling out a Mux bill before committing to it, the line item that catches people off guard usually isn’t storage or delivery — it’s encoding. Every minute of video you send in gets billed the moment it’s ingested, before anyone has watched a single frame of it.

That’s not a knock on Mux’s engineering. Their transcoding pipeline is solid and their dashboard makes a bill legible in a way a lot of infra doesn’t. It’s a question of billing model fit: does a per-minute-to-encode charge match how your catalog actually grows? For teams building course libraries, internal video archives, or anything fed by user or AI-generated uploads, the answer is often no — and the reason has less to do with Mux specifically than with the shape of a catalog that only ever grows.

Mux charges to encode every minute of video you ingest — roughly $0.04/minute on its baseline tier, per their public pricing at the time of writing — separate from what it later charges for storage and delivery. Because every new upload triggers a fresh encoding charge, that line item scales with how much you add, not with how much gets watched. rehelios encodes for free and instead charges $0.02/GB-month to store and $0.005/GB to deliver, so uploading more video doesn’t add to the bill until it’s actually stored or streamed.

~$0.04/min

Mux's baseline encoding rate, per their public pricing at time of writing

$0

rehelios encoding cost, at any catalog size

$0.02/GB-mo

rehelios storage — no per-minute meter running

$0.005/GB

rehelios delivery — same per-GB shape as storage

How Mux’s per-minute encoding billing works

Mux’s pricing is built around discrete meters — encoding at ingest, storage, and delivery — each billed per minute of video rather than per byte. Per their public pricing at the time of writing, the baseline encoding tier runs around $0.04 per minute of source video pushed through the pipeline, before it’s stored and before it’s streamed to a single viewer. Higher-quality tiers and additional renditions push that per-minute number up further.

Metering in minutes instead of gigabytes isn’t unique to Mux — Cloudflare Stream does the same thing for storage and delivery, which we’ve covered in why Cloudflare Stream doesn’t bill per GB. What makes encoding worth isolating on its own is timing: it’s charged once, at upload, completely independent of whether the video ever gets watched.

The encoding charge doesn’t care whether anyone ever presses play — only that you uploaded the video.

A course module uploaded and never opened costs exactly the same to encode as one streamed ten thousand times.

Why this compounds for a growing catalog

A catalog that only grows — new creators adding courses, a fleet generating footage, an AI pipeline producing clips — never sees its encoding line item shrink. Every new upload is a fresh charge stacked on every charge that came before it. The bill tracks cumulative upload volume, not active audience size and not storage footprint, and for most growing products cumulative upload volume is a number that only goes up.

That’s a different shape from a bill that tracks usage. If nobody watches an old module this month, a per-GB delivery charge for that video is close to zero. But the encoding charge for putting it there in the first place already happened, months earlier, and doesn’t get any cheaper as the catalog ages or as older content goes cold. Teams that project this out over a year or two of steady uploads are usually the ones who start looking for a different model.

The rehelios model: encoding is free

rehelios turns that specific meter off. Uploading or importing video — transcoding to adaptive HLS, with optional MPEG-DASH and progressive MP4 — costs $0, at any volume. What you pay for is what the video actually consumes once it exists: $0.02 per GB-month stored and $0.005 per GB delivered, with a $1/month minimum. That’s the same shape as Bunny’s pricing, and the deliberate opposite of a per-minute meter — it charges for space and bandwidth, not for the act of encoding.

npx @rehelios/cli import https://storage.example.com/course-042.mp4 \
  --collection col_courses \
  --wait --json

Encoding to HLS happens as part of that call, at no charge. The only bill you’ll see later is for the GB it occupies in storage and the GB actually delivered to viewers. See the full breakdown on the pricing page.

A worked example: encoding 1,000 hours of new content

Take 1,000 hours of new video landing in a catalog over a quarter — 60,000 minutes. Under Mux’s per-minute model, at roughly $0.04/minute on the baseline tier (per their public pricing at the time of writing), that’s an encoding charge in the neighborhood of $2,400 for that batch alone, before a single minute of storage or delivery is billed, and before accounting for higher tiers or extra renditions that push the per-minute rate up further. That charge recurs every time another 1,000 hours comes in — it doesn’t taper off as the catalog matures.

Under rehelios’s model, the same 60,000 minutes cost $0 to encode. The bill only starts once that video is sitting in storage and being delivered to viewers, and it’s metered in gigabytes rather than minutes — so a library that’s mostly cold (uploaded, rarely watched) stays cheap. The real difference is the shape of the two bills: one scales with what you upload, the other scales with what you store and serve. We compare this per-minute-vs-per-GB split across providers in more depth in how video hosting API pricing compares by billing model.

Mux isn’t the wrong choice — it’s a billing model choice

None of this is an argument that Mux is a bad product. Their developer experience is mature, their dashboard and debugging tools are well built, and their feature set — thumbnails, live streaming, real-time analytics — covers ground that takes most video infra vendors years to build. Mux even ships an official MCP server for agent workflows, which is more than most providers in the category can say.

The question worth asking before committing isn’t whether Mux is good — for plenty of teams it clearly is — it’s whether per-minute-to-encode matches how your catalog actually grows. If your upload volume is flat and your library stays small, the difference barely shows up on the bill. If you’re onboarding new creators, ingesting AI-generated video, or building anything where the catalog only moves in one direction, the encoding meter is worth modeling explicitly before you sign up. See how the two providers stack up in more detail in the Mux comparison.

A bill you can predict from the shape of your catalog, rather than one you have to reconstruct from every ingest event against a per-minute meter, tends to be the one that doesn’t surprise you a year in. That’s the real argument for separating the cost of encoding from the cost of everything else — and for checking, before you build on top of either model, which one actually matches how your product grows.

Put your first video live today

Create an account, upload a file, and have a fast, embeddable video live in minutes. Pay only for what you store and stream.