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| Factor | Description |
|---|---|
duration_minutes | Input duration in minutes (estimated after probe, actual after encoding) |
base_price | Base price per minute for the selected codec |
codec_mult | Multiplier for the video codec |
resolution_mult | Multiplier for the target resolution |
framerate_mult | Multiplier based on framerate (linear: fps / 30) |
quality_mult | Multiplier for the quality tier |
feature_mult | Combined 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:
| Codec | Multiplier | Notes |
|---|---|---|
| H.264 | 1.0x | Baseline — fastest, most compatible |
| H.265 | 1.5x | Better compression, higher compute |
| VP9 | 1.3x | Open-source, good for web |
| AV1 | 2.5x | Best compression, highest compute |
See Encoding Options for codec details and container compatibility.
Resolution Multipliers
Higher resolutions require more processing:
| Resolution | Pixels | Multiplier |
|---|---|---|
| 480p | ~307K | 0.5x |
| 720p | ~922K | 0.75x |
| 1080p | ~2.07M | 1.0x |
| 1440p | ~3.69M | 1.5x |
| 2160p (4K) | ~8.29M | 2.5x |
| 4320p (8K) | ~33.2M | 5.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| Framerate | Multiplier |
|---|---|
| 24 fps | 0.8x |
| 30 fps | 1.0x |
| 60 fps | 2.0x |
| 120 fps | 4.0x |
If the framerate is set to 0 (keep original), the actual framerate from the input probe is used.
Quality Tier Multiplier
| Quality Tier | Multiplier | Encoder Behavior |
|---|---|---|
economy | 0.75x | Fast encoding, good quality |
standard | 1.0x | Balanced speed and quality |
premium | 2.0x | Best 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).
| Feature | Multiplier | Description |
|---|---|---|
| DRM & Encryption | 1.25x | Widevine, FairPlay, and/or PlayReady content protection. Applied to streaming outputs (hls, dash, adaptive). |
| HDR | 1.40x | HDR processing — passthrough, tone mapping, or forced HDR metadata. Applied per variant. |
| Content-Aware Encoding | 1.15x | Per-title encoding or automatic ABR ladder generation with VMAF targeting. |
| Thumbnails | 1.10x | Thumbnail generation — single, interval, sprite sheets, or specific timestamps. |
Combined Features
When multiple features are used together, the feature_multiplier is the product of all individual feature multipliers. For example, an output with DRM and HDR:
feature_mult = 1.25 (DRM) x 1.40 (HDR) = 1.75xAn output with all four features:
feature_mult = 1.25 (DRM) x 1.40 (HDR) x 1.15 (content-aware) x 1.10 (thumbnails) = 2.22xExample 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 2.5 (4K) x 1.0 (30fps) x 2.0 (premium) x 1.75 (DRM + HDR)
= €1.31Price 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:
| Field | When | Based On |
|---|---|---|
estimated_cost | After input probing | Input duration (estimated) |
actual_cost | After encoding completes | Output 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.10The same video at 4K AV1 premium quality:
cost = 10 min x $0.01 x 2.5 (AV1) x 2.5 (4K) x 1.0 (30fps) x 2.0 (premium)
= $1.25Multi-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:
{
"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 costs are denominated in the organization’s billing currency (set at creation, default EUR). The currency field on every job indicates which currency the cost fields use.
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.