
AssemblyAI-TTS-1 pricing card, captured from the official product page on November 5, 2026. This example models the $15 per million input-character rate, not a free trial or a negotiated contract.

AssemblyAI's text-to-speech billing FAQ, captured on November 5, 2026. Input characters include spaces and punctuation; pay-as-you-go has no per-voice fees, minimums or contracts. Cloned voices and EU processing use the same rate.
This example covers gross pay-as-you-go usage charges for AssemblyAI-TTS-1 only, before credits, discounts and tax. It excludes speech-to-text, audio intelligence, other products and models, free trials, promotional balances and negotiated contracts. The event names and configuration labels below are integration-defined examples, not AssemblyAI API fields.
Pricing profile
These labels describe the self-serve text-to-speech API modeled here, not AssemblyAI’s full product catalogue or enterprise sales process.AssemblyAI-TTS-1 pricing
The text-to-speech pricing section and FAQ publish the following terms:
The million-character denominator is a rate presentation, not a requirement to purchase whole million-character blocks. Keep the meter in raw characters and apply 15 ÷ 1,000,000 = 0.000015 once. Do not round each request up to a million characters, and do not substitute a per-minute speech estimate.
Design takeaways
- A large display unit need not become a billing package. The published per-character billing rule lets the model preserve small requests exactly. A raw-character SUM meter and a decimal unit price avoid artificial million-character blocks.
- Price dimensions should follow real rate differences. The same rate for cloned voices and EU processing means neither needs a new charge. Keep voice or region attributes for operational analysis if useful, without multiplying the billable quantity across overlapping meters.
- Usage measurement and payment collection are separate decisions. The pay-as-you-go offer has no minimum or contract. That supports a usage-only price, but does not by itself establish a monthly invoice or prepaid-wallet cadence. Configure collection separately rather than inventing a monthly allowance or credit grant.
How AssemblyAI’s pricing maps to Flexprice
This guide uses USD and monthly usage billing in arrears in Flexprice to demonstrate a gross usage invoice. The invoice cadence is an implementation choice, not a claim about AssemblyAI’s payment collection schedule. Reproducing trial credits, prepaid funding or negotiated terms requires separate, verified configuration; a monthly entitlement reset does not create free characters.
Set up the character meter
In Product Catalog → Features → Add Feature, create a metered feature named AssemblyAI TTS input characters. Use the following feature configuration, or the equivalent dashboard settings:AssemblyAI-TTS-1 is an integration label for the selected product, not a claim about an API request parameter. Populate it only after verifying which product produced the charged usage. Route other products and models to separate meters and verified prices.
Leave reporting conversion unset. Both the SUM field and the charge use raw characters, so the price must not be applied to an already divided million-character quantity. Use SUM, not COUNT: a 2,000-character request contributes 2,000 units, not one.
Configure the usage-only plan
Create a plan named AssemblyAI TTS PAYG Example and add the feature as a usage-based flat-fee charge:
When using the prices API, set
entity_type to PLAN, entity_id to the created plan’s ID and meter_id to the returned meter ID. Use billing_period, not billing_cycle, and keep billing_period_count at 1. Pass the unit amount as a decimal string without rounding it to two decimal places.
Add an unlimited metered entitlement for this feature. It permits access; it is not a free usage allowance. Create a customer and subscription to the example plan with subscription quantity 1. Do not add another recurring charge just to enable metering.
Send charged usage
Have your server normalize charged input characters into Flexprice usage events. Preserve spaces and punctuation. Reconcile the quantity with the provider’s charged usage rather than inferring it from audio length, stripping whitespace or assuming that every attempted request or retry was charged. This is an illustrative Flexprice event, not an AssemblyAI API response:event_id and timestamp to match; a new retry timestamp can count the same usage twice. A separately charged generation is a separate record. Verify the provider’s character-count convention for Unicode text; do not assume that bytes, JavaScript string length and billed characters are interchangeable. This example does not invent a Unicode counting rule or a failed-request billing policy.
Verify a worked usage bill
Suppose the customer’s normalized charged records total 750,250 characters from library voices and 600,000 characters from cloned voices in the example billing period. Both belong to the same meter and price, regardless of US or EU processing.
Use decimal arithmetic and aggregate usage before rounding the monetary total. For comparison, 2,000 charged characters cost $0.03**, and 1,000,000 cost **$15.00. Rounding each small request to cents before summing can lose usage charges.
Before relying on an invoice, verify that:
- The SUM meter receives only the selected product’s charged input characters.
- Spaces and punctuation remain included, while duplicate event delivery does not add usage.
- Cloned voices and EU processing do not produce additional surcharges or overlapping priced events.
- The unit amount remains
"0.000015", with no package rounding or second million-character conversion. - No recurring fee, free monthly allowance or minimum commitment was added.

