Blog

The pitch for self-hosting diarization writes itself. pyannote's Community-1 pipeline is open source and beats most commercial systems on the public benchmark. Download it, point it at a GPU, and diarization is free. Right?
Sort of. The model is free to obtain. Running it is not, and the gap between those two statements is what this article is about.
Here's the honest framing up front: self-hosting is genuinely the right call for some teams, and we'll say exactly which ones, because pyannoteAI publishes the model precisely so that choice exists. But "the model is free" covers one line item out of four. The other three are compute, engineering time, and the accuracy gap, and that is usually where the real money is. Let's itemize.
A licensing note first, since it decides whether this conversation happens at all. The pyannote.audio codebase is MIT-licensed and the Community-1 pipeline weights are released under CC-BY-4.0. Both are free to use commercially, with attribution required for the weights.
Line item 1: compute, and the utilization trap
Community-1 runs on a single modern NVIDIA GPU, and a bigger card mostly buys you throughput rather than capability.
The compute cost formula is simple. Your monthly audio volume, divided by your measured throughput, times your GPU's hourly cost, whether that's a cloud instance rate or an amortized owned card.
Utilization is where the formula stops being simple. Diarization workloads are usually bursty: business-hours meetings, end-of-day call batches, a podcast dump on Mondays. A GPU reserved for the peak sits idle the rest of the time, and you pay for the idle. Autoscaling fixes that on paper and creates the next line item in practice, because now someone has to build and run the autoscaling.
Line item 2: the engineering tax nobody budgets
This is the one that compounds. The first version is honest work but bounded: environment setup, the PyTorch and CUDA compatibility matrix, a job queue, monitoring, retries for the audio files that arrive broken. Teams get through it in a sprint or three and feel done. Then the tax starts collecting.
Dependencies move, and a speech stack sits on top of a lot of them. Model generations change, and the 3.1 to Community-1 transition is a concrete example of what that costs. Community-1 improved on 3.1 across eleven of the twelve benchmark datasets published on its model card, including AMI (SDM) from 22.7% to 19.9% DER and AliMeeting from 24.5% to 20.3%, with one regression on REPERE from 7.9% to 8.9%. That is a genuinely better model, and collecting the improvement meant a migration: new weights, revalidation on your own audio, and a judgment call about the one dataset that went backwards. On your time.
Volume grows, and the single-GPU setup becomes a queueing and capacity-planning problem. Someone goes on call for it. None of these steps is dramatic, and that's exactly why the cost hides. It arrives as a permanent background load on your best infrastructure people, doing work that has nothing to do with your product.
Pricing this honestly means asking a question rather than producing a fake-precision estimate. What fraction of one engineer does this consume per month, and what would that fraction build instead? In our experience the first answer usually lands between a tenth and a half of an engineer, though that is an editorial judgment rather than a measured figure, and the second answer is the real cost.
Line item 3: the accuracy gap
Community-1 is the strongest open-source option, and that's a sourced claim: on pyannoteAI's public ten-domain benchmark it outperforms most commercial systems. The same benchmark shows Precision-2 above it in every domain, and that gap is a cost too, denominated in whatever your product loses to speaker errors: mislabeled analytics, compliance flags on the wrong person, transcripts your users stop trusting.
Two published figures give the gap a shape. Precision-2 is reported as 28% more accurate in diarization error rate than the pyannote.audio 3.1 open-source pipeline, the generation Community-1 succeeded. And on speaker counting, Precision-2 predicts the exact number of speakers on 70% of a 250-file internal set spanning two to ten speakers, against roughly 50% for Precision-1.
[SLOT: the direct Community-1 vs. Precision-2 per-domain DER figures from the benchmark, for one or two named domains, so the gap is measured between the two current models rather than inferred across generations.]
There is also a capability gap rather than an accuracy one. The open-source pipeline handles batch processing. Real-time streaming diarization runs through Live-1 on the API, so a self-hosted deployment has no streaming path without moving to the commercial models. For products that need live speaker attribution, that decides the question before cost enters it.
Whether any of this matters depends entirely on your product. A research pipeline can shrug it off. A call center compliance product cannot. The point of putting it on the invoice is that most build-vs-buy spreadsheets leave it off entirely, then discover it in production.
What the managed side actually costs
Here's the other column, using pyannoteAI's published list prices as of August 2026. Verify current numbers before publication.
The Developer plan is €19 a month with €19 of usage credit included. Starter is €99 a month with €99 of credit and standard batch concurrency. Enterprise is custom, volume-based pricing, and it's where on-premise deployment of Precision-2 lives. Per-hour rates: hosted Community-1 at €0.035 per audio hour on both paid tiers, Precision-2 at €0.112 on Developer and €0.096 on Starter, and Live-1 streaming at €0.198 on Developer and €0.170 on Starter.
Monthly volume | Hosted Community-1 | Precision-2 | Notes |
|---|---|---|---|
100 audio hours | €3.50 | €11.20 | Both fit inside the €19 Developer credit |
1,000 audio hours | €35.00 | €96.00 | Precision-2 fits inside the €99 Starter credit |
10,000 audio hours | €350.00 | €960.00 | Volume territory; Enterprise pricing applies |
Assumptions: list prices as of August 2026, Community-1 at €0.035/hr on both tiers, Precision-2 at €0.112/hr on Developer and €0.096/hr on Starter. Plan fees are credit-inclusive rather than additive. Streaming and on-premise are priced separately.
The self-hosted column is deliberately absent from that table, because it cannot be filled honestly without your own throughput measurement and GPU rate. Build it with the formula above, state your assumptions in a footnote the way this table does, and compare like with like.
What the managed numbers do include is the GPUs, the scaling, the updates, and the on-call, because they are someone else's. They also include continuity: the hosted Community-1 is the same model you would self-host, served with zero infrastructure, and moving from it to Precision-2 is a parameter change rather than a migration. Customer audio is never used to train models on any tier, and retention is published per tier.
Three honest paths
Self-host Community-1 when the constraints genuinely point there: audio that cannot leave your infrastructure and a budget that rules out Enterprise, sustained volume high enough to keep GPUs busy, an ML infrastructure team that exists anyway, batch rather than streaming workloads, and accuracy needs that Community-1 meets on your own test set. Under those conditions self-hosting is rational, and the model is published so you can do exactly this.
Use hosted Community-1 when you want the same open-source model with none of the infrastructure: prototypes, spiky or low volume, and cost-sensitive production where the accuracy is already sufficient. At €0.035 an hour, the math against even a lightly-used GPU is not close.
Use Precision-2 when speaker attribution is load-bearing for your product: the accuracy ceiling on every benchmark domain, STT Orchestration for speaker-attributed transcripts in one call, voiceprints for persistent identification, Live-1 when you need streaming, and the Enterprise path to on-premise when regulated audio meets accuracy requirements. This is where products end up when speaker errors cost more than the subscription.
The paths aren't walls. Teams routinely validate on self-hosted Community-1, launch on the hosted API, and move to Precision-2 when the product proves out, with the same integration the whole way. That migration path existing at all is the quiet advantage of an open-core ecosystem, and it's the reason this article can afford to be honest about when not to buy.
Frequently asked questions
How much does it cost to run pyannote at scale? Self-hosted, the model is free to obtain and the cost is your GPUs, their utilization, and the engineering time to run and update the stack, using the formula above with your own throughput measurement. Managed, list prices as of August 2026 are €0.035 per audio hour for hosted Community-1 and from €0.096 per audio hour for Precision-2, with plans from €19 a month.
Is Community-1 really free for commercial use? Yes, with attribution. The pyannote.audio code is MIT-licensed and the Community-1 weights are CC-BY-4.0. The cost of self-hosting is operational rather than a license fee.
Should I self-host diarization or use an API? Self-host when data residency requires it, your volume keeps GPUs genuinely busy, and you have infrastructure engineers to spare. Use the API when volume is spiky, the team is small, or accuracy is the priority. Teams whose data must stay inside their environment but who also want the Precision-2 accuracy ceiling have a third option: on-premise deployment through the Enterprise path.
Can I self-host real-time streaming diarization? The open-source pipeline covers batch processing. Streaming runs through Live-1 on the API, so a live speaker-attribution product needs the commercial models.
What GPU do I need for speaker diarization? Community-1 runs on a single modern NVIDIA GPU, and larger cards raise throughput rather than unlock capability.
Ready to compare against your own numbers? The API quickstart gets you a first result in about ten minutes, and Community-1 is a download away if you would rather measure the self-hosted side yourself.
