Transcription API
- NEW! - Interactive API docs, now live!
Visit api-docs.plumvoice.com to read Plum API documentation, build and test requests in our interactive API sandbox, review the responses, and share it all with your team.
Attention! Our queue transcription API method has reached its End of Life (EOL). Please use our AI-powered transcription method instead.
Review the following links for sample use cases of when a company might benefit from the Transcription API or detailed examples that explain how to call the Transcription API across Plum's product suite.
Plum offers two services for its Transcription REST API:
Please note that each of the Transcription REST APIs use HTTP AUTH for authentication. Please contact your account manager to get access credentials.
All of the Transcription REST APIs have the same return format that includes a status (success or failure), error message, and the result data.
XML (success)
XML (failure)
JSON (success)
JSON (failure)
<sample>
<status>success</status>
<error/>
<result>
<!-- SAMPLE RESULT DATA -->
</result>
</sample>
<sample>
<status>failure</status>
<error>Unauthorized access to sample service</error>
</sample>
{
"status":"success",
"error":"",
"result": {
// SAMPLE RESULT DATA
}
}
{
"status":"failure",
"error":"Unauthorized access to sample service",
}
get
https://hosting.plumvoice.com
/ws/transcription/{resource_type}/{transcription_id}
Transcription Status
Sample Code
checkstatus.php
CURL (command line)
<?php
header("Content-type: text/xml");
// for this example, our transcription_id is f85bd7682c9f71b60e216f2f6d39e95d
$transcription_id = 'f85bd7682c9f71b60e216f2f6d39e95d';
// initialize curl
$ch = curl_init();
// set necessary curl options
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_USERPWD, "username:password");
curl_setopt($ch, CURLOPT_URL, "https://hosting.plumvoice.com/ws/transcription/status.xml/".$transcription_message_id);
echo(curl_exec($ch));
curl_close($ch);
?>
curl -u username:password https://hosting.plumvoice.com/ws/transcription/status.json/f85bd7682c9f71b60e216f2f6d39e95d
post
https://hosting.plumvoice.com
/ws/transcription/{resource_type}
Real-Time Transcription
Sample Code
transcribe.xml
CURL (command line)
<?xml version="1.0"?>
<vxml version="2.0">
<form>
<record name="recording1" beep="true">
<prompt bargein="false">Record your message after the beep.</prompt>
</record>
<block>
<var name="language" expr="'en-US'"/>
<var name="audio" expr="recording1"/>
<data name="transcribe" src="https://username:[email protected]/ws/transcription/transcribe.json" namelist="language audio" method="post" enctype="multipart/form-data" accept="application/json"/>
<if cond="transcribe.status == 'success'">
<log expr="'transcription_id: '+transcribe.result.transcription_id"/>
<prompt>You said: <value expr="transcribe.result.message"/></prompt>
<else/>
<log expr="'error: '+transcribe.error"/>
</if>
</block>
</form>
</vxml>
curl -u username:password -F language=en-US -F audio=@/path/to/audio https://hosting.plumvoice.com/ws/transcription/transcribe.json
| Language Code | Language | Country |
| de-DE | German | Germany |
* | en-AU | English | Australia |
| en-GB | English | United Kingdom |
| en-US | English | United States |
| es-ES | Spanish | Spain |
* | es-MX | Spanish | Mexico |
* | es-US | Spanish | United States |
* | fr-CA | French | Canada |
| fr-FR | French | France |
| ja-JP | Japanese | Japan |
| pt-BR | Portuguese | Brazil |
| zh-CN | Mandarin | China |
Note: Languages marked with an asterisk (*) are currently in Beta release and may not be ready for production use and are subject to change. They are initial offerings that are expected to improve in quality with time and usage.