5 分钟生成语音
开始之前
请先创建项目和 API Key,完整步骤参见获取 API Key。
妥善保管 API Key
请勿分享 API Key,也不要将其放入公开的源代码中。
export VUILABS_API_BASE_URL="https://api.vuilabs.ai"
export VUILABS_API_KEY="your-api-key"
运行请求前,请将 YOUR_PROJECT_VOICE_ID 替换为当前 API Key 可使用的音色 ID;它不是平台提供的共享演示音色。克隆音色时,请先通过音色克隆 API创建音色。
生成第一个音频
- cURL
- JavaScript
- Python
curl --request POST \
--url "$VUILABS_API_BASE_URL/v1/text-to-speech" \
--header "X-API-Key: $VUILABS_API_KEY" \
--header "Content-Type: application/json" \
--data '{
"text": "Hello from VUILabs.",
"voice_id": "YOUR_PROJECT_VOICE_ID",
"language": "en",
"speed": 1
}' \
--output speech.wav
import { writeFile } from 'node:fs/promises';
const response = await fetch(`${process.env.VUILABS_API_BASE_URL}/v1/text-to-speech`, {
method: 'POST',
headers: {
'X-API-Key': process.env.VUILABS_API_KEY,
'Content-Type': 'application/json',
},
body: JSON.stringify({
text: 'Hello from VUILabs.',
voice_id: 'YOUR_PROJECT_VOICE_ID',
language: 'en',
speed: 1,
}),
});
if (!response.ok) throw new Error(await response.text());
await writeFile('speech.wav', Buffer.from(await response.arrayBuffer()));
import os
import requests
response = requests.post(
f"{os.environ['VUILABS_API_BASE_URL']}/v1/text-to-speech",
headers={"X-API-Key": os.environ["VUILABS_API_KEY"]},
json={"text": "Hello from VUILabs.", "voice_id": "YOUR_PROJECT_VOICE_ID", "language": "en", "speed": 1},
)
response.raise_for_status()
with open("speech.wav", "wb") as output:
output.write(response.content)
接下来做什么
请求成功时返回 HTTP 200 的原始音频字节。请保存为文件,或直接交给音频播放器。
✓
需要指定音色? 请从当前项目选择已启用的 voice_id。
需要更快听到首段音频? 请改用流式接口。
✓需要不同音频格式? 同步和 Luna-TTS 流式请求均支持 WAV(默认)或裸 PCM;传入 audio_format: "pcm" 可获得 PCM,播放前请读取响应中的音频参数。
继续阅读选择音色与输出,或查看完整的语音合成 API 参考。