用途:通过 9Router 的 /v1/audio/speech 接口把文本转为语音,可选用 OpenAI、ElevenLabs、Deepgram、Edge TTS、Google TTS、Hyperbolic、Inworld 等提供方的音色。
主要能力:先用 GET /v1/models/tts 列出可用模型,用 /v1/models/info?id=... 查看单模型参数与 voicesUrl,用 /v1/audio/voices?provider=... 列出音色(可选 ?lang=vi)。合成时向 POST /v1/audio/speech 发送 model(音色 ID)与 input(待朗读文本)。默认返回原始音频字节(audio/mp3),加 ?response_format=json 则返回 {audio: base64, format}。
使用方式:需配置 NINEROUTER_URL,若启用鉴权还需 NINEROUTER_KEY。示例:curl -X POST "$NINEROUTER_URL/v1/audio/speech" -H "Authorization: Bearer $NINEROUTER_KEY" -H "Content-Type: application/json" -d '{"model":"openai/tts-1","input":"Hello world"}' --output speech.mp3。也可用 JS fetch 保存 MP3。
模型格式因提供方而异:openai 为 tts-1/alloy 或仅音色;elevenlabs 为 <model_id>/<voice_id> 或 <voice_id>;edge-tts 用音色 ID(如 vi-VN-HoaiMyNeural,noAuth);google-tts 用语言代码(noAuth);local-device 用系统语音名(noAuth,需 ffmpeg);deepgram 用 aura-asteria-en 等(Token 鉴权);nvidia、inworld、cartesia、playht 为 model/voice;coqui、tortoise 为 speaker/voice id(本地 noAuth);hyperbolic 仅传 {text}。
限制:具体可用模型、音色与鉴权方式取决于所配置的提供方;部分提供方需额外鉴权头。资料未提供价格、配额与完整错误处理说明。