Search Documentation
Search across all documentation pages
Pricing

Pricing

Transcodely uses a transparent, multiplier-based pricing model. The cost of a transcoding job is determined by the input duration, the codec, resolution, framerate, and quality tier of each output. Prices are locked at job creation time — if pricing changes after you submit a job, your cost does not change.

Cost Formula

The cost per output is calculated as:

output_cost = (duration_minutes) x base_price x codec_mult x resolution_mult x framerate_mult x quality_mult x feature_mult
FactorDescription
duration_minutesInput duration in minutes (estimated after probe, actual after encoding)
base_priceBase price per minute for the selected codec
codec_multMultiplier for the video codec
resolution_multMultiplier for the target resolution
framerate_multMultiplier based on framerate (linear: fps / 30)
quality_multMultiplier for the quality tier
feature_multCombined multiplier for add-on features (DRM, HDR, etc.)

The total job cost is the sum of all output costs.

Codec Multipliers

Different codecs have different computational costs:

CodecMultiplierNotes
H.2641.0xBaseline — fastest, most compatible
H.2651.5xBetter compression, higher compute
VP91.25xOpen-source, good for web
AV11.0xBest compression; cost premium comes from its base price, not the multiplier

AV1’s higher cost comes mainly from its base price rather than its codec multiplier. AV1 is billed at a €0.04/min base price versus the €0.01/min baseline for H.264 and H.265 (VP9 is €0.015/min), while its codec multiplier stays at 1.0x.

See Encoding Options for codec details and container compatibility.

Resolution Multipliers

Higher resolutions require more processing:

ResolutionPixelsMultiplier
480p~410K0.5x
720p~922K0.75x
1080p~2.07M1.0x
1440p~3.69M2.0x
2160p (4K)~8.29M4.0x
4320p (8K)~33.2M8.0x

Custom dimensions are mapped to the nearest resolution tier based on pixel count. See Resolutions for the full list of presets and custom dimension constraints.

Framerate Multiplier

The framerate multiplier scales linearly from a 30fps baseline:

framerate_mult = actual_framerate / 30
FramerateMultiplier
24 fps0.8x
30 fps1.0x
60 fps2.0x
120 fps4.0x

If the framerate is set to 0 (keep original), the actual framerate from the input probe is used.

Quality Tier Multiplier

Quality TierMultiplierEncoder Behavior
economy0.75xFast encoding, good quality
standard1.0xBalanced speed and quality
premium2.0xBest quality, slower encoding

See Quality Tiers for default encoder settings per tier.

Feature Multipliers

Add-on features apply additional cost multipliers. When multiple features are enabled on a single output, their multipliers are combined (multiplied together).

FeatureMultiplierDescription
DRM & Encryption1.25xWidevine, FairPlay, and/or PlayReady content protection. Applied to streaming outputs (hls, dash, adaptive).
HDR Tone Mapping1.5xHDR-to-SDR tone mapping. Mutually exclusive with Dolby Vision. HDR passthrough carries no multiplier.
Dolby Vision2.0xDolby Vision processing. Supersedes HDR tone mapping when both are requested.
Per-Title Encoding1.5xContent-aware encoding with VMAF-optimized CRF. Mutually exclusive with Auto ABR.
Auto ABR Ladder1.75xAutomatic bitrate ladder generation. Per-title encoding supersedes it when both are requested.
Subtitle Burn-in1.1xHardcoding subtitles into the video requires a full re-render.
ThumbnailsFreeThumbnail generation — single, interval, sprite sheets, or specific timestamps. Bundled with transcoding at no extra cost.

Combined Features

When multiple compatible features are used together, the feature_multiplier is the product of all individual feature multipliers. Some features are mutually exclusive — Dolby Vision supersedes HDR tone mapping, and per-title encoding supersedes the auto ABR ladder — so only one of each pair contributes. Thumbnails add no multiplier at all. For example, an output with DRM and HDR tone mapping:

feature_mult = 1.25 (DRM) x 1.5 (HDR tone mapping) = 1.875x

An output stacking DRM, Dolby Vision, per-title encoding, and subtitle burn-in:

feature_mult = 1.25 (DRM) x 2.0 (Dolby Vision) x 1.5 (per-title) x 1.1 (subtitle burn-in) = 4.125x

Example with Features

A 10-minute video encoded to H.265 4K at 30fps with premium quality, DRM, and HDR:

cost = 10 min x €0.01 x 1.5 (H.265) x 4.0 (4K) x 1.0 (30fps) x 2.0 (premium) x 1.875 (DRM + HDR tone mapping)
     = €2.25

Price Locking

All pricing multipliers are captured in a pricing snapshot when a job is created. This snapshot is immutable — even if base prices or multipliers are updated later, your job’s cost is calculated using the original snapshot.

{
  "pricing": {
    "base_price": 0.01,
    "codec_multiplier": 1.0,
    "resolution_multiplier": 1.0,
    "framerate_multiplier": 1.0,
    "quality_multiplier": 1.0,
    "resolution_tier": "1080p",
    "actual_framerate": 30,
    "pixel_count": 2073600,
    "feature_multiplier": 1.0
  }
}

For the full pricing snapshot reference, see The Output Object — Pricing Snapshot.

Estimated vs Actual Cost

Costs are calculated at two points in a job’s lifecycle:

FieldWhenBased On
estimated_costAfter input probingInput duration (estimated)
actual_costAfter encoding completesOutput duration (actual)

The estimated cost is available in the awaiting_confirmation state for delayed-start jobs, allowing you to review costs before encoding begins.

Example Calculation

A 10-minute video encoded to H.264 1080p at 30fps with standard quality:

cost = 10 min x €0.01 x 1.0 (H.264) x 1.0 (1080p) x 1.0 (30fps) x 1.0 (standard)
     = €0.10

The same video at 4K AV1 premium quality:

cost = 10 min x €0.04 (AV1 base price) x 1.0 (AV1) x 4.0 (4K) x 1.0 (30fps) x 2.0 (premium)
     = €3.20

Multi-Output Pricing

Jobs with multiple outputs are priced per-output. Each output has its own pricing snapshot and cost calculation:

{
  "total_estimated_cost": 0.225,
  "outputs": [
    {
      "estimated_cost": 0.10,
      "pricing": { "codec_multiplier": 1.0, "resolution_multiplier": 1.0, "..." : "..." }
    },
    {
      "estimated_cost": 0.125,
      "pricing": { "codec_multiplier": 1.0, "resolution_multiplier": 1.5, "..." : "..." }
    }
  ]
}

Per-Variant Pricing (ABR)

For adaptive streaming outputs (HLS/DASH) with multiple video variants, each variant has its own cost calculation in the variant_pricing array. The example below is a three-rung ABR ladder (1080p, 720p, 480p): each entry reports its own estimated_cost next to a live encoding status and progress, and the per-variant costs add up to the output’s estimated_cost (0.10 + 0.075 + 0.05 = 0.225).

{
  "outputs": [
    {
      "estimated_cost": 0.225,
      "variant_pricing": [
        {
          "index": 0,
          "codec": "h264",
          "resolution": "1080p",
          "quality": "standard",
          "estimated_cost": 0.10,
          "status": "completed",
          "progress": 100
        },
        {
          "index": 1,
          "codec": "h264",
          "resolution": "720p",
          "quality": "standard",
          "estimated_cost": 0.075,
          "status": "processing",
          "progress": 65
        },
        {
          "index": 2,
          "codec": "h264",
          "resolution": "480p",
          "quality": "standard",
          "estimated_cost": 0.05,
          "status": "pending",
          "progress": 0
        }
      ]
    }
  ]
}

The output’s estimated_cost is always the sum of all variant_pricing[].estimated_cost values. The same invariant applies to actual_cost.

Currency

All job costs are currently denominated in EUR. Every job carries a currency field indicating which currency its cost fields use; today this is always EUR, independent of the organization’s currency setting (which is not yet consulted for job pricing).

Cost Estimation Before Submission

Use the estimated_cost_per_minute field on Presets to estimate costs before submitting a job. Multiply this value by your input duration to get an approximate cost.

For precise estimates, use delayed start — the job will probe the input and provide exact cost estimates before encoding begins.