Issue
This article addresses common issues and solutions when real-time video transcriptions are not functioning as expected in Twilio Programmable Video, especially when using the JavaScript SDK. It is intended for developers who have enabled the Predictive & Generative AI/ML Features Addendum and configured real-time transcriptions but are not receiving transcription events in their applications.
Symptoms
- Real-time transcription events are not received in the client application.
- The
room.on('transcription')event listener does not trigger. - Room details show
transcribeParticipantsOnConnectandtranscriptionsConfigurationasnull. - Attempting to access the transcription subresource returns errors such as "Unknown subresource transcriptions."
- The transcription resource may show a status of "failed."
Product
Programmable Video
Environment
legacy Twilio Console
Cause
The most common cause for these symptoms is using an unsupported version of the Twilio Video JavaScript SDK. Transcription events are only supported in version 2.32.0 or later. Using earlier versions (e.g., 2.31.X) will prevent transcription events from being received, even if the feature is enabled at the account and room level.
Resolution
1. Verify SDK Version
Ensure you are using Twilio Video JavaScript SDK v2.32.0 or later. You can check your current version by running:
npm list @twilio/video
Or by inspecting your package.json.
To upgrade, run:
npm install @twilio/video@latest
2. Room Creation Parameters
When creating a Group Room, include the transcription parameters at creation time:
transcribeParticipantsOnConnect: true-
transcriptionsConfiguration(e.g.,{ languageCode: "en-US", partialResults: true })
Example (using REST API):
curl -X POST "https://video.twilio.com/v1/Rooms" \
-u $TWILIO_ACCOUNT_SID:$TWILIO_AUTH_TOKEN \
--data-urlencode 'TranscriptionsConfiguration={"languageCode": "en-US", "partialResults": true}' \
--data-urlencode "TranscribeParticipantsOnConnect=true"3. Event Listener Placement
Set up the room.on('transcription', ...) event listener before participants join the room, ideally immediately after connecting to the room.
4. Participant Requirements
At least one participant must join the room with an audio track for transcription to function.
5. Check for Errors
If the transcription resource status is "failed," review the resource details for error messages or codes. Ensure your configuration matches the Twilio Video Transcriptions documentation.
Example JavaScript Listener
room.on('transcription', (event) => {
console.log(event);
// Handle transcription segments here
});Additional Information
If you are not receiving real-time transcription events in your Twilio Video application:
- Upgrade to SDK v2.32.0 or later
- Ensure correct room creation parameters
- Set up event listeners before joining the room
- Confirm at least one participant has an audio track
Below you will find references to useful documents:
If issues persist after following these steps, review error messages in the transcription resource and consult Twilio documentation for further troubleshooting.