模型简介

tavern-speech-2.8-turbo 是高速中文语音合成模型,300 多个系统音色,同步合成约 1 秒出音频;同时支持最长 5 万字符的异步长文本合成,适合有声书、广播剧、角色配音。

快速信息

项目说明
模型名称tavern-speech-2.8-turbo
价格8 元/万字符
同步合成POST /v1/audio/speech,单次最多 10000 字符,约 1 秒返回
异步合成POST /v1/chat/completions,单次最多 50000 字符,返回音频包下载链接
输出格式mp3(默认)/ wav / flac
Base URLhttps://deepseektavern.com/v1

获取 API Key

登录 DeepSeek Tavern 控制台,在「令牌管理」中创建 API Key。详细步骤参考:API 密钥获取指南。

Base URL 统一为 https://deepseektavern.com/v1,认证方式:Authorization: Bearer <你的API密钥>。下文示例中的 YOUR_API_KEY 请替换为你自己的 Key。

同步合成

POST https://deepseektavern.com/v1/audio/speech,直接返回音频文件。

参数类型必填说明
modelstring是tavern-speech-2.8-turbo
inputstring是要合成的文本,最多 10000 字符
voicestring是音色 id,见下方「音色」一节
response_formatstring否mp3(默认)/ wav / flac
speed / vol / pitch / emotion / voice_modify / language_boost—否定制参数,见「定制音色」
instructionsstring否上述定制参数的 JSON 字符串写法,见「定制音色」

curl 示例

curl https://deepseektavern.com/v1/audio/speech \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "model": "tavern-speech-2.8-turbo",
    "input": "欢迎回来,<#0.5#>今天也辛苦了。(sighs)要不要先喝杯热茶?",
    "voice": "female-tianmei",
    "response_format": "mp3"
  }' \
  --output output.mp3

Python 示例(OpenAI SDK)

from openai import OpenAI

client = OpenAI(api_key="YOUR_API_KEY", base_url="https://deepseektavern.com/v1")

with client.audio.speech.with_streaming_response.create(
    model="tavern-speech-2.8-turbo",
    voice="male-qn-jingying",
    input="各位旅人,欢迎来到灰石镇。<#0.3#>今晚的篝火晚会,可别错过了。",
    response_format="mp3",
) as resp:
    resp.stream_to_file("output.mp3")

异步合成(长文本 / 有声书)

POST https://deepseektavern.com/v1/chat/completions,单次最多 50000 字符。用户消息内容可以是:

  • 纯文本:直接放要朗读的内容,使用默认音色
  • JSON 字符串:指定音色和参数,例如 {"text":"……","voice":"male-qn-jingying","speed":1.1}

长文本建议加 "stream": true 避免等待超时。返回内容是音频包下载链接:一个 tar 压缩包,里面包含音频和字幕文件,链接 9 小时内有效,请及时下载。

curl 示例

curl -N https://deepseektavern.com/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "model": "tavern-speech-2.8-turbo",
    "stream": true,
    "messages": [
      {"role": "user", "content": "{\"text\":\"那天夜里,雨下得很大。<#1.0#>他推开酒馆的门……\",\"voice\":\"male-qn-jingying\",\"speed\":1.1}"}
    ]
  }'

Python 示例:有声书

import json
import re
import requests
from openai import OpenAI

client = OpenAI(api_key="YOUR_API_KEY", base_url="https://deepseektavern.com/v1", timeout=900)

text = open("chapter1.txt", encoding="utf-8").read()   # 最多 50000 字符
content = json.dumps({"text": text, "voice": "Chinese (Mandarin)_Radio_Host", "speed": 1.0},
                     ensure_ascii=False)

stream = client.chat.completions.create(
    model="tavern-speech-2.8-turbo",
    stream=True,
    messages=[{"role": "user", "content": content}],
)
full = ""
for chunk in stream:
    if chunk.choices and chunk.choices[0].delta.content:
        full += chunk.choices[0].delta.content
print(full)

# 提取音频包链接并下载(tar 包含音频和字幕,9 小时内有效)
url = re.search(r"https?://[^\s)\]]+", full).group(0)
with requests.get(url, stream=True, timeout=600) as r:
    r.raise_for_status()
    with open("chapter1.tar", "wb") as f:
        for part in r.iter_content(1 << 16):
            f.write(part)
# 解压:tar -xf chapter1.tar

文本技巧

写法效果示例
<#秒数#>插入停顿,单位秒,范围 0.01–99.99你好<#0.5#>我是旅人
(laughs)笑声真的吗(laughs)太好了
(sighs)叹气(sighs)又下雨了
(breath)换气声跑了好久(breath)终于到了
换行代表分段,段落之间会自然停顿—

音色

1. 使用现有音色

把 voice 设为 voice_id 即可。系统共有 300 多个音色(含中、英、日、韩等多语种),下表列出全部 64 个中文名音色:

voice_id名字描述
male-qn-qingse青涩青年音色
male-qn-jingying精英青年音色
male-qn-badao霸道青年音色
male-qn-daxuesheng青年大学生音色
female-shaonv少女音色
female-yujie御姐音色
female-chengshu成熟女性音色
female-tianmei甜美女性音色
male-qn-qingse-jingpin青涩青年音色-beta
male-qn-jingying-jingpin精英青年音色-beta
male-qn-badao-jingpin霸道青年音色-beta
male-qn-daxuesheng-jingpin青年大学生音色-beta
female-shaonv-jingpin少女音色-beta
female-yujie-jingpin御姐音色-beta
female-chengshu-jingpin成熟女性音色-beta
female-tianmei-jingpin甜美女性音色-beta
clever_boy聪明男童
cute_boy可爱男童
lovely_girl萌萌女童
cartoon_pig卡通猪小琪
bingjiao_didi病娇弟弟
junlang_nanyou俊朗男友
chunzhen_xuedi纯真学弟
lengdan_xiongzhang冷淡学长
badao_shaoye霸道少爷
tianxin_xiaoling甜心小玲
qiaopi_mengmei俏皮萌妹
wumei_yujie妩媚御姐
diadia_xuemei嗲嗲学妹
danya_xuejie淡雅学姐
Chinese (Mandarin)_Reliable_Executive沉稳高管一位沉稳可靠的中年男性高管声音,标准普通话,传递出值得信赖的感觉。
Chinese (Mandarin)_News_Anchor新闻女声一位专业、播音腔的中年女性新闻主播,标准普通话。
Chinese (Mandarin)_Mature_Woman傲娇御姐一位妩媚成熟的青年御姐声音,标准普通话。
Chinese (Mandarin)_Unrestrained_Young_Man不羁青年一位潇洒不羁的青年男性声音,标准普通话。
Arrogant_Miss嚣张小姐一位嚣张自信的青年女性声音,标准普通话,展现出优越感。
Robot_Armor机械战甲一位电子化、机器人般的青年男性声音,适合科幻或未来主义内容的标准普通话。
Chinese (Mandarin)_Kind-hearted_Antie热心大婶一位温和善良的中年大婶声音,标准普通话,温暖而体贴。
Chinese (Mandarin)_HK_Flight_Attendant港普空姐一位礼貌的中年女性空乘员声音,带有港式普通话口音,清晰而有礼。
Chinese (Mandarin)_Humorous_Elder搞笑大爷一位爽朗幽默的老年男性大爷声音,带有北方口音的中文,充满个性。
Chinese (Mandarin)_Gentleman温润男声一位温润磁性的青年男性声音,标准普通话。
Chinese (Mandarin)_Warm_Bestie温暖闺蜜一位温暖清脆的青年女性闺蜜声音,标准普通话,友好而清晰。
Chinese (Mandarin)_Male_Announcer播报男声一位富有磁性的中年男性播报员声音,标准普通话,清晰而权威。
Chinese (Mandarin)_Sweet_Lady甜美女声一位温柔甜美的青年女性声音,标准普通话。
Chinese (Mandarin)_Southern_Young_Man南方小哥一位质朴的青年男性声音,带有南方口音的中文。
Chinese (Mandarin)_Wise_Women阅历姐姐一位富有阅历、声音抒情的中年姐姐声音,标准普通话。
Chinese (Mandarin)_Gentle_Youth温润青年一位温柔的青年男性声音,标准普通话。
Chinese (Mandarin)_Warm_Girl温暖少女一位温柔温暖的少年女声,标准普通话。
Chinese (Mandarin)_Kind-hearted_Elder花甲奶奶一位慈祥和蔼的老年女性奶奶声音,标准普通话。
Chinese (Mandarin)_Cute_Spirit憨憨萌兽一位呆萌可爱的少年男声,适合憨厚的萌兽角色。
Chinese (Mandarin)_Radio_Host电台男主播一位富有诗意的青年男性电台主播声音,标准普通话,声音流畅引人入胜。
Chinese (Mandarin)_Lyrical_Voice抒情男声一位磁性抒情的青年男性声音,标准普通话,流畅而富有表现力。
Chinese (Mandarin)_Straightforward_Boy率真弟弟一位认真率真的少年弟弟声音,标准普通话。
Chinese (Mandarin)_Sincere_Adult真诚青年一位真诚、富有鼓励性的青年男性声音,标准普通话。
Chinese (Mandarin)_Gentle_Senior温柔学姐一位温暖温柔的青年学姐声音,标准普通话。
Chinese (Mandarin)_Stubborn_Friend嘴硬竹马一位嘴硬心软、不羁的青年竹马声音,标准普通话。
Chinese (Mandarin)_Crisp_Girl清脆少女一位温暖清脆的少女声音,标准普通话。
Chinese (Mandarin)_Pure-hearted_Boy清澈邻家弟弟一位认真清澈的邻家少年弟弟声音,标准普通话。
Chinese (Mandarin)_Soft_Girl软软女孩一位温暖柔软的青年女性声音,带有南方口音的中文。
Cantonese_ProfessionalHost(F)专业女主持一位中性、专业的青年女性粤语主持人声音。
Cantonese_GentleLady温柔女声一位平静温柔的青年女性粤语声音。
Cantonese_ProfessionalHost(M)专业男主持一位中性、专业的青年男性粤语主持人声音。
Cantonese_PlayfulMan活泼男声一位活泼深情的青年男性粤语声音。
Cantonese_CuteGirl可爱女孩一位柔和可爱的青年女性粤语声音。
Cantonese_KindWoman善良女声一位亲切善良的青年女性粤语声音。

其他语种示例 id:

voice_id语种
English_Graceful_Lady英文女声
English_Persuasive_Man英文男声
Japanese_Whisper_Belle日文女声
粤语音色

粤语音色(如 Cantonese_GentleLady)需要配合 "language_boost": "Chinese,Yue" 使用,发音才是地道粤语。

{
  "model": "tavern-speech-2.8-turbo",
  "input": "今日天气几好,不如一齐去饮茶啊?",
  "voice": "Cantonese_GentleLady",
  "language_boost": "Chinese,Yue"
}

2. 定制音色

混合音色:把多个音色按权重混合成新声音,格式 音色id:权重,用逗号分隔,最多 4 个,权重 1–100:

"voice": "female-tianmei:60,female-chengshu:40"

情绪、语速、音量、音调:可作为请求体顶层字段传:

参数取值说明
emotionhappy / sad / angry / fearful / disgusted / surprised / calm情绪
speed0.5 – 2语速
vol0 – 10音量
pitch-12 – 12音调

音色微调 voice_modify:

字段取值说明
pitch-100 – 100音高偏移
intensity-100 – 100力度 / 强度
timbre-100 – 100音色质感
sound_effectsspacious_echo / auditorium_echo / lofi_telephone / robotic音效:空旷回声 / 礼堂回声 / 电话音 / 机器人

顶层字段写法(curl)

curl https://deepseektavern.com/v1/audio/speech \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "model": "tavern-speech-2.8-turbo",
    "input": "哼,才不是特意等你的呢!",
    "voice": "female-shaonv:70,qiaopi_mengmei:30",
    "emotion": "happy",
    "speed": 1.15,
    "pitch": 2,
    "voice_modify": {"timbre": 30, "sound_effects": "spacious_echo"}
  }' \
  --output tsundere.mp3

instructions 写法(任何 OpenAI SDK 通用)

上面所有定制参数也可以写成 JSON 字符串放进 instructions 字段,例如 "instructions": "{\"emotion\":\"happy\",\"voice_modify\":{\"timbre\":30}}"。instructions 是 OpenAI 语音接口的标准字段,因此这种写法在任何 OpenAI SDK 和兼容客户端里都能用,不需要额外的自定义参数支持。

import json
from openai import OpenAI

client = OpenAI(api_key="YOUR_API_KEY", base_url="https://deepseektavern.com/v1")

opts = {
    "emotion": "sad",
    "speed": 0.9,
    "voice_modify": {"pitch": -20, "timbre": 30, "sound_effects": "lofi_telephone"},
}
with client.audio.speech.with_streaming_response.create(
    model="tavern-speech-2.8-turbo",
    voice="Chinese (Mandarin)_Gentle_Youth",
    input="喂?<#0.5#>是我。<#0.8#>(sighs)我只是……想听听你的声音。",
    instructions=json.dumps(opts),
) as resp:
    resp.stream_to_file("phone_call.mp3")
声音复刻

声音复刻(克隆你自己的声音)目前不开放自助,如有需要请联系管理员。

计费说明

项目价格
按字符计费8 元/万字符
示例:一章 5000 字有声书约 4 元