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
requis
Supports:
application/jsonstring
requis
Bearer authentication format, for example: Bearer {{API Key}}.
Request Body
string
requis
Video URL to translate. Must be publicly accessible. Supports direct URLs, Google Drive, and YouTube links.
string
requis
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
Dernière modification le 10 août 2026