Transcriptions resource
A Transcription resource represents the transcribed text and metadata from a transcribed recording of a voice call.
The transcription text comes from converting an audio recording to readable text. To generate transcriptions from call recordings, use the TwiML <Record> verb and set transcribe="true".
PCI compliance
Call recordings aren't Payment Card Industry (PCI) compliant by default. To use Voice Recordings in a PCI workflow, enable PCI Mode in the Twilio Console.
To transcribe voice recordings, use the <Transcription> TwiML noun. Native and Marketplace transcriptions aren't available when PCI Mode is enabled.
Warning
If you request recording transcription, your account incurs additional charges. Transcription is a paid feature. Twilio only transcribes recordings initiated with the TwiML <Record> verb and that have a duration no longer than two minutes in length.
To learn about pricing, see the transcriptions pricing page.
GET https://api.twilio.com/2010-04-01/Accounts/{AccountSid}/Transcriptions/{Sid}.json
Returns the JSON metadata for the Transcription.
-
The Transcriptions resource doesn't support CSV and HTML formatted responses.
Requests made for CSV and HTML files return an HTTP404status code. -
To retrieve only the transcription text, append "
.txt" to the Transcriptions resource's URI:/2010-04-01/Accounts/{AccountSid}/Transcriptions/{TranscriptionSid}.txt
The SID of the Account that created the Transcription resource to fetch.
^AC[0-9a-fA-F]{32}$Min length: 34Max length: 34The Twilio-provided string that uniquely identifies the Transcription resource to fetch.
^TR[0-9a-fA-F]{32}$Min length: 34Max length: 341// Download the helper library from https://www.twilio.com/docs/node/install2const twilio = require("twilio"); // Or, for ESM: import twilio from "twilio";34// Find your Account SID and Auth Token at twilio.com/console5// and set the environment variables. See http://twil.io/secure6const accountSid = process.env.TWILIO_ACCOUNT_SID;7const authToken = process.env.TWILIO_AUTH_TOKEN;8const client = twilio(accountSid, authToken);910async function fetchTranscription() {11const transcription = await client12.transcriptions("TRXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX")13.fetch();1415console.log(transcription.accountSid);16}1718fetchTranscription();
Response
1{2"account_sid": "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",3"api_version": "2008-08-01",4"date_created": "Sun, 13 Feb 2011 02:12:08 +0000",5"date_updated": "Sun, 13 Feb 2011 02:30:01 +0000",6"duration": "1",7"price": "-0.05000",8"price_unit": "USD",9"recording_sid": "REaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",10"sid": "TRXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",11"status": "failed",12"transcription_text": "(blank)",13"type": "fast",14"uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Transcriptions/TRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.json"15}
GET https://api.twilio.com/2010-04-01/Accounts/{AccountSid}/Transcriptions.json
Returns a list of Transcriptions generated from all recordings in an account.
The response contains a paginated list.
How many resources to return in each list page. The default is 50, and the maximum is 1000.
1Maximum: 1000The page token. This is provided by the API.
1// Download the helper library from https://www.twilio.com/docs/node/install2const twilio = require("twilio"); // Or, for ESM: import twilio from "twilio";34// Find your Account SID and Auth Token at twilio.com/console5// and set the environment variables. See http://twil.io/secure6const accountSid = process.env.TWILIO_ACCOUNT_SID;7const authToken = process.env.TWILIO_AUTH_TOKEN;8const client = twilio(accountSid, authToken);910async function listTranscription() {11const transcriptions = await client.transcriptions.list({ limit: 20 });1213transcriptions.forEach((t) => console.log(t.end));14}1516listTranscription();
Response
1{2"end": 0,3"first_page_uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Transcriptions.json?PageSize=1&Page=0",4"next_page_uri": null,5"page": 0,6"page_size": 1,7"previous_page_uri": null,8"start": 0,9"transcriptions": [10{11"account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",12"api_version": "2008-08-01",13"date_created": "Thu, 25 Aug 2011 20:59:45 +0000",14"date_updated": "Thu, 25 Aug 2011 20:59:45 +0000",15"duration": "10",16"price": "0.00000",17"price_unit": "USD",18"recording_sid": "REaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",19"sid": "TRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",20"status": "completed",21"transcription_text": null,22"type": "fast",23"uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Transcriptions/TRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.json"24}25],26"uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Transcriptions.json?PageSize=1&Page=0"27}
To access a full list of transcriptions from a given Recording, pass the RecordingSid to the Recording resource:
/2010-04-01/Accounts/{YourAccountSid}/Recordings/{RecordingSid}/Transcriptions.json
To fetch Transcriptions from a Recording, write a cURL command that resembles the following:
1curl -G https://api.twilio.com/2010-04-01/Accounts/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Recordings/REXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Transcriptions.json \2-u 'ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:your_auth_token'
-
To return an XML-formatted response, change the end of this URI from
.jsonto.xml. -
The Recording Transcription resource doesn't support CSV and HTML formatted responses.
Requests made for CSV and HTML files return an HTTP404status code. -
To return only the transcription text, append "
.txt" to the Transcription resource's URI:1curl -G https://api.twilio.com/2010-04-01/Accounts/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Recordings/REXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Transcriptions.txt \2-u $TWILIO_ACCOUNT_SID:$TWILIO_AUTH_TOKEN
DELETE https://api.twilio.com/2010-04-01/Accounts/{AccountSid}/Transcriptions/{Sid}.json
Delete a transcription from your account.
If the request succeeds, Twilio returns HTTP 204 (No Content) with no body.
The SID of the Account that created the Transcription resources to delete.
^AC[0-9a-fA-F]{32}$Min length: 34Max length: 34The Twilio-provided string that uniquely identifies the Transcription resource to delete.
^TR[0-9a-fA-F]{32}$Min length: 34Max length: 341// Download the helper library from https://www.twilio.com/docs/node/install2const twilio = require("twilio"); // Or, for ESM: import twilio from "twilio";34// Find your Account SID and Auth Token at twilio.com/console5// and set the environment variables. See http://twil.io/secure6const accountSid = process.env.TWILIO_ACCOUNT_SID;7const authToken = process.env.TWILIO_AUTH_TOKEN;8const client = twilio(accountSid, authToken);910async function deleteTranscription() {11await client.transcriptions("TRXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX").remove();12}1314deleteTranscription();