Kitta Audio CLI
自动化脚本
解析 JSON 结果、处理退出码并识别分页不完整。
输出约定
通过运行环境注入 KITTA_API_KEY 完成认证,不要打印密钥。 stdout 输出 JSON 结果;stderr 输出进度和 JSON 错误。 --json 在交互终端强制输出紧凑 JSON,不是 JSON 请求体参数。
捕获结果与失败
Bash:
if kitta audio voices list --all --json > voices.json 2> voices.log; then
printf '%s\n' 'Voice list completed'
else
result=$?
printf 'Command failed with exit %s\n' "$result" >&2
exit "$result"
fiPowerShell:
kitta audio voices list --all --json 1> voices.json 2> voices.log
$result = $LASTEXITCODE
if ($result -ne 0) { throw "Kitta failed with exit $result; inspect voices.log and partial output." }
$voices = Get-Content -Raw voices.json | ConvertFrom-Json按客户数据保护结果和日志文件。非零退出码仍可能伴随有用的部分结果。
退出码
| 代码 | 含义 |
|---|---|
| 0 | 成功 |
| 1 | API、网络、任务或本地文件失败 |
| 2 | 输入无效 |
| 3 | 认证或权限失败 |
| 4 | API 额度不足 |
| 5 | 等待超时、部分失败或分页不完整 |
| 130 | 本地中断 |
分页
--all 自动翻页;--max-pages 默认为 100。 到达上限时 stdout 包含 complete: false 和 nextPage,退出码为 5, 不能将其当作完整列表。声音语言过滤在已取回的记录上执行, 没有 --all 时仅过滤当前页。
重试策略
不要给所有命令套无限重试。付费 TTS 应先保留业务幂等键, 恢复时保持输入不变。其他付费操作不会自动重试,断线后的执行结果可能未知。
下一步:任务恢复。