mcpField
F
fish-audio-tts

fish-audio-tts

github.com/calesthio创意与媒体221109 次安装15 周前更新
代码仓库

关于 fish-audio-tts

面向语音应用开发者的 Fish Audio 使用技能,介绍托管 TTS、语音克隆与开放权重的操作差异。内容着重区分模型和许可,避免将非商业开放权重误用于商业自托管。

主要功能

  1. 01通过 API 合成语音
  2. 02支持实时及分块流式输出
  3. 03提供持久与即时语音克隆
  4. 04用标记控制情绪和语气
  5. 05说明开放权重与许可差异

适用场景

  1. 01为应用生成多语言语音
  2. 02为实时 Agent 接入语音输出
  3. 03用参考音频创建定制声音
  4. 04评估本地原型与商业托管方案

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/calesthio/generative-media-skills --skill fish-audio-tts

安装后在 Claude Code 中输入/fish-audio-tts确认已加载。

附带文件EVAL.md

详细介绍

Fish Audio 文本转语音与声音克隆

Fish Audio 是一家 TTS 和声音克隆服务提供商,提供两个有共同渊源但在许可和运行方式上有所不同的产品:

  1. 托管 API(api.fish.audio)——商业服务。目前的产品线以 S2.1-Pro / S2-Pro / S1 为品牌。按 UTF-8 字节付费,支持流式传输和克隆,并提供免费套餐。
  2. 开放权重——以 OpenAudio 品牌发布(早期也以 Fish-Speech 名义发布)。可从 Hugging Face 和 GitHub 下载,用于自托管。

最重要的一点是:托管 API 与开放权重并非同一组模型,许可也不相同。完整的旗舰权重仅托管提供;公开发布的只有较小的蒸馏权重,且采用非商业许可。切勿认为“Fish 是开源的,所以我可以将其用于商业自托管”——请确认适用的具体制品和许可。参见下文的 开放权重与自托管。

下文所有模型名称、价格、端点和限制都可能变动。本文所有注明日期的声明,其核实日期均为:2026-07-10。 在向用户引用这些信息作为最新信息之前,请先对照 docs.fish.audio 重新核实。

全文使用以下标签:

  • [Doc]——Fish Audio / OpenAudio 的官方文档、模型卡或已发布技术报告中所述。
  • [Claim]——Fish Audio / OpenAudio 的官方营销或基准测试声明;应视为其主张,而非独立证实的事实。
  • [Heuristic]——基于实践得出的生产环境判断,并非文档保证。

何时使用 Fish Audio(以及何时不使用)

适合使用 Fish Audio 的情况:

  • 你需要低成本、富有表现力的多语言 TTS,并且希望通过较短的参考音频实现高质量声音克隆。
  • 你希望通过内联标记实现精细的情绪/副语言控制,而不仅仅是 SSML 韵律控制。
  • 你需要为 Agent 提供实时流式语音(WebSocket,首段音频生成时间不到 1 秒)。[Claim]
  • 你希望保留之后自托管的选项,或者先在开放权重上进行本地原型开发,再决定是否使用 API。

以下情况优先考虑其他方案:

  • 你需要针对特定名人/品牌声音获得经过认证、具有合同保障的声音肖像权——Fish Audio 不会预先审核个别用例,并将取得同意的责任交由你承担。[Doc]
  • 你的部署用于商业用途,而且你明确希望运行自托管开放权重——已发布权重采用非商业许可,因此商业自托管需要使用托管 API,或另行取得商业许可。[Doc]
  • 你需要具备正式且经过审计的企业合规保障的服务提供商(例如,免费套餐提供已签署的 BAA/DPA 保证)——免费套餐明确不提供此类保证。[Doc]
  • 你所需的语言不在 S1 支持范围内(参见 语言),而且你需要有文档记录、经过测试的质量保障。

此技能不会在不同服务提供商之间做选择。如果用户仍在考虑是否使用 Fish Audio,或是否改用 ElevenLabs、Cartesia 等服务,请说明其中的权衡,但也要指出该决策应由服务提供商比较技能负责。


托管 API

端点 [Doc, 2026-07-10]
  • REST(批处理/流式传输): POST https://api.fish.audio/v1/tts
  • WebSocket(双向流式传输): wss://api.fish.audio/v1/tts/live
  • 创建声音模型(克隆): POST https://api.fish.audio/model
  • ASR / 转录: transcribe-1 模型(独立端点;每小时音频 $0.36)。

TTS 调用所需的请求头:Authorization: Bearer <FISH_API_KEY>、model: <model-name>,以及 Content-Type: application/json 或 application/msgpack。model 请求头——而非请求体字段——用于选择模型。[Doc]

模型系列 [Doc, 2026-07-10]
模型头部值角色标记语法说明
s2.1-pro推荐用于生产环境方括号标签 [...]相较于 S2-Pro,质量、延迟和吞吐量均有提升。[Claim]
s2.1-pro-free免费层级,与 s2.1-pro 使用相同权重[...]$0。不保证首次音频时间(TTFA)或 DPA。适用于开发、原型制作或较小规模的用途。[Doc]
s2-pro上一代默认模型[...]支持多说话人和自然语言表达控制。[Doc]
s1更早一代圆括号标签 (...)通过圆括号标记情绪。[Doc]

标记语法差异至关重要 [Heuristic, 基于 Doc]: S1 使用圆括号——(excited)、(whispering)。S2 系列使用方括号——[excited]、[whispers]。为错误模型编写的标记通常会被逐字朗读或忽略。请让标记语法与 model 头部相匹配。

“OpenAudio S1” ≠ 托管的 s1 模型。 OpenAudio S1 是开放权重发布品牌(见下文)。托管的 s1 是对应的托管端点。用户提到“S1”时,请在概念上将两者区分开来。

核心请求参数 [Doc, 2026-07-10]
参数类型 / 范围用途
textstring要合成的内容。在 WebSocket 模式下,通常在 start 时为空,并通过 text 事件流式传入。
reference_idstring已保存语音的 ID(语音库中的语音或克隆模型)。
referencesarray即时克隆:内联提供原始参考音频和转录文本,不创建持久模型。
formatmp3(默认)、wav、pcm、opus输出容器格式。
mp3_bitrate64 / 128 / 192MP3 音质。
sample_rateHz用于 WAV 输出。
speed0.5–2.0语速。
latencynormal(默认)/ balancedbalanced 会牺牲少许稳定性以降低延迟。
chunk_length100–300(默认 200)每个合成块的文本批处理大小。
normalizeboolean展开数字、日期和缩写,使朗读更自然。
temperaturefloat值越低,结果越确定、稳定。
top_pfloat采样多样性。
repetition_penalty>1.0抑制循环或重复伪影。
max_new_tokensint限制每个块的音频长度。

格式选择 [Heuristic]: 下游编辑和电话系统工作流使用 wav 或 pcm;向浏览器或移动设备流式传输时使用 opus;只需要便携文件时使用 mp3。pcm 可避免实时循环中的容器或解码器延迟。

流式传输

Python SDK 中有三种生成模式 [Doc]:

  • tts.convert() — 返回完整音频字节(最简单;适用于文件和批处理)。
  • tts.stream() — 音频块迭代器(适用于长内容,且内存效率高)。
  • tts.stream_websocket() — 面向 Agent 的实时双向流式传输。

WebSocket 协议 [Doc, 2026-07-10] 位于 /v1/tts/live,采用 MessagePack 序列化:

  • 客户端 → 服务端事件:start(配置:format、chunk_length、reference_id、latency)、text(上游生成文本时追加文本,例如逐 token 接收大模型输出)、flush(强制立即合成缓冲文本——这是交互式应用降低延迟的关键手段)、stop(结束流)。
  • 服务端 → 客户端事件:audio(请求格式的字节块——串联所有块即可得到完整音频)、finish(会话结束,并附带原因)。

实时启发式 [Heuristic]: 将大模型生成的 token 通过 text 事件流式传入,并在句子或分句边界发送 flush。等到整个段落生成完毕才发送第一个 flush,就失去了流式传输的意义。Fish 的资料称,流式传输而非等待完整文件时,端到端延迟可低于 500 ms,用户感知的首次音频时间约为 450 ms。[Claim]

定价和速率限制 [Doc, 2026-07-10]
  • 所有 TTS 模型:每 1,000,000 个 UTF-8 字节 $15.00。 s2.1-pro-free 的费用为 $0。
  • 参考换算:约 1M 个 UTF-8 字节 ≈ 180,000 个英文单词 ≈ 约 12 小时语音。[Claim]
  • 按字节计费是成本陷阱。 计费依据是 UTF-8 字节,而非字符。ASCII/拉丁文本约为 1 字节/字符,而中文/日文/韩文/阿拉伯文/印地文字符通常为 3–4 字节。日语文本的单词数相同,费用会是英语的数倍。应按 len(text.encode("utf-8")) / 1e6 * 15 USD 估算费用,而不是按字符数估算。
  • ASR transcribe-1:每小时音频 $0.36。语音设计 voice-design-1:每次成功请求 $0.01。
  • 并发层级(按累计预付金额划分):< $100 → 5 个并发;≥ $100 → 15 个;≥ $1,000 → 50 个;企业版 → 自定义。
  • 免费层级(s2.1-pro-free)不提供 TTFA 或 DPA 保证。[Doc]

语音克隆

两种方式 [Doc, 2026-07-10]:

  1. 持久化模型 — 使用 POST /model,并设置 type=tts、title、voices(一个或多个参考音频文件)、visibility(private/public),以及可选的 description。返回语音 id;在 TTS 中将其作为 reference_id 传入。模型状态会从 created → trained 变化;“fast”训练模式会立即返回可用语音。enhance_audio_quality(默认开启)会对参考音频进行降噪和归一化。
  2. 即时克隆 — 跳过模型创建;在 TTS 调用的 references 字段中发送参考音频及其转录文本。最适合一次性使用的语音。

参考音频要求 [Doc + Heuristic]:

  • 时长:至少 10 秒;30–60 秒(最长 1–2 分钟)通常能显著提升相似度和稳定性。[Doc]
  • 干净度:单声道、单人说话、无背景音乐、无混响、无声音重叠。与时长相比,干净的输入对克隆质量的影响更大。[Doc]
  • 表达方式:自然的对话语音,不要刻意夸张表演;包含多样的音素和语调变化,让克隆语音具备泛化能力。[Doc]
  • 格式:.wav、.mp3、.m4a、.opus。[Doc]
  • [Heuristic] 如果克隆语音听起来像机器人,或辅音被截断,通常是参考音频而非模型的问题。调整生成参数前,先重新录制一段更干净、更长的样本。

情绪、语气和副语言标记

Fish Audio 的差异化特点是行内表达控制。标记直接写入文本中。[Doc]

S1(圆括号)[Doc, 2026-07-10]: 40 多种标记,分为三组。

  • 情绪:(angry)、(sad)、(excited)、(surprised)、(sarcastic)、(joyful)、(empathetic) 等。
  • 语气:(in a hurry tone)、(shouting)、(screaming)、(whispering)、(soft tone)。
  • 特殊/副语言:(laughing)、(chuckling)、(sobbing)、(sighing)、(panting)、(crowd laughing)。

S2 系列(方括号)[Doc, 2026-07-10]: 规模大得多的开放标签词汇(Fish 称有 15,000 多种标签),还支持自由格式的自然语言描述。文档中列出的示例包括 [pause]、[short pause]、[emphasis]、[laughing]、[chuckle]、[sigh]、[inhale]、[exhale]、[whisper]、[shouting]、[screaming]、[loud]、[low volume]、[volume up]、[volume down]、[excited]、[angry]、[sad]、[surprised]、[singing]、[echo]、[with strong accent]、[clearing throat]、[audience laughter],以及 [whisper in a small voice] 这样的自由格式写法。[Doc/Claim — 15,000 这个数字是官方说法。]

标记使用经验 [Heuristic]:

  • 每个句子只使用一种主导情绪。在同一分句中叠加 (angry)(sad)(excited) 会导致表达混乱。
  • 将标记紧接在它要影响的文本片段之前;它影响后续内容,不会追溯影响整个段落。
  • (laughing) / [laughing] 这类特殊标记会插入非语言事件——除非你想同时呈现两者,否则不要再写出“haha”。
  • S2 的自由格式标签功能强大,但结果不确定。如果某种特定效果必须在每次生成时都实现,优先使用文档中列出的标签并调低 temperature。
  • 务必确认标记语法与 model 标头匹配(参见上文关于 S1 与 S2 的提醒)。这是 Fish 的表达型 TTS 最常见的问题。

自然表达的文本准备 [除非另有说明,均为 Heuristic]

  • 启用 normalize([Doc]),以便展开“$1,200”“Dr.”、“3/4”和“2026”等内容;也可以自行预先展开,以便完全掌控。未标准化的数字经常会被错误读出。
  • 调整标点来控制换气:对于普通文本,逗号和句号比 [pause] 更可靠地控制节奏。暂停标记仅用于刻意营造戏剧性停顿。
  • 将很长的输入拆分为句子或段落单元,并让 chunk_length 进行批处理;超长的单个文本块会增加表达偏离、重复或 (laughing) 停不下来的可能性。
  • 如果模型读错难读的专有名词或缩写,可按读音拼写(例如,“N. A. S. A.” 与 “NASA”),或添加轻微的口音/强调标签。
  • 多角色对话应为每位说话者使用单独克隆的声音/reference_id,而不是只靠标记尝试改变同一个声音。

开放权重与自托管

Fish Audio 以 OpenAudio 品牌发布开放权重(该品牌是 Fish-Speech 的后继品牌)。这与托管 API 属于不同路线。[Doc, 2026-07-10]

实际开放的内容 [Doc, 2026-07-10]
  • OpenAudio S1-mini — 0.5B 参数的蒸馏模型,可公开下载(Hugging Face fishaudio/openaudio-s1-mini)。与 S1 一同于 2025 年 6 月 3 日发布。
  • OpenAudio S1 (4B) — 完整旗舰模型被描述为专有/托管模型;公开发布的是 mini,而非完整的 4B S1。
  • Fish-Speech 1.4 / 1.5 — 更早发布的开放模型(约为 0.5B 级别),目前仍可获取。
  • GitHub 项目(fishaudio/fish-speech)的 README 也提到了更大型的开放权重 S2-Pro (4B)。[Doc] 在依赖该模型之前,请确认你下载的具体权重文件及其许可证。
许可——请仔细阅读 [文档,2026-07-10]
  • OpenAudio S1-mini 权重:CC-BY-NC-SA-4.0(依据 Hugging Face 模型卡)。CC-BY-NC-SA 表示非商业用途、署名和相同方式共享。未经单独的商业许可,你不能在商业产品中使用这些权重。
  • OpenAudio GitHub 代码采用 Apache-2.0 许可;其权重采用 CC-BY-NC-SA-4.0 许可。[文档]
  • fishaudio/fish-speech 仓库的 README 声明,代码和权重均采用 Fish Audio Research License(并明确注明“我们将追究违规行为”)。[文档]
  • [启发式判断/注意] 第三方评测网站有时会声称这些权重采用“MIT 许可”。这与主要模型卡和仓库许可相矛盾,且未经核实——请勿依赖此说法。涉及商业用途时,应将开放权重视为仅限非商业用途,并通过付费托管 API 处理商业工作负载(或协商商业许可)。
硬件 [文档 + 从业者报告,2026-07-10]
  • 推理最低配置:约 12 GB VRAM(文档记载的自托管最低配置)。[文档]
  • S1-mini 特别说明:下载约 3.5 GB,运行约需 5 GB VRAM——可轻松适配 8–12 GB 的消费级 GPU。[从业者报告——标注为次级来源]
  • S2-Pro(4B):负载重得多;建议使用约 24 GB VRAM,以保证推理体验流畅。[从业者报告——标注为次级来源]
  • 实时因子随 GPU 而变化:例如,Fish 自己的 S2 报告称,单张 NVIDIA H200 上 TTFA 约为 100 ms,RTF 约为 0.195 [声明];消费级显卡(RTX 3060/4090)也能使用,但速度较慢。[次级来源]
  • 技术栈:Linux 或 WSL;音频依赖项(ffmpeg、libsox、portaudio);通过 conda 或 uv 安装;使用 vLLM / SGLang 后端提升吞吐量。[文档]
何时自托管优于 API [启发式判断]
  • **适合自托管的情况:**需要确保数据留在本地;使用量很高且稳定,以至于每百万字节 15 美元的费用超过 GPU 的摊销成本;需要离线/隔离网络运行;或者用于符合 CC-BY-NC-SA 许可要求的研究、个人或非商业工作。
  • **适合使用托管 API 的情况:**需要完整质量的旗舰权重(未公开发布);需要无需定制许可即可获得商业使用权;希望获得托管式扩展能力、流式处理 SLA 和最新的 S2.1 质量;或者使用量较低或有突发性,GPU 闲置时间导致自托管成本高于按字节计费。

基准测试情况(已披露方法并标注)

请将这些视为供应商和第三方声明,并参考其注明的方法,而非中立的绝对事实。以下信息均截至 2026-07-10 阅读时的状态。

  • OpenAudio S1 — TTS-Arena-V2(Hugging Face),人工主观 ELO:截至 2025 年 6 月 3 日排名第 1。[声明,第一方公告;方法 = 群体人工偏好评测。]
  • OpenAudio S1 — Seed-TTS-Eval(基于转录的 WER/CER):S1 的 WER 为 0.008 / CER 为 0.004;S1-mini 的 WER 为 0.011 / CER 为 0.005(英语)。[声明,第一方;方法 = 通过 ASR 评分的可懂度评测。]
  • Artificial Analysis speech arena:OpenAudio S1 的 ELO ≈ 1,074。[第三方,已披露竞技场评测方法。]
  • Fish Audio S2 技术报告:Seed-TTS-Eval 的 WER 为 0.54%(中文)/ 0.99%(英语);EmergentTTS-Eval 胜率为 81.88%;Audio Turing Test 后验均值为 0.515;在 H200 上 RTF 为 0.195,TTFA 约为 100 ms。[声明,第一方技术报告;EmergentTTS-Eval 是 NeurIPS'25 基准测试,使用音频大模型评审器评估六种韵律/表现力场景。]

**在生产建议中如何使用基准测试 [启发式判断]:**低 WER/CER 表示可懂,不代表富有表现力或更受偏好。竞技场 ELO 反映的是听众对该竞技场提示词组合的偏好,这可能与你的领域不符(例如长篇有声书与 Agent 的简短对话轮次)。在确定采用前,务必使用自己的脚本、声音和语言进行验证。


语音克隆同意与滥用防护措施 [文档,2026-07-10]

以下要求不可妥协,用户要求克隆语音时,Agent 应强制遵守:

  • 仅克隆你有权使用的语音:自己的语音、所有者已明确同意使用的语音,或获得适当授权的语音。Fish Audio 的条款规定,这项义务由用户承担。[文档]
  • 用户有责任取得所需的权利、同意和披露许可,并遵守当地关于姓名、肖像和 AI 生成媒体的法律。[文档]
  • Fish Audio 不会预先审核个别使用场景,并且可能自行决定移除违反其条款或适用法律的内容或账户,且不另行通知。 [文档]
  • 不得制作具有欺骗性的冒充内容、未经同意克隆真实人物(包括公众人物)的语音、欺诈/诈骗音频,或在必须披露的情况下隐瞒内容由合成技术生成。
  • **[经验规则]**如果用户要求克隆某位知名人士或私人个体的语音,却未能证明已获得同意或相关权利,应拒绝克隆,并提供获得授权的素材库语音或听起来不像该人物的合成语音作为替代方案。建议向最终听众披露内容由 AI 生成。
  • 可以从账户中删除克隆语音模型;应将参考音频和克隆视为敏感数据(参见隐私说明)。

故障模式与修复方法 [除非另有说明,均为经验规则]

症状可能原因修复方法
将标记原样读出(“左括号,兴奋,右括号”)标记语法与模型不匹配s1 使用 (...),S2 系列使用 [...]
克隆语音机械/相似度低参考音频有噪声、过短或包含多个说话者重新录制清晰的单声道音频,时长 ≥30 秒;保持 enhance_audio_quality 开启
重复/循环/笑声失控分段过长、temperature 过高或标记叠加缩短分段,提高 repetition_penalty,降低 temperature,每个片段只用一个标记
数字/日期/缩写读错未启用规范化设置 normalize=true,或预先展开文本
账单远超预期非拉丁文字按每字符 3–4 字节计费根据 utf-8 字节长度而非字符数估算
Agent 首段音频延迟过高等待全部文本生成后才开始合成使用 WebSocket,流式发送 text,在分句处调用 flush,设置 format=pcm 和 latency=balanced
自托管导致商业/法律风险将 CC-BY-NC-SA 权重用于商业用途改用托管 API 或取得商业许可

**生产环境审核清单 [经验规则]:**可懂度(无漏词或乱码)、姓名/数字发音正确、标记渲染恰当且不按字面读出、各分段的声音身份一致、语速和呼吸自然、分段衔接处无重复或截断、响度符合目标;对于克隆语音,还需留存书面同意记录。


完整示例(仅供参考,并非必须遵循的公式)

示例 A — 使用 S2.1-Pro 进行富有表现力的旁白(REST,注重成本)

**意图:**制作一段两句话的戏剧性配音,其中包含低声插话,以 WAV 格式交付以便编辑;先估算成本。 模型:s2.1-pro(方括号标记)。

TEXT='The vault was empty. [whisper] Someone had been here first.'
# Cost estimate: bytes / 1e6 * $15
python -c "print(len(open('/dev/stdin').read().encode())/1e6*15)" <<< "$TEXT"

curl -s https://api.fish.audio/v1/tts \
  -H "Authorization: Bearer $FISH_API_KEY" \
  -H "model: s2.1-pro" \
  -H "Content-Type: application/json" \
  -d '{
    "text": "The vault was empty. [whisper] Someone had been here first.",
    "reference_id": "<your-voice-id>",
    "format": "wav",
    "sample_rate": 44100,
    "normalize": true,
    "temperature": 0.7,
    "repetition_penalty": 1.2
  }' --output vault.wav

**这种结构的原因:**方括号与 S2 模型匹配;低声标记仅放在插话前;normalize 可处理意外出现的数字;适中的 temperature 配合重复惩罚,可让戏剧性台词保持稳定。**可能的故障:**如果使用的是 s1 克隆语音,则应改用 (whisper)。**变化方案:**先切换到 s2.1-pro-free 进行零成本测试渲染,再决定是否花费使用付费模型。

示例 B — 创建持久语音克隆并重复使用(Python SDK)

**意图:**为一位已同意的旁白者创建一次语音克隆,并用于多条台词。

from fishaudio import FishAudio
client = FishAudio()

# 1) Create the model from a clean 45-second mono sample (consent on file).
voice = client.voices.create(
    title="Narrator - Priya (consented 2026-07-10)",
    voices=[open("priya_45s_clean.wav", "rb").read()],
    description="Studio sample, single speaker, no music",
    visibility="private",
)

# 2) Reuse by reference_id.
audio = client.tts.convert(
    text="Chapter one. (soft tone) It began on a grey morning.",
    reference_id=voice.id,   # this clone was trained on s1-style pipeline; use (..) markers
)
open("ch1.mp3", "wb").write(audio)

**原因:**参考音频时长充足、清晰、为单声道,且已获得同意;克隆为私有;标记与模型系列匹配。**故障:**包含背景音乐的公开参考样本会降低后续所有渲染的质量。**变化方案:**对于一次性临时台词,可使用 references=[...] 进行即时克隆,而不是创建持久模型。

示例 C — 实时语音 Agent(WebSocket)

意图: 在大模型的令牌到达时立即朗读,尽可能降低首段音频延迟。

模式(基于 wss://api.fish.audio/v1/tts/live 的 MessagePack 伪代码):

send start   { format:"pcm", latency:"balanced", chunk_length:200, reference_id:"..." }
for token in llm_stream:
    send text { text: token }
    if token ends a clause:   send flush {}
send stop {}
# concatenate every server `audio` event's bytes until `finish`

原因: pcm 可避免解码延迟;在分句边界执行 flush,无需等待完整回复即可输出音频;balanced 可略微降低延迟。失败情况: 仅在结尾执行 flush 会重新引入约 1 秒以上的整文件等待时间。变体: 对于较长、非交互且不在意延迟的旁白,可提高 chunk_length,让韵律更自然。

示例 D — 自托管决策

意图: 用户每月有 40 小时内部非商业研究旁白需求,并拥有一张 RTX 4090。 决策: 自托管 OpenAudio S1-mini 是合理的选择——它适用于 4090,非商业用途符合 CC-BY-NC-SA 许可,稳定的使用量也能摊销 GPU 成本。[经验法则] 但如果这些旁白用于付费产品,自托管 NC 权重就违反许可 → 应改用托管 API。部署前,请确认实际下载的权重所适用的许可。


隐私说明 [经验法则]

用于克隆的参考音频属于与生物识别相关的个人数据。请将克隆模型设为 private,并将同意记录与语音一起保存;避免上传无法证明拥有相关权利的第三方语音;项目结束时删除克隆模型和源音频。未经用户知情,不要将包含用户个人身份信息(PII)的文本发送给第三方 API 进行 TTS 转换。


主要来源(已于 2026-07-10 核实)

评论

支持 Markdown