language: 'zh'每一个故事,都值得被听见。
voice: voiceId同一 ready 音色多语言声音克隆 API
准备一次已授权的录音,之后复用音色 ID,把文本变成语音,无需逐句重新录制。
自行录音 · 上传 · 邀请说话人
voice_id复用到新的文本流程示意。系统不会翻译你的文本。
听实际生成结果
这些录音由线上 API 使用公开预设 Rowan 实际生成。先对比原始参考音频,再尝试你自己的授权声音。
公开预设 · 同一个已准备好的声音
Every small step opens a new door. Listen, learn, and tell your own story.
const examples = [
{ language: 'en', text: 'Every small step opens a new door. Listen, learn, and tell your own story.' },
{ language: 'zh', text: '每一个小小的进步,都会打开一扇新的门。认真聆听,不断学习,讲述属于你自己的故事。' },
{ language: 'ja', text: '小さな一歩が、新しい扉を開きます。耳を傾け、学び、自分だけの物語を語りましょう。' },
];
for (const example of examples) {
const { audio } = await client.generate({
voice: 'rowan',
...example,
output_format: 'mp3',
});
await writeFile(example.language + '.mp3', audio);
}生成调用片段;先安装客户端并在服务端配置密钥。每种语言分别提供对应文本,API 不负责翻译。
客户端安装与完整快速入门 →生成于 2026 年 9 月 14 日 · clone-v1 · MP3 · 速度 1。播放的是保存的演示结果,不会重新生成或扣费。一个预设、三段短文本不是质量基准,也不保证其他录音的效果;发音、口音与相似度会变化,正式发布前请评估目标语言内容。
01 / 准备好参考录音
清晰、有代表性的单人录音是起点。以下是准备检查,不代表保证完美复刻声音。
参考录音检查清单
3–30秒
当前处理服务的时长建议;文件被拒绝时,请按上传校验提示调整。
常见容器格式;API 会校验支持的音频 MIME 类型和实际文件内容。
音量保持稳定,选择能代表目标声线的说话方式。
避开叠音、长静音和明显爆音,不要用音乐掩盖噪声。
reference_text 可选,最多 600 个 Unicode 码点;不要填另一段文案。
使用自己的声音,或保留说话人对克隆与计划用途的明确授权。
02 / 音色 ≠ 语言
下面是请求输入示例,并非音频录音或翻译演示。需要其他语言版本时,由你提供对应的文本。
language: 'zh'每一个故事,都值得被听见。
voice: voiceId同一 ready 音色language: 'ja'すべての物語には、届けたい声があります。
voice: voiceId同一 ready 音色language: 'es'Cada historia merece ser escuchada.
voice: voiceId同一 ready 音色逐种语言检查姓名、数字、节奏和音色相似度。口音和发音可能变化;短文本或混合语言可能需要明确指定语言或拆开请求。选择语言不会翻译原文。
03 / 从任务到音频文件
音色准备和语音生成是不同操作。切换 ready ID 省去的是准备步骤,不是模型推理。
processing → ready保存 ready 音色的 ID,以及所属工作区和区域。
queued → running保留 job ID 和 Idempotency-Key。排队任务单次最多 500 字符。
succeeded → download在 result_expires_at 前下载 MP3/WAV。重复下载保留结果不是新生成。
可以提前生成的产品引导、短篇课程、本地化短语,以及由应用拼接的脚本对话。
实时通话、流式输出、原生多角色编排或情绪控制。长内容需要自行分段及组装音频。
从录音到 API
使用自己的声音、上传有权使用的音频,或通过控制台发送录音邀请。确保录音清晰、转写准确。
注册时会处理合成所需的参考音频。保存返回的音色 ID;在已准备好的音色间切换,不需要再次注册。
复用音色 ID,传入文本及其语言。SDK 处理区域路由和排队等待,返回生成的音频。
import { VoiceAPI } from '@castreader/voice-api';
import { writeFile } from 'node:fs/promises';
const client = new VoiceAPI();
// 填入已准备完成的授权克隆音色 ID。
const voiceId = 'YOUR_VOICE_ID';
const { audio } = await client.generate({
voice: voiceId,
text: '每一个故事,都值得被听见。',
language: 'zh',
output_format: 'mp3',
});
// 同一个音色 ID,不同语言的文本。
const english = await client.generate({
voice: voiceId,
text: 'Every story deserves to be heard.',
language: 'en',
output_format: 'mp3',
});
await writeFile('chinese.mp3', audio);
await writeFile('english.mp3', english.audio);先安装 SDK 并设置 CASTREADER_API_KEY;每次成功生成分别计费。
注册参数与完整快速入门 →按生成量付费,无需月度 API 订阅
支持的合成语言使用同一用量单价。优先抵扣可用免费字符;排队等待和下载保留结果,不会再次产生生成费用。
const job = await client.createJob({
model: 'clone-v1', voice_id: readyVoiceId,
text: '欢迎回来。', language: 'zh',
output_format: 'mp3'
}, { idempotencyKey: savedKey });选择安静环境中的单人自然说话录音,避免配乐、多人叠音、回声、爆音和长时间静音。能代表日常声线的表达,比夸张表演更适合作为参考。
当前处理服务建议参考片段为 3–30 秒,请选择干净的片段,并以控制台校验结果为准。若提供转写,必须与录音相符;可选 reference_text 字段最多 600 个 Unicode 码点。
查看上传格式与字段 →注册会校验和处理参考音频,准备合成所需的声音数据。只有 ready 的声音才能生成;之后复用该 ID,可以省去重复注册。
生成仍然是单独的排队任务。当前每个工作区允许 1 个并发生成;切换 ID 并不能消除排队或模型推理,也不承诺固定准备或生成耗时。
了解排队任务 →当前每个工作区最多 2 个活跃私有音色,每个 UTC 自然日最多注册 5 次。内置默认音色不占这些名额;处理和删除中的声音仍计入,直到状态更新。
删除音色不会返还当天注册次数。遇到 voice_registration_limit 时,请检查 GET /v1/models 和控制台配额,不要循环重传。
查看音色限额与状态 →私有声音归属工作区,访问需要当前有效的 API Key 和音色权限,不会公开到音色展示页。录音也不会自动跨处理区域复制。
删除音色会立即阻止新生成及访问已有保留下载,随后异步清理文件。参考数据保留到删除完成;音频、授权记录与计费记录的保留规则不同。
查看存储、授权和删除规则 →MP3 支持 speed 0.5–2,WAV 使用 speed 1。分类不会设置情绪。公开 API 尚未提供发音词典、音素/SSML 控制、精确停顿标签或情绪指令。
检查文本,把容易歧义的数字、缩写或日期写成希望读出的形式。先用语言明确、标点清楚的短句生成。这些是处理建议,不保证发音必然正确;每次新的成功生成都会计费。
查看已支持的控制参数 →不是。工作区私有描述访问控制,并非零留存。参考录音和准备好的声音数据保留到删除,音频及可恢复任务输入在公布的期限内过期,用量和授权记录另外保留。
当前公开服务未公布企业级零留存或不用于训练的合同保证。若要求此类承诺,或有特定数据地区及合规条件,请先取得书面确认,再提交敏感录音。不能从“私有”推导认证或训练使用政策。
查看实际保留与访问规则 →系统不会自动翻译。请提交目标语言文本和对应语言代码;参考录音语言、界面语言、合成语言是三个独立概念。
跨语言合成会尽量保持说话特征,但口音、发音和相似度会受录音及语言影响。请测试姓名、数字和代表性句子;不保证身份级一致或母语级发音。
查看支持语言与限制 →可以构建预先生成的流程:把脚本拆成每段最多 500 字符,为每段选 ready 的音色,按序生成,再由你的应用组装音频。
这属于应用端编排,不是原生多说话人接口。当前交付 MP3/WAV 文件,不包含实时对话、流式输出、情绪控制,也不保证长篇片段拼接天然无缝。
查看工作流能力边界 →等待前保存 job ID 和原始 Idempotency-Key。关闭浏览器不会取消已入队任务;应查询原任务,或用相同 key 重试完全相同的输入,而不是立刻新建生成。
先查看最终状态和错误,再决定调整录音或文本。拒绝或失败任务不收费,执行确认停止后释放占用;过期结果返回 410,旧 key 不会自动重新生成。
查看错误码与安全重试 →你会拿到 MP3 或 WAV 音频,以及请求和用量信息。当前结果私有保留最长 24 小时,请以 result_expires_at 为准,在过期前下载到自己有权使用的存储。
重复下载保留结果不会再次产生生成费用。可选 v3 时间戳当前面向英文,可能按词组对齐或不可用,不代表已支持可靠的多语言字幕。
查看音频结果与时间戳支持 →