Changelog
Follow along to see weekly accuracy and product improvements.
AssemblyAI is now PCI DSS v4.0 Compliant; bugfix
We've upgraded our PCI compliance PCI DSS v4.0, ensuring our Speech-to-Text API meets the latest payment card industry security standards.
Added additional retry logic to reduce edge case authentication errors that would sometimes occur.
Dashboard Revamp
We have upgraded our dashboard—now with enhanced analytics and improved navigation to help you get more out of your AssemblyAI account.

The new dashboard features:
- Modern UI with improved navigation and streamlined onboarding
- Enhanced analytics with usage and model-specific filtering
- Advanced transcription history with filtering by date, ID, project, and API key
- Dedicated rate limits section showing your account's limits for all endpoints
- Clearer billing information with improved plan details and usage visualization
Our multiple API keys feature is fully integrated with the new dashboard, allowing you to better organize projects, and enhance security.
Log in to your AssemblyAI account today to experience the improved interface.
Speaker Labels bugfix
Reduced edge case errors with the Speaker Labels feature that could sometimes occur when the final utterance was a single word.
Multiple API Keys & Projects
We’ve introduced Multiple API Keys and Projects for AssemblyAI accounts. You can now create separate projects for development, staging, and production, making it easier to manage different environments. Within each project, you can set up multiple API keys and track detailed usage and spending metrics. All billing remains centralized while ensuring a clear separation between projects for better organization and control.
Easily manage different environments and streamline your workflow. Visit your dashboard to get started! 🚀
Update to List Endpoint
We’ve bifurcated our list endpoint into two separate endpoints - one for data processed on EU servers and one for data processed on US servers. Previously, the list endpoint returned transcripts from both regions.
The US list endpoint is https://api.assemblyai.com/v2/transcript
The EU list endpoint is https://api.eu.assemblyai.com/v2/transcript
When using these endpoints, transcripts are sorted from newest to oldest and can be retrieved for the last 90 days of usage. If you need to retrieve transcripts from more than 90 days ago please reach out to our Support team at support@assemblyai.com
.
Universal improvements
Last week we delivered improvements to our October 2024 Universal release across latency, accuracy, and language coverage.
Universal demonstrates the lowest standard error rate when compared to leading models on the market for English, German, and Spanish:

Additionally, these improvements to accuracy are accompanied by significant increases in processing speed. Our latest Universal release achieves a 27.4% speedup in inference time for the vast majority of files (at the 95th percentile), enabling faster transcription at scale.
Additionally, these changes build on Universal's already best-in-class English performance to bring significant upgrades to last-mile challenges, meaning that Universal faithfully captures the fine details that make transcripts useable, like proper nouns, alphanumerics, and formatting.

You can read our launch blog to learn more about these Universal updates.
Ukrainian support for Speaker Diarization
Our Speaker Diarization service now supports Ukrainian speech. This update enables automatic speaker labeling for Ukrainian audio files, making transcripts more readable and powering downstream features in multi-speaker contexts.
Here's how you can get started obtaining Ukrainian speaker labels using our Python SDK:
import assemblyai as aai
aai.settings.api_key = "<YOUR_API_KEY>"
audio_file = "/path/to/your/file"
config = aai.TranscriptionConfig(
speaker_labels=True,
language_code="uk"
)
transcript = aai.Transcriber().transcribe(audio_file, config)
for utterance in transcript.utterances:
print(f"Speaker {utterance.speaker}: {utterance.text}")
Check out our Docs for more information.
Claude 2 sunset
As previously announced, we sunset Claude 2 and Claude 2.1 for LeMUR on February 6th.
If you were previously using these models, we recommended switching to Claude 3.5 Sonnet, which is both more performant and less expensive than Claude 2. You can do so via the final_model
parameter in LeMUR requests. Additionally, this parameter is now required.
Additionally, we have sunset the lemur/v3/generate/action-items
endpoint.
Reduced hallucination rates; Bugfix
We have reduced Universal-2's hallucination rate for the string "sa" during periods of silence.
We have fixed a rare bug in our Speaker Labels service that would occasionally cause requests to fail and return a server error.
Multichannel audio trim fix
We've fixed an issue which caused the audio_start_from
and audio_end_at
parameters to not be respected for multichannel audio.
Platform enhancements and security updates
🌍 Simplified EU Data Residency & Management
We've simplified EU operations with instant access to:
- Self-serve EU data processing via our EU endpointComplete data sovereignty for EU operations
- Regional usage filtering and cost tracking
- Reduced latency for EU-based operations
✅ Enhanced Security & Compliance
- Full-scope SOC 2 Type 2 certification across all Trust Service Criteria
- ISO 27001 certification achievement
- Enhanced security controls across our infrastructure
You can read more about these new enhancements in our related blog.
Reduced hallucination rates
We have reduced Universal-2's hallucination rate for the word "it" during periods of silence.
New dashboard features
Two new features are available to users on their dashboards:
- Users can now see and filter more historical usage and spend data
- Users can now see usage and spend by the hour for a given day
Reliability improvements
We've made reliability improvements for Claude models in our LeMUR framework.
We've made adjustments to our infrastructure so that users should see fewer timeout errors when using our Nano tier with some languages.
LiveKit 🤝 AssemblyAI
We've released the AssemblyAI integration for the LiveKit Agents framework, allowing developers to use our Streaming Speech-to-Text model in their real-time LiveKit applications.
LiveKit is a powerful platform for building real-time audio and video applications. It abstracts away the complicated details of building real-time applications so developers can rapidly build and deploy applications for video conferencing, livestreaming, and more.
Check out our tutorial on How to build a LiveKit app with real-time Speech-to-Text to see how you can build a real-time transcription chat feature using the integration. You can browse all of our integrations on the Integrations page of our Docs.
SOC2 Type 2 expansion and renewal
We have renewed our SOC2 Type 2 certification, and expanded it to include Processing Integrity. Our SOC2 Type 2 certification now covers all five Trust Services Criteria (TSCs).
Our SOC2 Type 2 report is available in our Trust Center to organizations with an NDA.
ISO 27001:2022 certification
We have obtained our inaugural ISO 27001:2022 certification, which is an internationally recognized standard for managing information security. It provides a systematic framework for protecting sensitive information through risk management, policies, and procedures.
Our ISO 27001:2022 report is available in our Trust Center to organizations with an NDA.
Timestamp improvement; no-space languages fix
We've improved our timestamp algorithm, yielding higher accuracy for long numerical strings like credit card numbers, phone numbers, etc.
We've released a fix for no-space languages like Japanese and Chinese. While transcripts for these languages correctly contain no spaces in responses from our API, the text
attribute of the utterances
key previously contained spaces. These extraneous spaces have been removed.
We've improved Universal-2's formatting for punctuation, lowering the likelihood of consecutive punctuation characters such as ?'
.
Multichannel support
We now offer multichannel transcription, allowing users to transcribe files with up to 32 separate audio channels, making speaker identification easier in situations like virtual meetings.

You can enable multichannel transcription via the `multichannel` parameter when making API requests. Here's how you can do it with our Python SDK:
import assemblyai as aai
aai.settings.api_key = "YOUR_API_KEY"
audio_file = "path/to/your/file.mp3"
config = aai.TranscriptionConfig(multichannel=True)
transcriber = aai.Transcriber(config=config)
transcript = transcriber.transcribe(audio_url)
print(transcript.json_response["audio_channels"])
print(transcript.utterances)
You can learn more about multichannel transcription in our Docs.
Introducing Universal-2
Last week we released Universal-2, our latest Speech-to-Text model. Universal-2 builds upon our previous model Universal-1 to make significant improvements in "last mile" challenges critical to real-world use cases - proper nouns, formatting, and alphanumerics.

Comparison of error rates for Universal-2 vs Universal-1 across overall performance (Standard ASR) and four last-mile areas, each measured by the appropriate metric
Universal-2 is now the default model for English files sent to our `v2/transcript` endpoint for async processing. You can read more about Universal-2 in our announcement blog or research blog, or you can try it out now on our Playground.