Getting started

Account Management

On the AssemblyAI dashboard, you can manage your projects and API keys, and see a breakdown of your usage and spend.

Projects

Projects can be used to isolate data for different environments or applications, e.g., production, staging, or development. Each project has its own API keys, allowing for better organization and data access control.

Transcripts and other project-specific data is accessible only within the project they were created in — An API key from one project will not be able to access historical transcripts or data from another project. This separation maintains data security and prevents unintended cross-project access.

This project-level scoping also applies to files uploaded via the /upload endpoint. An API key can only transcribe files that were uploaded within the same project. If you need to transcribe the same file across multiple projects, you must upload it separately in each project.

You can create, rename, and delete projects based on your plan:

Usage limitsFreePAYGContractedEnterprise
Number of projects225Custom

API Keys

API keys are unique credentials that authenticate requests to the API. Each API key is associated with a specific project, ensuring secure and controlled access.

You can create and delete API keys based on your plan:

Usage limitsFreePAYGContractedEnterprise
Number of API keys2425Custom

Create a new API Key

  1. Log in to your AssemblyAI Dashboard
  2. Navigate to the “API Keys” section
  3. Click the “Create New API Key” button
  4. Enter a descriptive name for your API key (e.g., “Production API”, “Development API”)
  5. Click “Create”

Delete an API Key

  1. Log in to your AssemblyAI Dashboard
  2. Navigate to the “API Keys” section
  3. Locate the API key you want to delete
  4. Click the “Delete” button next to the key
  5. Confirm the deletion in the popup dialog

This action cannot be undone. Make sure no active applications are using the key before deletion.

Reporting

Get insights into your usage and spend to track and manage costs effectively with the reporting tool in the AssemblyAI dashboard. You can analyze your usage and spend data at different levels of granularity:

  • Account
  • Product (e.g., Speech-to-text, Streaming, LLM Gateway)
  • Models (e.g., Best, Claude 3.5 Sonnet, etc.)
  • Project
  • API key

Usage Limits

With the current version of multi-project support, rate limiting is applied at the account level, not at the project level. This means that the rate limits for each API key mirror the rate limits for the account.

Example: If an account has an Async concurrency of 200, each API key for that account will be able to process up to 200 requests concurrently.

To ensure a smooth experience for all users, certain operations have per-account usage limits.

  • Concurrency limits for asynchronous operations
  • Rate limits for synchronous operations

In addition to concurrency limits, there is a rate limit for the API that restricts accounts to a maximum of 20,000 requests per five minutes.

Need a higher concurrency?

Our services are infinitely scalable and we offer custom concurrency limits that scale to support any workload at no additional cost. If you need a higher concurrency limit please either contact our Sales team or send an email to support@assemblyai.com.

Pre-recorded audio Speech-to-Text usage limits

AssemblyAI limits the number of transcriptions being processed at any given time.

Usage limitFree accountPaid account
Concurrent transcriptions5200+

For more details on queuing behavior, throttle notifications, and how to check your limit, see Pre-Recorded STT Concurrency.

Streaming Speech-to-Text usage limits

Usage limits for streaming speech-to-text are distinct from pre-recorded audio speech-to-text usage limits. Your streaming concurrency dictates the number of new streaming sessions that can be opened per minute.

Account typeStarting rate limit (new sessions/min)
Free5
Paid100+

For more details on auto-scaling, scale-down behavior, and session termination, see Streaming STT Concurrency.

LLM Gateway usage limits

Your LLM Gateway usage limit dictates the number of requests you can make within a 60-second time window. For more information, see Rate limits.

Each LLM Gateway model has its own separate rate limit. Requests to one model will not affect the number of requests per minute that you can make to another model.

Usage limitFree accountPaid account
Requests per minuteN/A30+

LLM Gateway is not available to accounts on the free tier. To use LLM Gateway, please upgrade to a paid account by adding a credit card to your account.

Billing and pricing

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.

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 audio

Streaming 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.

LLM Gateway billing

LLM Gateway is billed based on input and output tokens rather than audio duration. Token pricing varies by model — see the pricing page for current per-model rates. LLM Gateway is not available on the free tier.

In the context of a Large Language Model, a token is the smallest unit of text processed by the model. Roughly 100 tokens corresponds to about 75 words.

Free tier and credits

New accounts receive $50 in free credits for Pre-recorded STT, Streaming STT, 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.

See Can I sign up for free? for details on free-tier limits and what happens when credits are exhausted.

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.

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.

How to delete your account

If you need to delete your account and all associated data, you can do so through your Dashboard:

  1. Log in to your AssemblyAI Dashboard
  2. Navigate to the Account page
  3. Click the Delete Account button
  4. Follow the prompts to complete the account deletion process

Account deletion is permanent and cannot be undone. Make sure to back up any important information before proceeding with deletion.

If you encounter any issues during the deletion process or have additional questions, please contact us at support@assemblyai.com for assistance.

Best Practices

  • Use different API keys for development and production environments
  • Monitor usage and spend patterns for each API key in your dashboard
  • Keep your API keys secure and never expose them in client-side code
  • Use meaningful names and tags to easily identify the purpose of each key
  • Store API keys as environment variables in your application