Projekt erstellen
curl --request POST \
--url https://api.voicecheap.ai/v1/projects \
--header 'Content-Type: application/json' \
--header 'x-api-key: <x-api-key>' \
--data '
{
"targetLanguage": "<string>",
"originalLanguage": "<string>",
"projectName": "<string>",
"webhookUrl": "<string>",
"numberOfSpeakers": "<string>",
"brandVocabulary": "<string>",
"removeFillerWords": true,
"sourceSrt": "<string>"
}
'import requests
url = "https://api.voicecheap.ai/v1/projects"
payload = {
"targetLanguage": "<string>",
"originalLanguage": "<string>",
"projectName": "<string>",
"webhookUrl": "<string>",
"numberOfSpeakers": "<string>",
"brandVocabulary": "<string>",
"removeFillerWords": True,
"sourceSrt": "<string>"
}
headers = {
"x-api-key": "<x-api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<x-api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
targetLanguage: '<string>',
originalLanguage: '<string>',
projectName: '<string>',
webhookUrl: '<string>',
numberOfSpeakers: '<string>',
brandVocabulary: '<string>',
removeFillerWords: true,
sourceSrt: '<string>'
})
};
fetch('https://api.voicecheap.ai/v1/projects', 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",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'targetLanguage' => '<string>',
'originalLanguage' => '<string>',
'projectName' => '<string>',
'webhookUrl' => '<string>',
'numberOfSpeakers' => '<string>',
'brandVocabulary' => '<string>',
'removeFillerWords' => true,
'sourceSrt' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"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"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.voicecheap.ai/v1/projects"
payload := strings.NewReader("{\n \"targetLanguage\": \"<string>\",\n \"originalLanguage\": \"<string>\",\n \"projectName\": \"<string>\",\n \"webhookUrl\": \"<string>\",\n \"numberOfSpeakers\": \"<string>\",\n \"brandVocabulary\": \"<string>\",\n \"removeFillerWords\": true,\n \"sourceSrt\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<x-api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.voicecheap.ai/v1/projects")
.header("x-api-key", "<x-api-key>")
.header("Content-Type", "application/json")
.body("{\n \"targetLanguage\": \"<string>\",\n \"originalLanguage\": \"<string>\",\n \"projectName\": \"<string>\",\n \"webhookUrl\": \"<string>\",\n \"numberOfSpeakers\": \"<string>\",\n \"brandVocabulary\": \"<string>\",\n \"removeFillerWords\": true,\n \"sourceSrt\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.voicecheap.ai/v1/projects")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<x-api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"targetLanguage\": \"<string>\",\n \"originalLanguage\": \"<string>\",\n \"projectName\": \"<string>\",\n \"webhookUrl\": \"<string>\",\n \"numberOfSpeakers\": \"<string>\",\n \"brandVocabulary\": \"<string>\",\n \"removeFillerWords\": true,\n \"sourceSrt\": \"<string>\"\n}"
response = http.request(request)
puts response.read_bodyÜbersetzung
Projekt erstellen
Laden Sie eine Video- oder Audiodatei hoch und erstellen Sie ein Projekt, ohne die Übersetzung zu starten
Projekt erstellen
curl --request POST \
--url https://api.voicecheap.ai/v1/projects \
--header 'Content-Type: application/json' \
--header 'x-api-key: <x-api-key>' \
--data '
{
"targetLanguage": "<string>",
"originalLanguage": "<string>",
"projectName": "<string>",
"webhookUrl": "<string>",
"numberOfSpeakers": "<string>",
"brandVocabulary": "<string>",
"removeFillerWords": true,
"sourceSrt": "<string>"
}
'import requests
url = "https://api.voicecheap.ai/v1/projects"
payload = {
"targetLanguage": "<string>",
"originalLanguage": "<string>",
"projectName": "<string>",
"webhookUrl": "<string>",
"numberOfSpeakers": "<string>",
"brandVocabulary": "<string>",
"removeFillerWords": True,
"sourceSrt": "<string>"
}
headers = {
"x-api-key": "<x-api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<x-api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
targetLanguage: '<string>',
originalLanguage: '<string>',
projectName: '<string>',
webhookUrl: '<string>',
numberOfSpeakers: '<string>',
brandVocabulary: '<string>',
removeFillerWords: true,
sourceSrt: '<string>'
})
};
fetch('https://api.voicecheap.ai/v1/projects', 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",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'targetLanguage' => '<string>',
'originalLanguage' => '<string>',
'projectName' => '<string>',
'webhookUrl' => '<string>',
'numberOfSpeakers' => '<string>',
'brandVocabulary' => '<string>',
'removeFillerWords' => true,
'sourceSrt' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"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"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.voicecheap.ai/v1/projects"
payload := strings.NewReader("{\n \"targetLanguage\": \"<string>\",\n \"originalLanguage\": \"<string>\",\n \"projectName\": \"<string>\",\n \"webhookUrl\": \"<string>\",\n \"numberOfSpeakers\": \"<string>\",\n \"brandVocabulary\": \"<string>\",\n \"removeFillerWords\": true,\n \"sourceSrt\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<x-api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.voicecheap.ai/v1/projects")
.header("x-api-key", "<x-api-key>")
.header("Content-Type", "application/json")
.body("{\n \"targetLanguage\": \"<string>\",\n \"originalLanguage\": \"<string>\",\n \"projectName\": \"<string>\",\n \"webhookUrl\": \"<string>\",\n \"numberOfSpeakers\": \"<string>\",\n \"brandVocabulary\": \"<string>\",\n \"removeFillerWords\": true,\n \"sourceSrt\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.voicecheap.ai/v1/projects")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<x-api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"targetLanguage\": \"<string>\",\n \"originalLanguage\": \"<string>\",\n \"projectName\": \"<string>\",\n \"webhookUrl\": \"<string>\",\n \"numberOfSpeakers\": \"<string>\",\n \"brandVocabulary\": \"<string>\",\n \"removeFillerWords\": true,\n \"sourceSrt\": \"<string>\"\n}"
response = http.request(request)
puts response.read_bodyProjekt erstellen
Erstellen Sie ein neues Projekt durch Hochladen einer Video- oder Audiodatei. Die API startet nur die Transkription (keine Übersetzung oder Lippensynchronisation). Sie können das Projekt später in der VoiceCheap-App öffnen, um die Übersetzung auszulösen, oder Projektdetails abrufen verwenden, um den Projektstatus zu überprüfen.Gleichzeitigkeitslimit
Dieser Endpunkt teilt sich dasselbe Gleichzeitigkeitslimit wiePOST /v1/translate: bis zu 10 laufende Übersetzungen pro Konto. Wenn das Limit erreicht ist, geben Anfragen CONCURRENT_TRANSLATION_LIMIT_REACHED (HTTP 429) zurück.
Anfrage
Dieser Endpunkt akzeptiertmultipart/form-data mit einem Datei-Upload.
Header
string
erforderlich
Ihr VoiceCheap API-Schlüssel. Holen Sie sich einen von app.voicecheap.ai/page-api.
Hauptparameter
file
erforderlich
Die hochzuladende Video- oder Audiodatei.Unterstützte Videoformate:
video/mp4, video/quicktime, video/x-matroska, video/webm, video/mpegUnterstützte Audioformate: audio/mpeg, audio/wav, audio/mp4, audio/x-m4a, audio/flac, audio/ogg, audio/aac, audio/webmMaximale Dateigröße nach Plan: Beginner 5 GB, Starter 10 GB, Creator 20 GB, Pro 30 GB, Scale 40 GB und Enterprise 60 GB.string
erforderlich
Die Zielsprache, die mit diesem Projekt verknüpft werden soll. Muss kleingeschrieben sein.Zulässige Werte (70+):
afrikaans, albanian, amharic, arabic, armenian, assamese, azerbaijani, basque, belarusian, bengali, bosnian, bulgarian, catalan, croatian, czech, danish, dutch, english, british english, estonian, finnish, french, french canadian, galician, german, greek, gujarati, hebrew, hindi, hungarian, icelandic, indonesian, irish, italian, japanese, kannada, kazakh, khmer, korean, lao, latvian, lithuanian, macedonian, malay, malayalam, mandarin, marathi, mongolian, nepali, norwegian, persian, polish, portuguese, brazilian portuguese, punjabi, romanian, russian, serbian, slovak, slovenian, spanish, swahili, swedish, tagalog, tamil, telugu, thai, turkish, ukrainian, urdu, vietnamese, welsh, yoruba, zulustring
Die Quellsprache des Inhalts unter Verwendung von ISO-Sprachcodes (z. B. Standard:
en, es, fr, de, ja, zh).Dringend empfohlen: Lassen Sie dies für die automatische Erkennung leer.Geben Sie diesen Parameter nur an, wenn Sie zu 100 % sicher sind, dass der Sprachcode korrekt ist und im gültigen ISO-Format vorliegt. Falsche Sprachcodes führen zu Transkriptionsfehlern. Unsere automatische Erkennung unterstützt über 80 Sprachen und ist hochpräzise.
auto-detectstring
Ein benutzerdefinierter Name für das Projekt. Nützlich zur Identifizierung von Projekten in Ihrem Dashboard.Standard: Die Projekt-ID wird verwendet, falls keine angegeben ist.
string
Ein https-Endpunkt, der die Webhook-Ereignisse für dieses Projekt empfängt,
und den für Ihr Konto konfigurierten Endpunkt überschreibt.Standard: Der Webhook-Endpunkt des Kontos, sofern einer konfiguriert ist.
string
auto-detect oder eine Ganzzahl von 1 bis 32. Die Angabe der bekannten Sprecheranzahl kann die Diarisierung verbessern.Standard: auto-detectstring
Ein JSON-String-Array mit anfragespezifischen Namen, Marken, Akronymen oder Fachbegriffen. Diese Begriffe werden mit dem gespeicherten Konto- oder Team-Glossar zusammengeführt.
["VoiceCheap", "SmartSync", "ITC Global"]
boolean
Entfernen Sie häufige Füllwörter während der Transkription.Standard:
truestring
Ein vorhandenes SRT-Transkript in der Quellsprache. Wenn dies bereitgestellt wird, muss
originalLanguage ein expliziter Sprachcode anstelle von auto-detect sein.POST /v1/translate gehandhabt.
Beispielanfrage
curl -X POST "https://api.voicecheap.ai/v1/projects" \
-H "x-api-key: YOUR_API_KEY" \
-F "file=@/path/to/video.mp4" \
-F "targetLanguage=french" \
-F "projectName=Launch Demo" \
-F "numberOfSpeakers=2" \
-F 'brandVocabulary=["VoiceCheap","SmartSync"]' \
-F "removeFillerWords=true"
Beispielantwort
{
"success": true,
"message": "Project created. Transcription started.",
"projectId": "project_123",
"projectName": "Launch Demo",
"targetLanguage": "french",
"status": "processing"
}
Fehler
| Status | Code | Beschreibung |
|---|---|---|
| 400 | FILE_REQUIRED | Es wurde keine Datei mit der Anfrage hochgeladen |
| 400 | INVALID_FILE_TYPE | Der hochgeladene Dateityp wird nicht unterstützt |
| 400 | DURATION_DETECTION_FAILED | Die Dauer der hochgeladenen Datei konnte nicht erkannt werden |
| 400 | INVALID_MULTIPART_REQUEST | Multipart-Formulardaten sind fehlerhaft oder überschreiten die Feldgrenzen |
| 400 | INVALID_BRAND_VOCABULARY | Ein anfragespezifischer Glossar-Eintrag ist ungültig |
| 400 | INVALID_SOURCE_SRT | Die bereitgestellte Quell-SRT ist fehlerhaft |
| 400 | SOURCE_LANGUAGE_REQUIRED_FOR_SRT | sourceSrt erfordert eine explizite originalLanguage |
| 400 | VIDEO_TOO_LONG | Die Mediendauer überschreitet das Limit Ihres Tarifs |
| 413 | FILE_TOO_LARGE | Die hochgeladene Datei überschreitet das Limit Ihres Tarifs |
| 401 | MISSING_API_KEY | API-Schlüssel ist erforderlich |
| 401 | INVALID_API_KEY_FORMAT | Der API-Schlüssel muss mit vc_ beginnen |
| 401 | INVALID_API_KEY | Der bereitgestellte API-Schlüssel ist ungültig |
| 403 | API_ACCESS_REQUIRED | API-Zugriff ist für dieses Konto erforderlich |
| 403 | SUBSCRIPTION_REQUIRED | API-Zugriff erfordert ein kostenpflichtiges Abonnement |
| 429 | RATE_LIMIT_EXCEEDED | Zu viele Anfragen (Limit: 10 Anfragen pro Minute) |
| 429 | CONCURRENT_TRANSLATION_LIMIT_REACHED | Zu viele Übersetzungen laufen gleichzeitig (Limit: 10 gleichzeitige Übersetzungen) |
| 500 | INTERNAL_ERROR | Unerwarteter Serverfehler |
War diese Seite hilfreich?

