Heygen Video-translate
curl --request POST \
--url https://api.novita.ai/v3/async/heygen-video-translate \
--header 'Authorization: <authorization>' \
--header 'Content-Type: <content-type>' \
--data '
{
"video": "<string>",
"output_language": "<string>"
}
'import requests
url = "https://api.novita.ai/v3/async/heygen-video-translate"
payload = {
"video": "<string>",
"output_language": "<string>"
}
headers = {
"Content-Type": "<content-type>",
"Authorization": "<authorization>"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': '<content-type>', Authorization: '<authorization>'},
body: JSON.stringify({video: '<string>', output_language: '<string>'})
};
fetch('https://api.novita.ai/v3/async/heygen-video-translate', 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.novita.ai/v3/async/heygen-video-translate",
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([
'video' => '<string>',
'output_language' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: <authorization>",
"Content-Type: <content-type>"
],
]);
$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.novita.ai/v3/async/heygen-video-translate"
payload := strings.NewReader("{\n \"video\": \"<string>\",\n \"output_language\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "<content-type>")
req.Header.Add("Authorization", "<authorization>")
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.novita.ai/v3/async/heygen-video-translate")
.header("Content-Type", "<content-type>")
.header("Authorization", "<authorization>")
.body("{\n \"video\": \"<string>\",\n \"output_language\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.novita.ai/v3/async/heygen-video-translate")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = '<content-type>'
request["Authorization"] = '<authorization>'
request.body = "{\n \"video\": \"<string>\",\n \"output_language\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"task_id": "<string>",
"provider_request_id": "<string>"
}Video Generator
Heygen Video-translate
POST
/
v3
/
async
/
heygen-video-translate
Heygen Video-translate
curl --request POST \
--url https://api.novita.ai/v3/async/heygen-video-translate \
--header 'Authorization: <authorization>' \
--header 'Content-Type: <content-type>' \
--data '
{
"video": "<string>",
"output_language": "<string>"
}
'import requests
url = "https://api.novita.ai/v3/async/heygen-video-translate"
payload = {
"video": "<string>",
"output_language": "<string>"
}
headers = {
"Content-Type": "<content-type>",
"Authorization": "<authorization>"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': '<content-type>', Authorization: '<authorization>'},
body: JSON.stringify({video: '<string>', output_language: '<string>'})
};
fetch('https://api.novita.ai/v3/async/heygen-video-translate', 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.novita.ai/v3/async/heygen-video-translate",
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([
'video' => '<string>',
'output_language' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: <authorization>",
"Content-Type: <content-type>"
],
]);
$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.novita.ai/v3/async/heygen-video-translate"
payload := strings.NewReader("{\n \"video\": \"<string>\",\n \"output_language\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "<content-type>")
req.Header.Add("Authorization", "<authorization>")
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.novita.ai/v3/async/heygen-video-translate")
.header("Content-Type", "<content-type>")
.header("Authorization", "<authorization>")
.body("{\n \"video\": \"<string>\",\n \"output_language\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.novita.ai/v3/async/heygen-video-translate")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = '<content-type>'
request["Authorization"] = '<authorization>'
request.body = "{\n \"video\": \"<string>\",\n \"output_language\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"task_id": "<string>",
"provider_request_id": "<string>"
}Translate videos into 175+ languages using natural voice cloning and accurate lip-sync alignment.
This is an asynchronous API; only the task_id will be returned. You should use the task_id to request the Task Result API to retrieve the video generation results.
Request Headers
string
vereist
Supports:
application/jsonstring
vereist
Bearer authentication format, for example: Bearer {{API Key}}.
Request Body
string
vereist
Video URL to translate. Must be publicly accessible. Supports direct URLs, Google Drive, and YouTube links.
string
vereist
Target translation language. Supports 70+ languages and 175+ dialects, with natural voice cloning and lip-sync adjustment.Optional values:
English, English (Australia), English (India), English (UK), English (US), Spanish, Spanish (Mexico), Spanish (Spain), French, French (Canada), French (France), Hindi, Italian, German, Polish, Portuguese, Portuguese (Brazil), Portuguese (Portugal), Chinese, Chinese (Cantonese, Traditional), Chinese (Mandarin, Simplified), Chinese (Mandarin, Traditional), Japanese, Dutch, Turkish, Korean, Danish, Arabic, Romanian, Mandarin, Filipino, Swedish, Indonesian, Ukrainian, Greek, Czech, Bulgarian, Malay, Slovak, Croatian, Tamil, Finnish, RussianResponse
string
Use the task_id to request the Task Result API to retrieve the generated outputs.
string
Provider request ID
Laatst gewijzigd op 10 augustus 2026