How billing works
- Add a credit card and deposit funds into your account. Funds are drawn down as you use the API.
- Rates are listed per hour for simplicity, but pre-recorded audio is pro-rated to the exact second of audio processed.
- Credits are deducted only after a successful transcription completes. If a request errors, you aren’t charged for it.
- Monitor your balance on the Billing page and enable auto-pay to avoid service interruptions. End-of-month invoicing is available for enterprise customers.
- Set up billing alerts in your dashboard to get notified before your balance runs low.
Payment method and invoices
AssemblyAI accepts all major credit cards. ACH transfers are available in some cases — email support@assemblyai.com to learn more. To update the credit card on your account, log in to the dashboard, open the account menu (person icon, top right), select Account, go to the Billing tab, and click Update payment details. To change the company information shown on your invoices, email support@assemblyai.com with the details you’d like to appear.Pre-recorded Speech-to-Text billing
Pre-recorded transcription is billed on the duration of the submitted audio or video file in seconds, multiplied by the hourly rate for the selected speech model. Add-on features (for example, Entity Detection or Medical Mode) are billed separately at their own hourly rates, also pro-rated to the exact second.Streaming Speech-to-Text billing
Billing for streaming sessions starts when the WebSocket connection opens and stops when the session ends. This model gives you full control over cost: you can keep a stream open continuously for instant response, or open streams on demand to minimize spend. Follow these best practices to avoid unexpected charges:- Always send a session termination message when your application is finished with a stream. This is what stops billing for the session.
- If a session is not closed, it will automatically close after 3 hours — and you’ll be billed for the full 3 hours of session time, regardless of how much audio was actually streamed.
- Improperly closed streaming sessions are the most common cause of unexpected charges that lead to negative account balances.
Multichannel billing
When multichannel transcription is enabled, each channel is transcribed and billed separately. The total cost is the audio duration multiplied by the model’s hourly rate, multiplied by the number of channels. For example, a 5-minute recording with three channels is billed as 15 minutes of audio (5 minutes × 3 channels) at the selected model’s rate.Free tier and credits
New accounts receive $50 in free credits for Pre-recorded STT, Streaming STT, Voice Agent API, Speech Understanding, and Guardrails. Credits do not expire, and any unused credits are retained on your account when you upgrade by adding a credit card. LLM Gateway is not included in the free tier. Once your free credits are used up, add a credit card to keep using the API. If your balance reaches $0 without auto-pay enabled, API access is paused until you top up.Volume discounts
If you plan to send large volumes of audio or video through the API, contact sales to see if you qualify for a volume discount.Startup and Y Combinator pricing
Early-stage startups can apply for the AssemblyAI Startup Program, designed to help startups build with the speech-to-text API without financial constraints. Y Combinator companies qualify for special pricing — contact sales to discuss the discount and see if you qualify.AWS Marketplace
AssemblyAI is available on the AWS Marketplace. Purchasing through the AWS Marketplace lets you consolidate billing with your existing AWS account and apply your spend toward any AWS committed-use agreements. For details, contact sales or ask your AWS account team.Billing and customer usage tracking
The Reporting section in your dashboard provides a breakdown of usage and spend. If you need to track usage programmatically on a per-customer basis, you can use webhooks with custom query parameters for async transcription, or capture thesession_duration_seconds from the WebSocket Termination event for streaming.
For async transcription, append a customer_id query parameter to your webhook URL when submitting a transcription:
customer_id from the webhook URL and retrieve the audio_duration from the transcript response to record usage.
For streaming transcription, manage customer IDs in your application state and capture the session_duration_seconds from the Termination event. AssemblyAI bills streaming based on session duration.
Creating separate API keys for each customer is not recommended. Use webhooks
with metadata instead.
How does Auto-pay work?
Auto-pay automatically recharges your account when your balance falls below a specified threshold. When triggered, it charges your card to bring your balance back to a predetermined amount. Auto-pay is recommended for production environments to prevent service interruptions.Example
If you set:- Whenever my balance falls below: $25
- Bring my balance back to: $50