Projectdetails ophalen
curl --request GET \
--url https://api.voicecheap.ai/v1/projects/{projectId} \
--header 'x-api-key: <x-api-key>'import requests
url = "https://api.voicecheap.ai/v1/projects/{projectId}"
headers = {"x-api-key": "<x-api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<x-api-key>'}};
fetch('https://api.voicecheap.ai/v1/projects/{projectId}', 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.voicecheap.ai/v1/projects/{projectId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <x-api-key>"
],
]);
$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.voicecheap.ai/v1/projects/{projectId}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<x-api-key>")
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.voicecheap.ai/v1/projects/{projectId}")
.header("x-api-key", "<x-api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.voicecheap.ai/v1/projects/{projectId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<x-api-key>'
response = http.request(request)
puts response.read_body{
"projectId": "<string>",
"projectName": "<string>",
"status": "<string>",
"workflow": "<string>",
"originalVideoUrl": "<string>",
"originalLanguage": "<string>",
"targetLanguages": [
"<string>"
],
"duration": 123,
"createdAt": 123,
"progress": {
"progress.step": "<string>",
"progress.transcriptionProgress": 123,
"progress.transcriptionStatus": "<string>"
},
"translations": [
{
"translations[].workId": "<string>",
"translations[].translatedVersionId": "<string>",
"translations[].targetLanguage": "<string>",
"translations[].status": "<string>",
"translations[].currentStep": "<string>",
"translations[].progress": 123,
"translations[].createdAt": 123,
"translations[].completedAt": 123,
"translations[].failedAt": 123,
"translations[].timedOutAt": 123,
"translations[].translatedVideoUrl": "<string>",
"translations[].translatedAudioUrl": "<string>",
"translations[].settings": {},
"translations[].error": {}
}
],
"translations[].lipSync": {
"translations[].lipSync.latest": {},
"translations[].lipSync.history": [
{}
],
"translations[].lipSync.history[].jobId": "<string>",
"translations[].lipSync.history[].status": "<string>",
"translations[].lipSync.history[].videoUrl": "<string>",
"translations[].lipSync.history[].type": "<string>",
"translations[].lipSync.history[].activeSpeakerDetectionEnabled": true
},
"translations[].dynamicSubtitles": {},
"translations[].publicationAttempts": [
{}
],
"translations[].publishedVideos": [
{}
]
}Vertaling
Projectdetails ophalen
Haal openbare projectdetails, vertaalde versiegeschiedenis en lipsynchronisatiegeschiedenis op
Projectdetails ophalen
curl --request GET \
--url https://api.voicecheap.ai/v1/projects/{projectId} \
--header 'x-api-key: <x-api-key>'import requests
url = "https://api.voicecheap.ai/v1/projects/{projectId}"
headers = {"x-api-key": "<x-api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<x-api-key>'}};
fetch('https://api.voicecheap.ai/v1/projects/{projectId}', 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.voicecheap.ai/v1/projects/{projectId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <x-api-key>"
],
]);
$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.voicecheap.ai/v1/projects/{projectId}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<x-api-key>")
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.voicecheap.ai/v1/projects/{projectId}")
.header("x-api-key", "<x-api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.voicecheap.ai/v1/projects/{projectId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<x-api-key>'
response = http.request(request)
puts response.read_body{
"projectId": "<string>",
"projectName": "<string>",
"status": "<string>",
"workflow": "<string>",
"originalVideoUrl": "<string>",
"originalLanguage": "<string>",
"targetLanguages": [
"<string>"
],
"duration": 123,
"createdAt": 123,
"progress": {
"progress.step": "<string>",
"progress.transcriptionProgress": 123,
"progress.transcriptionStatus": "<string>"
},
"translations": [
{
"translations[].workId": "<string>",
"translations[].translatedVersionId": "<string>",
"translations[].targetLanguage": "<string>",
"translations[].status": "<string>",
"translations[].currentStep": "<string>",
"translations[].progress": 123,
"translations[].createdAt": 123,
"translations[].completedAt": 123,
"translations[].failedAt": 123,
"translations[].timedOutAt": 123,
"translations[].translatedVideoUrl": "<string>",
"translations[].translatedAudioUrl": "<string>",
"translations[].settings": {},
"translations[].error": {}
}
],
"translations[].lipSync": {
"translations[].lipSync.latest": {},
"translations[].lipSync.history": [
{}
],
"translations[].lipSync.history[].jobId": "<string>",
"translations[].lipSync.history[].status": "<string>",
"translations[].lipSync.history[].videoUrl": "<string>",
"translations[].lipSync.history[].type": "<string>",
"translations[].lipSync.history[].activeSpeakerDetectionEnabled": true
},
"translations[].dynamicSubtitles": {},
"translations[].publicationAttempts": [
{}
],
"translations[].publishedVideos": [
{}
]
}Projectdetails ophalen
Haal een genormaliseerde openbare weergave van een project op. Gebruik dit eindpunt wanneer u vertaalde versiegeschiedenis, lipsynchronisatiegeschiedenis, de status van dynamische ondertitels of de publicatiestatus nodig heeft. Blijf voor frequente polling Vertaalstatus ophalen gebruiken. Dit eindpunt is rijker en retourneert opzettelijk meer gegevens.Verzoek
Headers
string
vereist
Uw VoiceCheap API-sleutel. Haal er een op via app.voicecheap.ai/page-api.
Padparameters
string
vereist
De unieke identificatiecode van het project geretourneerd door Project aanmaken of Vertaling starten.
Antwoord
string
vereist
De unieke identificatiecode van het project.
string
vereist
De projectnaam.
string
vereist
Openbare projectstatus:
processing, success of failed.string
vereist
API-workflow:
translation of transcription. Transcriptieworkflows bereiken succes wanneer de brontranscriptie is voltooid.string
vereist
URL naar het oorspronkelijk geüploade video- of audiobestand.
string
vereist
De gedetecteerde of opgegeven brontaal.
string[]
vereist
Doeltalen gekoppeld aan het project.
number
vereist
Duur van de inhoud in seconden.
number
vereist
Unix-tijdstempel waarop het project is aangemaakt.
object
vereist
array
vereist
Vertaalde versiegeschiedenis, gesorteerd met de nieuwste versie eerst.
Tonen vertaaleigenschappen
Tonen vertaaleigenschappen
string
Identificatiecode voor vertaalwerk.
string
Identificatiecode voor vertaalde versie.
string
Doeltaal voor deze versie.
string
Status van vertaalversie:
in-progress, completed, not-started of failed.string
Huidige stap voor nasynchronisatie voor deze versie.
number
Geschat voortgangspercentage van nasynchronisatie.
number
Tijdstempel waarop deze vertaalde versie is aangemaakt.
number
Tijdstempel van voltooiing indien beschikbaar.
number
Tijdstempel van mislukking indien beschikbaar.
number
Tijdstempel van time-out indien beschikbaar.
string
URL van de vertaalde video.
string
URL van vertaalde audio.
object
Openbare instellingen gebruikt voor de vertaalde versie, zoals ondertitels, SmartSync, achtergrondaudio en kwaliteitsmodus.
object
Foutcode en bericht wanneer de vertaalde versie is mislukt.
object
Geschiedenis van lipsynchronisatie voor de vertaalde versie, alleen aanwezig wanneer lipsynchronisatie is aangevraagd.
Tonen lipSync-eigenschappen
Tonen lipSync-eigenschappen
object
Laatste poging tot lipsynchronisatie.
array
Alle pogingen tot lipsynchronisatie voor deze vertaalde versie, in volgorde van creatie.
string
Identificatiecode voor lipsynchronisatietaak.
string
Status van lipsynchronisatie:
PENDING, PROCESSING, COMPLETED, FAILED, REJECTED of CANCELED.string
URL van video met lipsynchronisatie wanneer voltooid.
string
Modus voor lipsynchronisatie:
standard, pro of studio.boolean
Of actieve sprekerdetectie was ingeschakeld voor deze poging.
object
Status van dynamische ondertitels wanneer beschikbaar.
array
Status van openbare publicatiepoging wanneer beschikbaar.
array
Openbare gepubliceerde videoreferenties wanneer beschikbaar.
Voorbeeld
cURL
curl -X GET "https://api.voicecheap.ai/v1/projects/abc123-def456-ghi789" \
-H "x-api-key: vc_your-api-key"
Response
{
"projectId": "abc123-def456-ghi789",
"projectName": "Launch Demo",
"status": "success",
"workflow": "translation",
"originalVideoUrl": "https://storage.example.com/input.mp4",
"originalLanguage": "en",
"targetLanguages": ["french"],
"duration": 120,
"createdAt": 1791280000000,
"progress": {
"step": "done",
"transcriptionProgress": 100,
"transcriptionStatus": "success"
},
"translations": [
{
"workId": "work_123",
"translatedVersionId": "version_456",
"targetLanguage": "french",
"status": "completed",
"currentStep": "done",
"progress": 100,
"createdAt": 1791280200000,
"completedAt": 1791280800000,
"translatedVideoUrl": "https://storage.example.com/translated.mp4",
"translatedAudioUrl": "https://storage.example.com/translated.mp3",
"settings": {
"voiceCloning": true,
"uploadType": "video",
"keepBackgroundMusic": true,
"keepOriginalVoice": false,
"originalVoiceVolume": 30,
"subtitles": {
"isEnable": true,
"source": "translated"
},
"smartSync": true,
"voiceIsolatorOption": "studio",
"translationQualityMode": "max"
},
"lipSync": {
"latest": {
"jobId": "lip_789",
"status": "COMPLETED",
"videoUrl": "https://storage.example.com/lipsync.mp4",
"errorMessage": null,
"type": "pro",
"createdAt": "2026-06-08T10:00:00.000Z",
"completedAt": "2026-06-08T10:20:00.000Z",
"activeSpeakerDetectionEnabled": true
},
"history": [
{
"jobId": "lip_789",
"status": "COMPLETED",
"videoUrl": "https://storage.example.com/lipsync.mp4",
"errorMessage": null,
"type": "pro",
"createdAt": "2026-06-08T10:00:00.000Z",
"completedAt": "2026-06-08T10:20:00.000Z",
"activeSpeakerDetectionEnabled": true
}
]
}
}
]
}
Fouten
| Status | Code | Beschrijving |
|---|---|---|
| 401 | MISSING_API_KEY | API-sleutel is vereist |
| 401 | INVALID_API_KEY | De verstrekte API-sleutel is ongeldig |
| 403 | FORBIDDEN | U heeft geen toestemming om toegang te krijgen tot het project |
| 404 | PROJECT_NOT_FOUND | Het project bestaat niet |
| 429 | RATE_LIMIT_EXCEEDED | Te veel verzoeken |
| 500 | INTERNAL_ERROR | Onverwachte serverfout |
Was deze pagina nuttig?

