Get an upload
curl --request GET \
--url https://api.myvocal.ai/sound_clone/api/v1/stt/uploads/{uploadId} \
--header 'accessKey: <accesskey>'import requests
url = "https://api.myvocal.ai/sound_clone/api/v1/stt/uploads/{uploadId}"
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/uploads/{uploadId}', 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/uploads/{uploadId}",
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/uploads/{uploadId}"
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/uploads/{uploadId}")
.header("accessKey", "<accesskey>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.myvocal.ai/sound_clone/api/v1/stt/uploads/{uploadId}")
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_bodyBatch uploads
Get an upload
Read upload state, detected media and audio tracks.
GET
/
sound_clone
/
api
/
v1
/
stt
/
uploads
/
{uploadId}
Get an upload
curl --request GET \
--url https://api.myvocal.ai/sound_clone/api/v1/stt/uploads/{uploadId} \
--header 'accessKey: <accesskey>'import requests
url = "https://api.myvocal.ai/sound_clone/api/v1/stt/uploads/{uploadId}"
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/uploads/{uploadId}', 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/uploads/{uploadId}",
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/uploads/{uploadId}"
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/uploads/{uploadId}")
.header("accessKey", "<accesskey>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.myvocal.ai/sound_clone/api/v1/stt/uploads/{uploadId}")
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_bodySpeech to Text · Batch · Workflow: Batch quickstart
The response’s
data contains uploadId, state, fileName, fileSizeBytes,
partSizeBytes, totalParts, media and, when relevant, errorCode.
Byte totals and duration fields use decimal strings; part counts and track indices use numbers.
Once READY, media.audioTracks describes each track with trackId, index, codec,
channels, sampleRateHz, durationMs, language, title and defaultTrack.
Only the API key’s owner can read the upload.