Kitta AI 文档
API 文档文字转语音

OpenAI 兼容 TTS

将 Tavo 等支持 OpenAI 语音协议的客户端接入 Kitta AI TTS。

OpenAI 兼容 TTS

当客户端要求使用 OpenAI POST /v1/audio/speech 协议时,可以调用本接口。该接口适用于 Tavo 的「TTS 自定义 OpenAI 协议模型」等第三方集成。

如果直接开发 Kitta AI 原生集成,并需要完整请求能力,请使用文字转语音(同步)

端点

POST /v1/audio/speech
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json

完整地址:

https://kittaai.com/v1/audio/speech

请仅在可信服务端或第三方平台受保护的 API 凭证字段中保存密钥。建议为每个客户或集成单独创建 API Key,以便独立监控和撤销。

请求字段

{
  "model": "fishaudio-s21pro-flash",
  "input": "你好,这是一段 Kitta AI 语音测试。",
  "voice": "00a1b221-6137-4b73-ad62-b0cbce134167",
  "response_format": "mp3",
  "speed": 1
}
字段类型必填说明
modelstringKitta AI 引擎模型 ID,例如 fishaudio-s21pro-flash
inputstring待合成文本
voicestring 或 object音色 ID 字符串,或 { "id": "00a1b221-6137-4b73-ad62-b0cbce134167" } 对象
response_formatstringmp3wavpcm,默认 mp3
speednumber语速范围 0.52,默认 1

音色 ID 可通过 GET /api/open/v1/voices 获取。快速验证接口联通时,可以使用系统测试音色 00a1b221-6137-4b73-ad62-b0cbce134167model 必须使用 Kitta AI 支持的 TTS 模型 ID;OpenAI 的 tts-1 等模型名不会自动映射为 Kitta AI 模型。

部分第三方客户端会自动读取 OpenAI 兼容音色列表。此时可以调用:

GET /v1/audio/voices
Authorization: Bearer YOUR_API_KEY

响应中的 voices[].id 可直接作为语音生成请求的 voice

成功响应

请求成功后返回音频二进制:

HTTP/1.1 200 OK
Content-Type: audio/mpeg
X-OpenAPI-Quota-Remaining: 987988
X-OpenAPI-Credits-Used: 12

<binary audio data>

客户端应根据 Content-Type 播放或保存音频。错误响应为 JSON,并与原生同步接口共用相同的鉴权、API 额度和生成逻辑。

curl 示例

curl -X POST "https://kittaai.com/v1/audio/speech" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "fishaudio-s21pro-flash",
    "input": "你好,这是一段 Kitta AI 语音测试。",
    "voice": "00a1b221-6137-4b73-ad62-b0cbce134167",
    "response_format": "mp3",
    "speed": 1
  }' \
  --output speech.mp3

接入 Tavo

如果需要在 Tavo 中配置 API Key、Base URL、模型、音色和角色语音绑定,请阅读独立的 Tavo 接入 Kitta AI TTS 教程

接入 RimTalk TTS

如果需要在 RimWorld 非官方模组 RimTalk TTS 中添加自定义供应商,并为不同殖民者绑定音色,请阅读 RimTalk TTS 接入教程

错误行为

状态码场景处理方式
400文本、音色、模型、格式或语速无效修正请求后再调用
401API Key 缺失或无效检查或更换该集成使用的 Key
402API 额度不足补充额度后再生成
429请求频率超过限制使用指数退避重试
500TTS 生成失败注意重复扣费风险,仅做有限次数重试