Speechmatics
Set up and create transcripts using Speechmatics as a speech-to-text provider for post-meeting and real-time transcription.
You can use Speechmatics as a speech-to-text provider for transcription. This guide explains how to:
- Set up Speechmatics as a speech-to-text provider and configure Speechmatics for post-meeting and real-time transcription
- Learn how to configure Speechmatics for multilingual transcription and access Speechmatics-specific fields on the transcript data (available when not using Perfect Diarization or Hybrid Diarization)
- Covers FAQs
You can use this sample app to compare transcription quality and output across multiple third-party providers using Recall.ai's async transcription API.
Setup
Before using Speechmatics with Recall.ai, you must create a Speechmatics API key and add it to the Recall.ai dashboard.
Create a Speechmatics API key
Create a new API key in the Speechmatics Portal.
Take note of the API key. You will add this key to the Recall.ai transcription dashboard.
Add your Speechmatics API key to the Recall.ai transcription dashboard
Add your Speechmatics API key in the Recall.ai dashboard for the Recall region where you will create recordings:
Recall.ai regions are isolated, so you must add your Speechmatics API key in each Recall.ai region where you want to use Speechmatics transcription.
Quickstart
Supported transcription workflows
| Workflow | Supported |
|---|---|
| Post-meeting transcription | ✅ Yes |
| Real-time transcription with meeting bots | ✅ Yes |
| Real-time transcription with Desktop Recording SDK | ❌ No |
Speechmatics for post-meeting transcription
Use post-meeting transcription when you want to transcribe a recording after the recording has completed.
To use Speechmatics for post-meeting transcription, call the Create Async Transcript endpoint and set provider to speechmatics_async along with your preferred Speechmatics transcription options:
curl --request POST \
--url https://RECALL_REGION.recall.ai/api/v1/recording/RECORDING_ID/create_transcript/ \
--header "Authorization: RECALL_API_KEY" \
--header "accept: application/json" \
--header "content-type: application/json" \
--data '
{
"provider": {
"speechmatics_async": {
"language": "en"
}
}
}
'See the provider.speechmatics_async field on the Create Async Transcript endpoint for the full list of options available.
See post-meeting transcription for the full post-meeting transcription implementation, including when to create the post-meeting transcript, which webhook events to listen for, how to retrieve the completed transcript, how to handle transcription failures, and more.
Speechmatics for real-time transcription
To use Speechmatics for real-time transcription, set the provider to speechmatics_streaming when creating the recording. Real-time transcript delivery is configured separately through recording_config.realtime_endpoints.
Speechmatics requires you to set language for real-time transcription.
Meeting bots
To use Speechmatics real-time transcription with meeting bots, set recording_config.transcript.provider.speechmatics_streaming in the Create Bot request along with your preferred Speechmatics transcription options:
curl --request POST \
--url https://RECALL_REGION.recall.ai/api/v1/bot/ \
--header "Authorization: RECALL_API_KEY" \
--header "accept: application/json" \
--header "content-type: application/json" \
--data '
{
"meeting_url": "MEETING_URL",
"recording_config": {
"transcript": {
"provider": {
"speechmatics_streaming": {
"language": "en"
}
}
},
"realtime_endpoints": [
{
"url": "REAL_TIME_TRANSCRIPT_WEBHOOK_ENDPOINT",
"type": "webhook",
"events": ["transcript.data"]
}
]
}
}
'See the recording_config.transcript.provider.speechmatics_streaming field on the Create Bot endpoint for the full list of options available.
See Meeting Bot Real-time Transcription for the full meeting bot implementation, including how to create a bot with real-time transcription enabled, configure real-time transcript delivery, subscribe to transcript events, and receive transcript data from a live meeting.
Desktop Recording SDK
Speechmatics is not supported for real-time transcription with the Desktop Recording SDK.
If you are using the Desktop Recording SDK and need real-time transcription, use a real-time transcription provider that supports the Desktop Recording SDK like Recall.ai Transcription.
Additional configurations
Multilingual transcription with Speechmatics
In some meetings, participants may speak in more than one language, and you may not know ahead of time which language or languages will be used. In those cases, you can use a transcription provider that supports multilingual transcription. Multilingual transcription generally includes two distinct features:
| Feature | Description |
|---|---|
| Language detection | Detects the spoken language without requiring you to set a language explicitly. |
| Code-switching | Handles conversations where speakers switch between two or more languages during the same meeting. |
Speechmatics supports multiple transcription languages, but multilingual transcription support varies between post-meeting transcription and real-time transcription.
Multilingual transcription options for post-meeting transcription
Speechmatics post-meeting transcription can use either language detection or code-switching, but not both at the same time.
Code-switching is only supported for specific language combinations. Check the Speechmatics supported languages before enabling code-switching in production.
Speechmatics post-meeting transcription supports language detection by setting language to auto:
{
// ... other Create Async Transcript request options
"provider": {
"speechmatics_async": {
"language": "auto"
}
}
}Speechmatics also supports code-switching for specific language combinations. To configure code-switching, set language to a supported bilingual or multilingual language code:
{
// ... other Create Async Transcript request options
"provider": {
"speechmatics_async": {
"language": "cmn_en"
}
}
}Multilingual transcription options for real-time transcription
Speechmatics real-time transcription requires you to set a single supported language and does not support language detection or code-switching through Recall.ai.
See Speechmatics supported languages for the latest Speechmatics language support.
Speechmatics real-time transcription does not support language detection or code-switching through Recall.ai.
To configure Speechmatics for real-time transcription in a supported language, set language in the speechmatics_streaming provider configuration:
{
// ... other request options
"recording_config": {
// ... other recording options
"transcript": {
// ... other transcript options
"provider": {
"speechmatics_streaming": {
"language": "es"
}
}
}
}
}Accessing provider-specific fields from Speechmatics transcript data
If you need Speechmatics-specific fields that are not exposed in the normalized Recall transcript, you can access the provider data.
Provider data is not available when using Perfect Diarization or Hybrid Diarization
Accessing Speechmatics provider data post-meeting
For post-meeting transcription, you can access the raw Speechmatics transcription response from the completed transcript artifact. To access provider data after the meeting, fetch the transcript artifact using the Retrieve Transcript endpoint. Use the data.provider_data_download_url field from the response to download the raw provider response.
The response returned by provider_data_download_url varies by provider. See the accessing provider data section of the post-meeting transcription guide for implementation details.
Accessing Speechmatics provider data in real time
For real-time transcription, subscribe to transcript.provider_data in your real-time endpoint configuration if you need Speechmatics-specific payloads:
{
"url": "REAL_TIME_TRANSCRIPT_WEBHOOK_ENDPOINT",
"type": "webhook",
"events": ["transcript.data", "transcript.provider_data"]
}See the accessing provider data section of the real-time transcription docs for implementation details.
FAQ
Do I need to add a Speechmatics API key in every Recall.ai region?
Yes. Recall.ai regions are isolated, so you must add your Speechmatics API key in each Recall.ai region where you want to use Speechmatics transcription.
What regions can I configure with Speechmatics?
Recall only supports the EU region at this time.
Can I use Speechmatics for real-time transcription with the Desktop Recording SDK?
No. Speechmatics is not supported for real-time transcription with the Desktop Recording SDK.
You can still use Speechmatics for post-meeting transcription on completed Desktop Recording SDK recordings by creating a post-meeting transcript after the recording has completed.
Can I configure Speechmatics to detect the language automatically?
Yes, but only for post-meeting transcription. For post-meeting transcription, set language to auto in the speechmatics_async provider configuration.
Speechmatics real-time transcription through Recall.ai requires you to set a supported language in the speechmatics_streaming provider configuration.
Can I configure Speechmatics for code-switching?
Yes, but only for supported language combinations in post-meeting transcription. For post-meeting transcription, set language to a supported bilingual or multilingual language code, such as cmn_en.
Speechmatics real-time transcription through Recall.ai does not support code-switching.
Updated 12 days ago