A Transcription represents the transcribed text and metadata from a transcribed recording of a voice call.
The transcription text itself is the result of converting an audio recording to readable text. To generate transcriptions from call recordings, use the TwiML <Record>
verb and set transcribe="true"
. Note that
Call recordings are not PCI compliant by default. To make them compliant, you need to enable PCI Mode in your Twilio Voice Settings.
Note that transcriptions aren't available when PCI mode is enabled.
Your account will be charged if you request transcription for a recording, as this is a paid feature. Additionally, transcription is currently limited to recordings initiated with the TwiML <Record> verb and are at most two minutes in length.
For pricing information, see the transcriptions pricing page.
The SID of the Account that created the Transcription resource.
^AC[0-9a-fA-F]{32}$
Min length: 34
Max length: 34
The date and time in GMT that the resource was created specified in RFC 2822 format.
The date and time in GMT that the resource was last updated specified in RFC 2822 format.
The charge for the transcript in the currency associated with the account. This value is populated after the transcript is complete so it may not be available immediately.
The currency in which price
is measured, in ISO 4127 format (e.g. usd
, eur
, jpy
).
The SID of the Recording from which the transcription was created.
^RE[0-9a-fA-F]{32}$
Min length: 34
Max length: 34
The unique string that that we created to identify the Transcription resource.
^TR[0-9a-fA-F]{32}$
Min length: 34
Max length: 34
The status of the transcription. Can be: in-progress
, completed
, failed
.
in-progress
completed
failed
The URI of the resource, relative to https://api.twilio.com
.
GET https://api.twilio.com/2010-04-01/Accounts/{AccountSid}/Transcriptions/{Sid}.json
Twilio will respond with the JSON metadata for the Transcription. If you append ".txt
" to the end of the Transcription resource's URI, Twilio will return only the text of the transcription:
/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: 34
Max length: 34
The Twilio-provided string that uniquely identifies the Transcription resource to fetch.
^TR[0-9a-fA-F]{32}$
Min length: 34
Max length: 34
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 fetchTranscription() {11const transcription = await client12.transcriptions("TRXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX")13.fetch();1415console.log(transcription.accountSid);16}1718fetchTranscription();
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 the full set of Transcriptions generated from all recordings in an account.
The list Twilio returns includes paging information.
How many resources to return in each list page. The default is 50, and the maximum is 1000.
1
Maximum: 1000
The 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.accountSid));14}1516listTranscription();
1{2"end": 0,3"first_page_uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Transcriptions.json?PageSize=1&Page=0",4"last_page_uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Transcriptions.json?PageSize=1&Page=3",5"next_page_uri": null,6"num_pages": 4,7"page": 0,8"page_size": 1,9"previous_page_uri": null,10"start": 0,11"total": 4,12"transcriptions": [13{14"account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",15"api_version": "2008-08-01",16"date_created": "Thu, 25 Aug 2011 20:59:45 +0000",17"date_updated": "Thu, 25 Aug 2011 20:59:45 +0000",18"duration": "10",19"price": "0.00000",20"price_unit": "USD",21"recording_sid": "REaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",22"sid": "TRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",23"status": "completed",24"transcription_text": null,25"type": "fast",26"uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Transcriptions/TRaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.json"27}28],29"uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Transcriptions.json?PageSize=1&Page=0"30}
You can also access a full list of Transcriptions directly from a given Recording by passing the RecordingSid
to the Recording resource:
1/2010-04-01/Accounts/{YourAccountSid}/Recordings/{RecordingSid}/Transcriptions.json2
The cURL command to fetch Transcriptions from a Recording looks like this:
1curl -G https://api.twilio.com/2010-04-01/Accounts/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Recordings/REXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Transcriptions.json \2-u 'ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:your_auth_token'
If you prefer that Twilio responds with XML, change .json
to .xml
.
DELETE https://api.twilio.com/2010-04-01/Accounts/{AccountSid}/Transcriptions/{Sid}.json
Delete a transcription from your account.
If the request is successful, Twilio will return 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: 34
Max length: 34
The Twilio-provided string that uniquely identifies the Transcription resource to delete.
^TR[0-9a-fA-F]{32}$
Min length: 34
Max length: 34
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 deleteTranscription() {11await client.transcriptions("TRXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX").remove();12}1314deleteTranscription();