文生音频
curl --request POST \
--url https://baze-api.powerbuyin.top/vidu/ent/v2/text2audio \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"model": "audio1.0",
"prompt": "清晨的鸟叫声",
"duration": 10,
"seed": 0
}
'import requests
url = "https://baze-api.powerbuyin.top/vidu/ent/v2/text2audio"
payload = {
"model": "audio1.0",
"prompt": "清晨的鸟叫声",
"duration": 10,
"seed": 0
}
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: 'audio1.0', prompt: '清晨的鸟叫声', duration: 10, seed: 0})
};
fetch('https://baze-api.powerbuyin.top/vidu/ent/v2/text2audio', 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://baze-api.powerbuyin.top/vidu/ent/v2/text2audio",
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' => 'audio1.0',
'prompt' => '清晨的鸟叫声',
'duration' => 10,
'seed' => 0
]),
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://baze-api.powerbuyin.top/vidu/ent/v2/text2audio"
payload := strings.NewReader("{\n \"model\": \"audio1.0\",\n \"prompt\": \"清晨的鸟叫声\",\n \"duration\": 10,\n \"seed\": 0\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://baze-api.powerbuyin.top/vidu/ent/v2/text2audio")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"model\": \"audio1.0\",\n \"prompt\": \"清晨的鸟叫声\",\n \"duration\": 10,\n \"seed\": 0\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://baze-api.powerbuyin.top/vidu/ent/v2/text2audio")
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\": \"audio1.0\",\n \"prompt\": \"清晨的鸟叫声\",\n \"duration\": 10,\n \"seed\": 0\n}"
response = http.request(request)
puts response.read_body{
"task_id": "your_task_id_here",
"state": "created",
"model": "audio1.0",
"prompt": "清晨的鸟叫声",
"duration": 10,
"seed": 123456789,
"credits": 10,
"created_at": "2025-01-01T15:41:31.968916Z"
}Vidu
Vidu 文生音频
适用于通过输入提示词,生成一段音频(支持生成音效和背景音乐 BGM)。提交任务后,请通过 GET /vidu/ent/v2/tasks/{task_id}/creations 查询状态。
POST
/
vidu
/
ent
/
v2
/
text2audio
文生音频
curl --request POST \
--url https://baze-api.powerbuyin.top/vidu/ent/v2/text2audio \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"model": "audio1.0",
"prompt": "清晨的鸟叫声",
"duration": 10,
"seed": 0
}
'import requests
url = "https://baze-api.powerbuyin.top/vidu/ent/v2/text2audio"
payload = {
"model": "audio1.0",
"prompt": "清晨的鸟叫声",
"duration": 10,
"seed": 0
}
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: 'audio1.0', prompt: '清晨的鸟叫声', duration: 10, seed: 0})
};
fetch('https://baze-api.powerbuyin.top/vidu/ent/v2/text2audio', 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://baze-api.powerbuyin.top/vidu/ent/v2/text2audio",
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' => 'audio1.0',
'prompt' => '清晨的鸟叫声',
'duration' => 10,
'seed' => 0
]),
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://baze-api.powerbuyin.top/vidu/ent/v2/text2audio"
payload := strings.NewReader("{\n \"model\": \"audio1.0\",\n \"prompt\": \"清晨的鸟叫声\",\n \"duration\": 10,\n \"seed\": 0\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://baze-api.powerbuyin.top/vidu/ent/v2/text2audio")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"model\": \"audio1.0\",\n \"prompt\": \"清晨的鸟叫声\",\n \"duration\": 10,\n \"seed\": 0\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://baze-api.powerbuyin.top/vidu/ent/v2/text2audio")
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\": \"audio1.0\",\n \"prompt\": \"清晨的鸟叫声\",\n \"duration\": 10,\n \"seed\": 0\n}"
response = http.request(request)
puts response.read_body{
"task_id": "your_task_id_here",
"state": "created",
"model": "audio1.0",
"prompt": "清晨的鸟叫声",
"duration": 10,
"seed": 123456789,
"credits": 10,
"created_at": "2025-01-01T15:41:31.968916Z"
}授权
在请求头中传入 Authorization: Bearer <token>。
请求体
application/json
模型名称可选值:audio1.0
可用选项:
audio1.0 文本提示词用于生成音频的描述。字符长度不能超过 1500 个字符
Maximum string length:
1500音频时长默认 10,可选范围:2~10 秒内
必填范围:
2 <= x <= 10随机种子随机种子,若不传或传0则自动生成随机数,传固定值生成确定性结果
Callback 协议需要您在创建任务时主动设置 callback_url,请求方法为 POST,当视频生成任务有状态变化时,Vidu 将向此地址发送包含任务最新状态的回调请求。回调请求内容结构与查询任务API的返回体一致回调返回的"status"包括以下状态:- processing 任务处理中- success 任务完成(如发送失败,回调三次)- failed 任务失败(如发送失败,回调三次)Vidu采用回调签名算法进行认证,详情见:回调签名算法
响应
200 - application/json
提交成功,返回音频任务对象。
Vidu 生成的任务ID
处理状态 可选值:
- created 创建成功
- queueing 任务排队中
- processing 任务处理中
- success 任务成功
- failed 任务失败
可用选项:
created, queueing, processing, success, failed 本次调用的模型名称
本次调用的提示词参数
本次调用的音频时长参数
本次调用的随机种子参数
本次调用使用的积分数
任务创建时间
⌘I