BUILD WITH AI · VERIFY WITH EVIDENCE

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

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

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

适用于能读取网页文档或接收粘贴上下文的编程工具。Codex 用户也可通过我们的 Git 插件市场安装 CastReader;不代表官方合作或自动推荐。

安装 CastReader Codex 插件 →

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

对比六家服务、公开限制与实际文本成本 →

能否完成真正的需求?

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

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

核对能力边界 →

能否马上接通?

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

验证身份后即可开通,无需人工审核。同一账号仅领取一次试用,保留每日和防滥用限制。密钥只保存在后端。

开通试用 →

声音效果有没有证据?

核验已完成的三个音色、十种语言测试:30 次尝试、29 条保存输出、1 条保留失败,以及原文、机器转写、实际用量与校验值。早期 20 条卡片项目单独保留。

这是少量第一方样本,不是独立评测。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

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

在首次生成前,找到具体卡点。

下载无需依赖的 Node.js 检查脚本,在后端运行。它依次检查部署配置、身份认证、区域、语言、就绪音色和不预占余额的费用估算,不调用生成或支付接口。

先在后端安全环境中设置 CASTREADER_API_KEY。可选设置 TTS_LANGUAGE、TTS_TEXT 和 VOICE_ID。使用实际语言的短文本,检查不会翻译内容。

下载接入检查脚本 ↓

检查通过不等于合成保证:处理服务、队列和月预算仍以生成时校验为准。查询音色可能初始化内置引用,但不产生合成费用。输出含私人音色 ID,请勿公开上传。

Node.js 22+ · no generation
node connection-check.mjs

// Example check output (not a live result):
{
  "ok": true,
  "generated": false,
  "checks": [
    { "stage": "authentication_and_region", "status": "passed" },
    { "stage": "language_and_length", "status": "passed" },
    { "stage": "authorization_and_estimate", "status": "passed" }
  ]
}

// On failure: failedAt + error.code + recovery action
// Non-zero exit code: stop; do not submit a paid job.

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

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 文档 →

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