Skip to main content
AssemblyAI uses pay-as-you-go pricing with no contracts, minimums, or monthly subscriptions. You only pay for what you use, and failed transcripts aren’t charged. For the latest per-hour rates across all models, see the pricing page or the Models pricing section.

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

Streaming is billed per session, not per second of audioStreaming Speech-to-Text is billed on the total duration that your WebSocket connection stays open, not on the amount of audio you send. You’re charged for the entire session — including any time the connection is idle with no audio flowing — so it’s important to close streaming sessions as soon as you’re done with them.
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.
For details on how to terminate a session, see the Session termination message sequence reference.

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 the session_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:
https://your-domain.com/webhook?customer_id=customer_123
When the transcription completes, extract the 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
When your balance of $26 drops to $21 after a $5 charge, auto-pay will add $29 to reach your $50 target balance.
When your balance hits $0 or goes negative without auto-pay, your API access is restricted until you add funds. You’ll receive this error message: {"error": "Your current account balance is negative. Please top up to continue using the API."}
Enable auto-pay and maintain a healthy balance to ensure uninterrupted API access. Set your threshold based on your typical monthly usage to avoid frequent small charges. You can also disable auto-pay at any time through your account settings.