Custom Pricing
The prices on the pricing page and in these docs are list prices. They are public and the same for everyone.
An account may also carry custom rates, agreed with Transcodely, that replace some list prices: a lower per-minute price for one codec, a reduced captions fee, or a discount off the list price. A custom rate replaces the list price for that charge only. Every charge without a custom rate stays at list price.
To see the rates that apply to you, call AppService.GetPricing. The dashboard shows the same list on the Billing page under Your pricing. Each SDK wraps the call: Go client.Apps.GetPricing(ctx, id), TypeScript client.apps.getPricing(id?) and Python client.apps.get_pricing(app_id=None).
Reading your rates
GetPricing returns one entry per chargeable item. Each entry carries the price you pay, a custom flag, and the list price beside it, so you never have to compare against the pricing page yourself.
| Field | What it tells you |
|---|---|
base_price | The price per unit you pay, in EUR. The unit is in unit. |
multiplier | The multiplier you pay, for charges that scale the encoding cost. |
custom | true when your price for this charge differs from the list price. |
list_base_price, list_multiplier | The public list values for the same charge. |
A charge has a per-unit price, a multiplier, or both. The encoding cost of an output is the codec’s base_price × output minutes × the codec, resolution, quality, feature and frame-rate multipliers (frame rate is a fixed formula, frames per second ÷ 30, and has no entry). Fees, storage and delivery are their base_price × quantity. The formula is the same with or without custom rates; see Pricing.
{
"app_id": "app_k1l2m3n4o5",
"currency": "EUR",
"entries": [
{
"rule_type": "codec",
"rule_key": "h264",
"label": "H.264",
"group_label": "Encoding",
"unit": "eur_per_output_minute",
"base_price": 0.008,
"multiplier": 1,
"custom": true,
"list_base_price": 0.01,
"list_multiplier": 1
},
{
"rule_type": "fee",
"rule_key": "processing_m",
"label": "Processing fee (M)",
"group_label": "Fees",
"unit": "eur_per_job",
"base_price": 0.05,
"custom": false,
"list_base_price": 0.05
}
]
}In this example the app pays €0.008 per output minute for H.264 instead of the €0.01 list price, and the list processing fee. The processing_* fee entries appear only when the per-job processing fee is charged.
When a rate change applies
Prices are fixed when work is quoted. A job is priced when it is created, and its outputs, processing fee and add-on fees keep that price until the job finishes. A rate change applies to jobs created after it. Hosting storage and delivery are priced when they accrue.
Every price you are charged still appears on the job itself: the job’s cost_breakdown, fees and per-output pricing snapshot carry the rate that was applied. Invoices, spend limits and budgets use those amounts, so they reflect custom rates without any extra step.
Different rates per app
Custom rates can apply to your organization, to a single app, or through your plan, so two apps in the same organization can see different prices. Pass app_id to GetPricing to read a specific app. An API key reads its own app.