LiveKit LogoDocs

Cloud / Pricing and Billing

Pricing and Billing

LiveKit Cloud's pricing model, system for metering, and some example calculations.

On this page

BackgroundWhy a cost-based model?Who we chargeWhat we charge forWhen and how we charge youBandwidthExampleTranscodingExampleRates


LiveKit Cloud uses a cost-based (as opposed to value-based) pricing model. Here are some places where you see how our pricing might apply to your specific use-case:

  • Our pricing page has a detailed breakdown of our pricing plans and with features each includes.
  • To estimate costs for your use-case, we've built probably the most powerful pricing calculator ever.

Why a cost-based model?

The End of Participant-Minute Pricing is an extensive post on our pricing philosophy and how we're building a sustainable (and growing) business, while also unlocking new types of use-cases which were previously too expensive to scale.

Who we charge

We meter all projects. For a project on the Starter plan, we don't have a credit card on file to charge, but we do enforce quotas and limits. A project on the Standard plan is charged monthly (if applicable, i.e. if its resource consumption exceeds their free quota).

What we charge for

Every API LiveKit currently offers can be reduced down to use two resources: bandwidth and compute. Things like publishing your camera or microphone stream, sharing your screen, sending or receiving data messages, those primarily use bandwidth (there's some compute too, but trivial by comparison). Importing streams in other formats, like RTMP, or recording rooms or exporting tracks to third-party livestreaming services, that consumes bandwidth in a data center but also a significant amount of CPU cycles to transcode streams.

When and how we charge you

In the paragraphs below, the term application is used interchangably with project

LiveKit meters your project's resource consumption on a monthly basis and charges you for resources your application uses beyond its monthly free allotment.


Bandwidth is metered in gigabytes (GB = 1000 MB). Our system tracks the amount of data transmitted from your application to a LiveKit SFU (upstream), and data transmitted from our SFU back down to your application (downstream). When it comes time to tally your bill, we apply the following logic:

  1. Take the greater of upstream and downstream bandwidth.
  2. Subtract the project's monthly free bandwidth allotment from the value determined in (1).
  3. The result from (2) is your bandwidth overrage in GB. If this number is greater than or equal to 1, the amount you owe is your overrage multiplied by your price-per-GB.


total_monthly_upstream = 6000 GB
total_monthly_downstream = 12000 GB
total_billable_bandwidth = 12000 GB # max(6000, 12000)
monthly_free_allotment = 50 GB
total_overrage = 11950 GB # 12000 - 50
price_per_gb = 0.16 USD # 10000 <= 11950 <= 50000
total_due = 1912.00 USD # 11950 * 0.16


Transcoding is metered in minutes (min) of video or audio data transcoded. To be clear, we don't mean the length of time the transcoding process takes. Our system tracks the length of time of the actual video and/or audio segments transcoded by our backend, for your project. Transcoding audio is much less CPU-intensive than transcoding video, thus, if you transcode only audio, we charge you a lower rate. For video transcoding, we ignore the cost associated with the audio component and just charge you for minutes of video transcoded. When we calculate the transcoding component of your bill, this is how we do it:

  1. Take the total audio only minutes transcoded and the total video minutes transcoded.
  2. Subtract the project's monthly free transcoding allotments from the respetive values in (1).
  3. The results from (2) are your transcoding overrages, in minutes. If either of these numbers is greater than or equal to 1, the amount you owe is the sum of your audio-only transcoding overrage multiplied by your price-per-transcoded-audio-minute and your video transcoding overrage multiplied by your price-per-transcoded-video-minute.


total_monthly_ingress_minutes_video = 100 min
total_monthly_ingress_minutes_audio_only = 50 min
total_monthly_egress_minutes_video = 100 min #room composite or track composite only, raw track does not transcode
total_monthly_egress_minutes_audio_only = 50 min #room composite or track composite only, raw track does not transcode
total_monthly_transcoded_minutes_video = 200 min # 100 + 100
total_monthly_transcoded_minutes_audio = 100 min # 50 + 50
monthly_free_allotment_transcoded_video = 60 min
monthly_free_allotment_transcoded_audio_only = 60 min
total_overrage_transcoded_video = 140 min # 200 - 60
total_overrage_transcoded_audio_only = 40 min # 100 - 60
price_per_transcoded_minute_video = 0.02 USD
price_per_transcoded_minute_audio_only = 0.005 USD
total_due = 3.00 USD # (140 * 0.02) + (40 * 0.005)


All prices are listed in USD


Price per GBDiscountThreshold
$0.18--1,000 GB
$0.1611.11%10,000 GB
$0.1422.2%50,000 GB
$0.1233%100,000 GB


TypePrice per transcoded minute
Video (with or without audio)$0.02


Chevron IconAnalytics
LiveKit logo