兼容 OpenAI SDK,可直接用于大模型应用中的语音合成。
from openai import OpenAI
client = OpenAI(
api_key="your-api-key",
base_url="http://127.0.0.1:8787/v1",
)
response = client.audio.speech.create(
model="tts-1",
voice="zh-CN-XiaoxiaoNeural", # 或别名: alloy, echo, nova ...
input="你好,这是语音合成测试。",
speed=1.0,
)
response.write_to_file("speech.mp3")import OpenAI from "openai";
import fs from "fs";
const client = new OpenAI({
apiKey: "your-api-key",
baseURL: "http://127.0.0.1:8787/v1",
});
const response = await client.audio.speech.create({
model: "tts-1",
voice: "zh-CN-YunxiNeural",
input: "你好,这是语音合成测试。",
});
const buffer = Buffer.from(await response.arrayBuffer());
fs.writeFileSync("speech.mp3", buffer);curl http://127.0.0.1:8787/v1/audio/speech -H "Authorization: Bearer your-api-key" -H "Content-Type: application/json" -d '{
"model": "tts-1",
"input": "你好,这是语音合成测试。",
"voice": "zh-CN-XiaoxiaoNeural",
"speed": 1.0
}' --output speech.mp3curl http://127.0.0.1:8787/v1/audio/transcriptions -H "Authorization: Bearer your-api-key" -F "file=@speech.mp3"| 接口 | 方法 | 说明 |
|---|---|---|
/v1/audio/speech | POST | 文字转语音 |
/v1/audio/transcriptions | POST | 语音转文字 |
/v1/audio/voices | GET | 查询可用音色 |
/v1/models | GET | 查询可用模型 |
/healthz | GET | 健康检查(无需鉴权) |
在 voice 参数中传入以下值(也可通过 GET /v1/audio/voices 查询):
| voice 参数值 | 名称 | 类型 |
|---|---|---|
zh-CN-XiaoxiaoNeural | 晓晓 | 女声·温柔 |
zh-CN-XiaoyiNeural | 晓伊 | 女声·甜美 |
zh-CN-XiaochenNeural | 晓辰 | 女声·知性 |
zh-CN-XiaohanNeural | 晓涵 | 女声·优雅 |
zh-CN-XiaomengNeural | 晓梦 | 女声·梦幻 |
zh-CN-XiaomoNeural | 晓墨 | 女声·文艺 |
zh-CN-XiaoqiuNeural | 晓秋 | 女声·成熟 |
zh-CN-XiaoruiNeural | 晓睿 | 女声·智慧 |
zh-CN-XiaoshuangNeural | 晓双 | 女声·活泼 |
zh-CN-XiaoxuanNeural | 晓萱 | 女声·清新 |
zh-CN-XiaoyanNeural | 晓颜 | 女声·柔美 |
zh-CN-XiaoyouNeural | 晓悠 | 女声·悠扬 |
zh-CN-XiaozhenNeural | 晓甄 | 女声·端庄 |
zh-CN-YunxiNeural | 云希 | 男声·清朗 |
zh-CN-YunyangNeural | 云扬 | 男声·阳光 |
zh-CN-YunjianNeural | 云健 | 男声·稳重 |
zh-CN-YunfengNeural | 云枫 | 男声·磁性 |
zh-CN-YunhaoNeural | 云皓 | 男声·豪迈 |
zh-CN-YunxiaNeural | 云夏 | 男声·热情 |
zh-CN-YunyeNeural | 云野 | 男声·野性 |
zh-CN-YunzeNeural | 云泽 | 男声·深沉 |
支持以下 OpenAI 音色别名,自动映射到对应的中文语音:
| 别名 | 映射语音 |
|---|---|
alloy | 晓晓 (XiaoxiaoNeural) |
ash | 云希 (YunxiNeural) |
ballad | 晓伊 (XiaoyiNeural) |
coral | 晓辰 (XiaochenNeural) |
echo | 云扬 (YunyangNeural) |
fable | 云健 (YunjianNeural) |
nova | 晓萱 (XiaoxuanNeural) |
onyx | 云枫 (YunfengNeural) |
sage | 晓睦 (XiaoruiNeural) |
shimmer | 晓涵 (XiaohanNeural) |
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
input | string | — | 要转换的文本(必填) |
voice | string | XiaoxiaoNeural | 语音名称或别名 |
speed | number | 1.0 | 语速 (0.5 - 2.0) |
pitch | string | "0" | 音调 (-50 到 50) |
volume | string | "0" | 音量调节 |
style | string | "general" | 语音风格 |