Background
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
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:
- Take the greater of upstream and downstream bandwidth.
- Subtract the project's monthly free bandwidth allotment from the value determined in (1).
- 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.
Example
total_monthly_upstream = 6000 GBtotal_monthly_downstream = 12000 GBtotal_billable_bandwidth = 12000 GB # max(6000, 12000)monthly_free_allotment = 50 GBtotal_overrage = 11950 GB # 12000 - 50price_per_gb = 0.16 USD # 10000 <= 11950 <= 50000total_due = 1912.00 USD # 11950 * 0.16
Transcoding
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:
- Take the total audio only minutes transcoded and the total video minutes transcoded.
- Subtract the project's monthly free transcoding allotments from the respetive values in (1).
- 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.
Example
total_monthly_ingress_minutes_video = 100 mintotal_monthly_ingress_minutes_audio_only = 50 mintotal_monthly_egress_minutes_video = 100 min #room composite or track composite only, raw track does not transcodetotal_monthly_egress_minutes_audio_only = 50 min #room composite or track composite only, raw track does not transcodetotal_monthly_transcoded_minutes_video = 200 min # 100 + 100total_monthly_transcoded_minutes_audio = 100 min # 50 + 50monthly_free_allotment_transcoded_video = 60 minmonthly_free_allotment_transcoded_audio_only = 60 mintotal_overrage_transcoded_video = 140 min # 200 - 60total_overrage_transcoded_audio_only = 40 min # 100 - 60price_per_transcoded_minute_video = 0.02 USDprice_per_transcoded_minute_audio_only = 0.005 USDtotal_due = 3.00 USD # (140 * 0.02) + (40 * 0.005)
Rates
All prices are listed in USD
Bandwidth
Price per GB | Discount | Threshold |
---|---|---|
$0.18 | -- | 1,000 GB |
$0.16 | 11.11% | 10,000 GB |
$0.14 | 22.2% | 50,000 GB |
$0.12 | 33% | 100,000 GB |
Transcoding
Type | Price per transcoded minute |
---|---|
Audio-only | $0.005 |
Video (with or without audio) | $0.02 |