Skip to main content
Gateways filter orchestrators by price before routing jobs. An orchestrator priced above a gateway’s cap receives no work from that gateway. An orchestrator priced below the network floor earns less than its operating costs. Both extremes produce zero net income.

Livepeer pricing operates in two domains: video transcoding (a single global price per pixel) and AI inference (per-pipeline, per-model pricing in aiModels.json). Commercial relationships add a third layer: per-gateway custom pricing via -pricePerGateway. The correct price for each domain is derived from the same principle: find the range where active gateways are accepting work, then position within that range based on hardware cost.

Video pricing

Video transcoding is priced in wei per pixel. One ETH equals 1,000,000,000,000,000,000 wei (1e18). The pixel count for a job is width × height × output_renditions. The active network range changes as ETH price, gateway caps, and redemption overhead move. Use the current Livepeer Explorer and your own routed volume as the reference point. Historical ranges are only context.

Setting the price

Set -pricePerUnit at startup:
Video price startup flags
livepeer \
  -orchestrator \
  -transcoder \
  -pricePerUnit 1000 \
  -pixelsPerUnit 1 \
  ...
-pixelsPerUnit is the denominator. Leave it at 1 unless you prefer expressing price over a larger pixel batch for readability. To price in USD, append the USD suffix. go-livepeer converts the value to wei at runtime using a Chainlink ETH/USD price feed on Arbitrum:
Video price in USD
-pixelsPerUnit 1000000000000 \
-pricePerUnit 0.41USD
This example sets a price of $0.41 per trillion pixels. Adjust pixelsPerUnit to keep pricePerUnit as a readable decimal. The -pixelsPerUnit flag supports exponential notation (1e12); -pricePerUnit does not.

Surveying the market

Check Livepeer Explorer for the current price distribution across the active set. Active orchestrators are listed with their advertised price. A practical starting point is the lower half of currently active prices, then adjust upward only after you confirm that job volume still holds. Use livepeer_cli to inspect connected orchestrators and their current prices from your node’s perspective.

autoAdjustPrice

By default, go-livepeer automatically adjusts the price it advertises to gateways based on the estimated cost of ticket redemption. When gas prices rise, the overhead for redeeming a winning ticket increases as a percentage of the ticket face value. The adjustment compensates for this:
OverheadBase price 1,000 weiAdvertised price
1%1,000 wei1,010 wei
20%1,000 wei1,200 wei
50%1,000 wei1,500 wei
The adjustment is automatic and continuous. To disable it and advertise a fixed price regardless of gas conditions:
Disable autoAdjustPrice
-autoAdjustPrice=false
Disabling autoAdjustPrice is appropriate when you want a predictable advertised rate for commercial relationships, or when you are setting per-gateway prices manually. For general network participation, keep the default on.

AI pricing

AI inference pricing is configured per pipeline and per model in aiModels.json. Each entry sets its own price_per_unit independently of the video transcoding price.

Pricing units by pipeline

The unit of work varies by pipeline type:

aiModels.json pricing fields

aiModels.json pricing fields
{
  "pipeline": "text-to-image",
  "model_id": "SG161222/RealVisXL_V4.0_Lightning",
  "price_per_unit": 4768371,
  "pixels_per_unit": 1,
  "warm": true
}
The price_per_unit field accepts:
  • Integer — value in wei
  • USD string — scientific notation with USD suffix, e.g. "0.5e-3USD" (requires "currency": "USD")
The pixels_per_unit field adjusts pricing granularity. Setting it to a larger value (e.g. 1000000) lets you express price_per_unit as a more readable number over a batch of pixels.

USD notation for AI pricing

USD-denominated AI pricing is particularly useful for LLM pipelines, where per-token economics are easier to reason about than wei values:
LLM USD pricing example
{
  "pipeline": "llm",
  "model_id": "meta-llama/Meta-Llama-3.1-8B-Instruct",
  "price_per_unit": 0.18,
  "currency": "USD",
  "pixels_per_unit": 1000000,
  "url": "http://llm_runner:8000",
  "warm": true
}
For image pipelines, USD notation eliminates the need to convert from wei manually:
Image pipeline USD pricing
{
  "pipeline": "text-to-image",
  "model_id": "SG161222/RealVisXL_V4.0_Lightning",
  "price_per_unit": "0.5e-3USD",
  "currency": "USD",
  "warm": true
}
0.5e-3USD is $0.0005 per megapixel at the ETH/USD rate at runtime. The conversion uses the same Chainlink price feed as the -pricePerUnit USD mode for video.

Checking competitive AI rates

Visit tools.livepeer.cloud/ai/network-capabilities and filter by pipeline to see which price tiers are currently earning jobs. Orchestrators priced above gateway caps receive no work for that pipeline. Start at or below the median for the pipeline you are entering, then adjust based on job volume.

Per-gateway pricing

The -pricePerGateway flag sets a custom price for a specific gateway address, overriding your global -pricePerUnit for jobs from that gateway. This is the mechanism for commercial relationships where you negotiate a custom rate with a gateway operator. The current CLI reference documents the value as either a JSON payload or a path to a JSON file:
pricePerGateway JSON
{
  "gateways": [
    {
      "ethaddress": "0xGatewayAddress1",
      "priceperunit": 1000,
      "pixelsperunit": 1
    },
    {
      "ethaddress": "0xGatewayAddress2",
      "priceperunit": 1200,
      "pixelsperunit": 1
    }
  ]
}
Use -pricePerGateway when:
  • A gateway operator negotiates a dedicated rate in exchange for consistent job volume
  • You are running a combined orchestrator and gateway on the same operator stack
  • You want to offer a preferential rate to a specific partner while keeping a higher public rate

Pricing flag reference

Last modified on March 16, 2026