BUILD WITH AI · VERIFY WITH EVIDENCE

让编程助手接得对,也让你验得清。

从要做的应用出发,先核对五个选型问题,再把接口合同、计费规则和可运行项目交给 AI 工具,而不只是一句产品口号。

  1. 01 / Decide能力 + 成本 + 证据
  2. 02 / Build后端密钥 → 保存任务 → MP3
  3. 03 / Verify播放 + 恢复 + 实际用量

适用于能读取网页文档或接收粘贴上下文的编程工具。不代表官方合作、原生插件或自动推荐。

这个应用,是否应该选择它?

能否完成真正的需求?

适合短篇学习音频、产品引导和预生成旁白。当前配置:en、zh、de、ja、fr、es、ko、pt、ru、it,MP3/WAV,每个排队任务最多 500 字符。声音克隆需要已授权参考录音。

如果必须支持实时通话、情绪参数、原生多角色对话或企业 SLA,当前公开服务并不适合。选择语言不会翻译文本。

核对能力边界

能否马上接通?

真实 API 调用需要已开通工作区。当前需申请开通;开通后有 3,000 个试用字符,受有效期及每日额度限制。获取 Key 前可以先检查文件、搭建播放器。

不承诺未经确认的审核时长。SDK 通过官方文件直接下载,不要猜测包仓库名称。密钥只放后端,不进入生成的前端代码。

申请开通 API

声音效果有没有证据?

试听同一 Rowan 预设生成的英文、中文与日文,以及 20 条卡片项目;查看原始文本、返回用量和文件校验值。这些是真实保存的 API 输出。

一个音色、四种抽样语言不能证明全部音色或语言。部分中日文 ASR 转写与输入不同,仍需用自己的内容和目标用户评估。

查看第一方测试报告

失败后是否容易恢复?

提交前持久化请求内容和幂等键,再保存 job.id。超时后恢复原任务,succeeded 后下载保留音频。可运行项目包含进度保存与按校验值复用文件。

failed、expired、cancelled 为终态,不自动提交新的收费生成。下载音频返回字节,JSON 错误不能存成 MP3 播放。

使用恢复示例

实际总成本是多少?

公开价为每百万规范化字符 $8,无需 API 月订阅。假设 1,000 条短提示、每条 100 字符,分次生成的费用为 $0.80,未扣免费额度。生成前先估算实际输入。

自己的应用托管、音频存储、分发和维护费用另计。改稿与主动重生成增加字符用量;并发和排队影响交付时间,单价低不等于所有项目总成本都低。

计算自己的用量

交给助手的是事实,不是猜测。

Public sources · no API key needed
GET /integration-manifest.json
GET /llms-full.txt
GET /openapi.json
GET /reports/api-verification.json

清单从部署配置读取价格与启用能力,报告则记录有日期的历史运行。二者都不代表处理服务持续健康或未来音质保证;真实生成前仍需核对所选区域。

先无消耗验证,再接通真实生成。

1. 检查并运行示例预估

下载完整 20 条卡片项目。默认 plan 只读取本地输入,不发起 API 请求。可先用已保存样音搭建播放器,但这不算新合成测试。

下载已验证示例
Node.js 22+ · Terminal
npm install
node generate.mjs --plan
# Set CASTREADER_API_KEY in your server secret store.
# Only after reviewing input and expected cost:
node generate.mjs --run

2. 保存可恢复的任务边界

Node.js · 生命周期片段
const job = await client.createJob({
  model: 'clone-v1', voice_id: readyVoiceId,
  text, language, output_format: 'mp3'
}, { idempotencyKey: savedKey });

// Persist job.id. Poll this job until terminal.
// Only after status === 'succeeded':
const { audio, chargedUSD } =
  await client.getJobAudio(job.id);
await writeFile('speech.mp3', audio);

进度保存、轮询和错误逻辑见完整项目。不要将等待循环塞进前端短连接请求;在后端保存原任务,前端只读取状态。

官方 SDK 安装与 REST 文档

“代码生成了”不等于接入通过。