Get a transcription
curl --request GET \
--url https://api.myvocal.ai/sound_clone/api/v1/stt/transcriptions/{transcriptionId} \
--header 'accessKey: <accesskey>'import requests
url = "https://api.myvocal.ai/sound_clone/api/v1/stt/transcriptions/{transcriptionId}"
headers = {"accessKey": "<accesskey>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {accessKey: '<accesskey>'}};
fetch('https://api.myvocal.ai/sound_clone/api/v1/stt/transcriptions/{transcriptionId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.myvocal.ai/sound_clone/api/v1/stt/transcriptions/{transcriptionId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"accessKey: <accesskey>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.myvocal.ai/sound_clone/api/v1/stt/transcriptions/{transcriptionId}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("accessKey", "<accesskey>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.myvocal.ai/sound_clone/api/v1/stt/transcriptions/{transcriptionId}")
.header("accessKey", "<accesskey>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.myvocal.ai/sound_clone/api/v1/stt/transcriptions/{transcriptionId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["accessKey"] = '<accesskey>'
response = http.request(request)
puts response.read_body{
"code": 123,
"message": "<string>",
"data": {
"transcriptionId": "<string>",
"status": "<string>",
"modelId": "<string>",
"languageHint": "<string>",
"detectedLanguage": "<string>",
"audioDurationMs": "<string>",
"transcript": {},
"billing": {},
"error": {}
}
}Speech to Text
Get a transcription
Read the task state, the transcript and the billing summary.
GET
/
sound_clone
/
api
/
v1
/
stt
/
transcriptions
/
{transcriptionId}
Get a transcription
curl --request GET \
--url https://api.myvocal.ai/sound_clone/api/v1/stt/transcriptions/{transcriptionId} \
--header 'accessKey: <accesskey>'import requests
url = "https://api.myvocal.ai/sound_clone/api/v1/stt/transcriptions/{transcriptionId}"
headers = {"accessKey": "<accesskey>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {accessKey: '<accesskey>'}};
fetch('https://api.myvocal.ai/sound_clone/api/v1/stt/transcriptions/{transcriptionId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.myvocal.ai/sound_clone/api/v1/stt/transcriptions/{transcriptionId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"accessKey: <accesskey>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.myvocal.ai/sound_clone/api/v1/stt/transcriptions/{transcriptionId}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("accessKey", "<accesskey>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.myvocal.ai/sound_clone/api/v1/stt/transcriptions/{transcriptionId}")
.header("accessKey", "<accesskey>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.myvocal.ai/sound_clone/api/v1/stt/transcriptions/{transcriptionId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["accessKey"] = '<accesskey>'
response = http.request(request)
puts response.read_body{
"code": 123,
"message": "<string>",
"data": {
"transcriptionId": "<string>",
"status": "<string>",
"modelId": "<string>",
"languageHint": "<string>",
"detectedLanguage": "<string>",
"audioDurationMs": "<string>",
"transcript": {},
"billing": {},
"error": {}
}
}Returns one transcription from the shared History. Poll this until
See known limitations for current parameter-error classification and
optional-feature behavior. Stop polling terminal tasks; read
status is COMPLETED,
PARTIAL or FAILED.
Path
string
required
The
transcriptionId returned by create, or an id from the History list.Header
string
required
API key for authentication.
Response
Successful REST calls return{ code: 1, message, data }. The fields below are inside data;
JSON downloads are the documented exception and return the transcript view directly.
number
1 for success.string
Result message.
object
Hide properties
Hide properties
string
The MyVocal task id.
string
QUEUED, PROCESSING, RECONCILING, COMPLETED, PARTIAL or FAILED. A real-time task reports COMPLETED
when it settled normally.string
myvocal_stt_v1 for Batch, myvocal_stt_realtime_v1 for a real-time result.string
The requested language, or
auto.string
The detected language, when the model returned one.
string
The analysed audio duration, as a decimal string.
object
null before a result exists; a completed silent recording can have an empty transcript.
text, languageCode, languageConfidence, speakers, segments and channelResults. Each
segment carries id, speakerId, channelIndex, startMs, endMs, text, timingStatus,
tokens and characterAlignments. Entities, the edited text and the per-channel results are
MyVocal fields; a provider value is never exposed raw.billing to determine actual charges.object
The same billing summary as create.
billableCharacters is what this task actually charges.object
Present only for
FAILED: errorCode, message, retryable, action and requestId.