cURL
curl --request POST \
--url https://api.vozo.ai/v1/reusable_lipsync_model_video_generation \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"model_id": "<string>",
"audio_url": "<string>",
"callback_url": "<string>"
}
'import requests
url = "https://api.vozo.ai/v1/reusable_lipsync_model_video_generation"
payload = {
"model_id": "<string>",
"audio_url": "<string>",
"callback_url": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({model_id: '<string>', audio_url: '<string>', callback_url: '<string>'})
};
fetch('https://api.vozo.ai/v1/reusable_lipsync_model_video_generation', 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.vozo.ai/v1/reusable_lipsync_model_video_generation",
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([
'model_id' => '<string>',
'audio_url' => '<string>',
'callback_url' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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.vozo.ai/v1/reusable_lipsync_model_video_generation"
payload := strings.NewReader("{\n \"model_id\": \"<string>\",\n \"audio_url\": \"<string>\",\n \"callback_url\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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.vozo.ai/v1/reusable_lipsync_model_video_generation")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"model_id\": \"<string>\",\n \"audio_url\": \"<string>\",\n \"callback_url\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.vozo.ai/v1/reusable_lipsync_model_video_generation")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"model_id\": \"<string>\",\n \"audio_url\": \"<string>\",\n \"callback_url\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"task_id": "<string>"
}{
"code": "<string>",
"message": "<string>",
"serverTs": "<string>"
}API de Lip Sync reutilizable
Crear Trabajo de Video Lip Sync mediante Modelo Lip Sync Reutilizable
Create a lipsynced talking video use reusable model
POST
/
v1
/
reusable_lipsync_model_video_generation
cURL
curl --request POST \
--url https://api.vozo.ai/v1/reusable_lipsync_model_video_generation \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"model_id": "<string>",
"audio_url": "<string>",
"callback_url": "<string>"
}
'import requests
url = "https://api.vozo.ai/v1/reusable_lipsync_model_video_generation"
payload = {
"model_id": "<string>",
"audio_url": "<string>",
"callback_url": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({model_id: '<string>', audio_url: '<string>', callback_url: '<string>'})
};
fetch('https://api.vozo.ai/v1/reusable_lipsync_model_video_generation', 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.vozo.ai/v1/reusable_lipsync_model_video_generation",
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([
'model_id' => '<string>',
'audio_url' => '<string>',
'callback_url' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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.vozo.ai/v1/reusable_lipsync_model_video_generation"
payload := strings.NewReader("{\n \"model_id\": \"<string>\",\n \"audio_url\": \"<string>\",\n \"callback_url\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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.vozo.ai/v1/reusable_lipsync_model_video_generation")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"model_id\": \"<string>\",\n \"audio_url\": \"<string>\",\n \"callback_url\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.vozo.ai/v1/reusable_lipsync_model_video_generation")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"model_id\": \"<string>\",\n \"audio_url\": \"<string>\",\n \"callback_url\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"task_id": "<string>"
}{
"code": "<string>",
"message": "<string>",
"serverTs": "<string>"
}Autorizaciones
Bearer authentication header of the form Bearer <api_key>, where <api_key> is your API Key. The token in the sample code is referring to this api_key as well.
Cuerpo
application/json
ID of the reusable lipsync model
Url that our server could download the audio file from to drive the reference. Supported audio types: .wav .mp3 .m4a
Url for callback if the job status changes. This URL will receive a request with the schema same as response for query job status API when job status changes.
Respuesta
Job ID
ID of the task
Última modificación el 18 de diciembre de 2025
¿Esta página le ayudó?
⌘I