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>",
"driving_text": "<string>",
"callback_url": "<string>"
}
'import requests
url = "https://api.vozo.ai/v1/reusable_lipsync_model_video_generation"
payload = {
"model_id": "<string>",
"audio_url": "<string>",
"driving_text": "<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>',
driving_text: '<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>',
'driving_text' => '<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 \"driving_text\": \"<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 \"driving_text\": \"<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 \"driving_text\": \"<string>\",\n \"callback_url\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"task_id": "<string>"
}{
"code": "<string>",
"message": "<string>",
"serverTs": "<string>"
}再利用可能なリップシンクモデルによるリップシンクビデオジョブの作成
Create a lipsynced talking video use reusable model
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>",
"driving_text": "<string>",
"callback_url": "<string>"
}
'import requests
url = "https://api.vozo.ai/v1/reusable_lipsync_model_video_generation"
payload = {
"model_id": "<string>",
"audio_url": "<string>",
"driving_text": "<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>',
driving_text: '<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>',
'driving_text' => '<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 \"driving_text\": \"<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 \"driving_text\": \"<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 \"driving_text\": \"<string>\",\n \"callback_url\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"task_id": "<string>"
}{
"code": "<string>",
"message": "<string>",
"serverTs": "<string>"
}承認
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.
ボディ
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
Text used to drive the reference. Either driving_text or audio_url must be provided. When driving_text is used, the speech audio will be synthesized using the model voice cloned from the original reference video or audio.
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.
レスポンス
Job ID
ID of the task
このページは役に立ちましたか?