Skip to content
Search Documentation
Search across all documentation pages
Custom Pricing

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.

FieldWhat it tells you
base_priceThe price per unit you pay, in EUR. The unit is in unit.
multiplierThe multiplier you pay, for charges that scale the encoding cost.
customtrue when your price for this charge differs from the list price.
list_base_price, list_multiplierThe 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.

Run this against your own file

A free account includes 30-second test encodes, so the request on this page can be tried before anything is configured.