Skip to contentSkip to navigationSkip to topbar
On this page

RealtimeTranscription Resource


(warning)

Legal Notice and Public Beta

Real-Time Transcriptions, including the <Transcriptions> TwiML noun and API, use artificial intelligence or machine learning technologies. By enabling or using any of the features or functionalities within Programmable Voice that are identified as using artificial intelligence or machine learning technology, you acknowledge and agree that your use of these features or functionalities is subject to the terms of the Predictive and Generative AI/ML Features Addendum(link takes you to an external page).

Real-Time Transcriptions is not PCI compliant or a HIPAA Eligible Service and should not be used in Voice Intelligence workflows that are subject to HIPAA or PCI.

Real-Time Transcription is currently available as a Public Beta product and information contained in this document is subject to change. This means that some of the features are not yet implemented and others may be changed before the product is declared as Generally Available. Public Beta products are not covered by a Twilio Service Level Agreement.

The RealtimeTranscription resource represents a live audio transcription during a live call. You can start and stop a RealtimeTranscription on any in-progress call via API or via the <Transcription> TwiML Noun.

To start a Real-Time Transcription on a live call, you create a RealtimeTranscription resource.

To stop the Real-Time Transcription, you update the RealtimeTranscription resource's status.


Transcription Properties

transcription-properties page anchor
Property nameTypeRequiredDescriptionChild properties
sidSID<GT>Optional
Not PII

The SID of the Transcription resource.

Pattern: ^GT[0-9a-fA-F]{32}$Min length: 34Max length: 34

account_sidSID<AC>Optional

The SID of the Account that created this Transcription resource.

Pattern: ^AC[0-9a-fA-F]{32}$Min length: 34Max length: 34

call_sidSID<CA>Optional

The SID of the Call the Transcription resource is associated with.

Pattern: ^CA[0-9a-fA-F]{32}$Min length: 34Max length: 34

namestringOptional

The user-specified name of this Transcription, if one was given when the Transcription was created. This may be used to stop the Transcription.


statusenum<string>Optional

The status - one of stopped, in-flight

Possible values:
in-progressstopped

date_updatedstring<date-time-rfc-2822>Optional

The date and time in GMT that this resource was last updated, specified in RFC 2822(link takes you to an external page) format.


uristringOptional

Start a Real-Time Transcription

start-a-real-time-transcription page anchor
POST https://api.twilio.com/2010-04-01/Accounts/{AccountSid}/Calls/{CallSid}/Transcriptions.json

Path parameters

path-parameters page anchor
Property nameTypeRequiredPIIDescription
AccountSidSID<AC>required

The SID of the Account that created this Transcription resource.

Pattern: ^AC[0-9a-fA-F]{32}$Min length: 34Max length: 34

CallSidSID<CA>required

The SID of the Call the Transcription resource is associated with.

Pattern: ^CA[0-9a-fA-F]{32}$Min length: 34Max length: 34
Encoding type:application/x-www-form-urlencoded
SchemaExample
Property nameTypeRequiredDescriptionChild properties
NamestringOptional

The user-specified name of this Transcription, if one was given when the Transcription was created. This may be used to stop the Transcription.


Trackenum<string>Optional

One of inbound_track, outbound_track, both_tracks.

Possible values:
inbound_trackoutbound_trackboth_tracks

StatusCallbackUrlstring<uri>Optional

Absolute URL of the status callback.


StatusCallbackMethodenum<http-method>Optional

The http method for the status_callback (one of GET, POST).

Possible values:
GETPOST

InboundTrackLabelstringOptional

Friendly name given to the Inbound Track


OutboundTrackLabelstringOptional

Friendly name given to the Outbound Track


PartialResultsbooleanOptional

Indicates if partial results are going to be sent to the customer


LanguageCodestringOptional

Language code used by the transcription engine, specified in BCP-47(link takes you to an external page) format


TranscriptionEnginestringOptional

Definition of the transcription engine to be used, among those supported by Twilio


ProfanityFilterbooleanOptional

indicates if the server will attempt to filter out profanities, replacing all but the initial character in each filtered word with asterisks


SpeechModelstringOptional

Recognition model used by the transcription engine, among those supported by the provider


HintsstringOptional

A Phrase contains words and phrase "hints" so that the speech recognition engine is more likely to recognize them.


EnableAutomaticPunctuationbooleanOptional

The provider will add punctuation to recognition result

Create a TranscriptionLink to code sample: Create a Transcription
1
// Download the helper library from https://www.twilio.com/docs/node/install
2
const twilio = require("twilio"); // Or, for ESM: import twilio from "twilio";
3
4
// Find your Account SID and Auth Token at twilio.com/console
5
// and set the environment variables. See http://twil.io/secure
6
const accountSid = process.env.TWILIO_ACCOUNT_SID;
7
const authToken = process.env.TWILIO_AUTH_TOKEN;
8
const client = twilio(accountSid, authToken);
9
10
async function createRealtimeTranscription() {
11
const transcription = await client
12
.calls("CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")
13
.transcriptions.create();
14
15
console.log(transcription.sid);
16
}
17
18
createRealtimeTranscription();

Output

1
{
2
"account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
3
"call_sid": "CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
4
"sid": "GTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
5
"name": null,
6
"status": "in-progress",
7
"date_updated": "Thu, 30 Jul 2015 20:00:00 +0000",
8
"uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Transcriptions/GTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.json"
9
}

Stop a Real-Time Transcription

stop-a-real-time-transcription page anchor
POST https://api.twilio.com/2010-04-01/Accounts/{AccountSid}/Calls/{CallSid}/Transcriptions/{Sid}.json

Property nameTypeRequiredPIIDescription
AccountSidSID<AC>required

The SID of the Account that created this Transcription resource.

Pattern: ^AC[0-9a-fA-F]{32}$Min length: 34Max length: 34

CallSidSID<CA>required

The SID of the Call the Transcription resource is associated with.

Pattern: ^CA[0-9a-fA-F]{32}$Min length: 34Max length: 34

Sidstringrequired

The SID of the Transcription resource, or the name used when creating the resource

Encoding type:application/x-www-form-urlencoded
SchemaExample
Property nameTypeRequiredDescriptionChild properties
Statusenum<string>required

The status. Must have the value stopped

Possible values:
stopped

You can stop an in-progress Real-Time Transcription by updating the status to stopped. You can also use TwiML to stop a Real-Time Transcription.

When making this request, you can use the RealtimeTranscription resource's SID or the name (if one was given when the Real-Time Transcription was created).

1
// Download the helper library from https://www.twilio.com/docs/node/install
2
const twilio = require("twilio"); // Or, for ESM: import twilio from "twilio";
3
4
// Find your Account SID and Auth Token at twilio.com/console
5
// and set the environment variables. See http://twil.io/secure
6
const accountSid = process.env.TWILIO_ACCOUNT_SID;
7
const authToken = process.env.TWILIO_AUTH_TOKEN;
8
const client = twilio(accountSid, authToken);
9
10
async function updateRealtimeTranscription() {
11
const transcription = await client
12
.calls("CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")
13
.transcriptions("GTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")
14
.update({ status: "stopped" });
15
16
console.log(transcription.sid);
17
}
18
19
updateRealtimeTranscription();

Output

1
{
2
"account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
3
"call_sid": "CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
4
"sid": "GTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
5
"name": null,
6
"status": "stopped",
7
"date_updated": "Thu, 30 Jul 2015 20:00:00 +0000",
8
"uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Calls/CAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Transcriptions/GTaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.json"
9
}

(information)

AI Nutrition Facts

Real-Time Transcriptions, including <Transcriptions> TwiML noun and API, uses third-party artificial technology and machine learning technologies.

Twilio's AI Nutrition Facts(link takes you to an external page) provide an overview of the AI feature you're using, so you can better understand how the AI is working with your data. Real-Time Transcriptions AI qualities are outlined in the following Speech to Text Transcriptions - Programmable Voice Nutrition Facts label. For more information and the glossary regarding the AI Nutrition Facts Label, please refer to Twilio's AI Nutrition Facts page(link takes you to an external page).

AI Nutrition Facts

Speech to Text Transcriptions - Programmable Voice and Voice Intelligence

Description
Generate speech to text voice transcriptions (real-time and post-call) in Programmable Voice and Voice Intelligence.
Privacy Ladder Level
N/A
Feature is Optional
Yes
Model Type
Generative and Predictive - Automatic Speech Recognition
Base Model
Google Speech-to-Text, Amazon Transcribe

Trust Ingredients

Base Model Trained with Customer Data
No

Voice Intelligence and Programmable Voice only use the default Base Model provided by the Model Vendor. The Base Model is not trained using customer data.

Customer Data is Shared with Model Vendor
No

Voice Intelligence and Programmable Voice only use the default Base Model provided by the Model Vendor. The Base Model is not trained using customer data.

Training Data Anonymized
N/A

Base Model is not trained using any customer data.

Data Deletion
Yes

Transcriptions are deleted by the customer using the Voice Intelligence API or when a customer account is deprovisioned.

Human in the Loop
Yes

The customer views output in the Voice Intelligence API or Transcript Viewer.

Data Retention
Until the customer deletes

Compliance

Logging & Auditing
Yes

The customer can listen to the input (recording) and view the output (transcript).

Guardrails
Yes

The customer can listen to the input (recording) and view the output (transcript).

Input/Output Consistency
Yes

The customer is responsible for human review.

Other Resources
https://www.twilio.com/docs/voice/intelligence