IndexTeam/IndexTTS-2文档
本文介绍modelvaults语音合成模型IndexTeam/IndexTTS-2调用 API 的输入输出参数,供您使用接口时查阅字段含义。
接口地址
https://api.modelverse.cn/v1/audio/infer
注意:该接口请求体格式必须为 multipart/form-data(表单模式)
请求参数:表单文件参数(Form Data)
payload 配置参数(JSON 格式)
请求示例
⚠️ 如果您使用 Windows 系统,建议使用 Postman 或其他 API 调用工具。
curl https://api.modelverse.cn/v1/audio/infer \
-H "Authorization: Bearer $MODELVAULTS_API_KEY" \
-H "Content-Type: multipart/form-data" \
-F "model=IndexTeam/IndexTTS-2" \
-F "spk_audio_file=@audio/klee.wav" \
-F "emo_audio_file=@audio/emo_sad.wav" \
-F "payload={
\"input\": \"酒楼丧尽天良,开始借机竞拍房间,哎,一群蠢货。\",
\"emo_weight\": 0.8,
\"emo_control_method\": 1
}" \
--output 007_sad_08.wav响应格式
API 返回二进制音频文件流。
音频格式:目前仅支持 WAV 格式输出
Content-Type:
audio/wav
错误响应
当请求失败时,API 会返回标准的 JSON 格式错误响应:
{
"error": {
"message": "错误描述信息",
"type": "invalid_request_error",
"code": "error_code",
"param": "<请求 ID,用于反馈或排查错误原因>"
}
}同时兼容以下接口
接口地址:https://api.modelverse.cn/v1/audio/speech
请求参数
调用示例
以下示例展示如何使用 IndexTeam/IndexTTS-2 模型进行语音合成。请确保将 $MODELVAULTS_API_KEY 替换为您自己的 API Key。
curl
curl https://api.modelverse.cn/v1/audio/speech \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $MODELVAULTS_API_KEY" \
-d '{
"model": "IndexTeam/IndexTTS-2",
"input": "你好!欢迎使用 MODELVAULTS 语音合成服务。",
"voice": "jack_cheng"
}' \
--output speech.wavpython
from pathlib import Path
from openai import OpenAI
client = OpenAI(
api_key=os.getenv("MODELVAULTS_API_KEY", "<YOUR_MODELVAULTS_API_KEY>"),
base_url="https://api.modelverse.cn/v1/",
)
speech_file_path = Path(__file__).parent / "generated-speech.wav"
with client.audio.speech.with_streaming_response.create(
model="IndexTeam/IndexTTS-2",
voice="jack_cheng",
input="你好!欢迎使用 MODELVAULTS 语音合成服务。",
) as response:
response.stream_to_file(speech_file_path)
print(f"Audio saved to {speech_file_path}")使用自定义音色(可选)
除了使用内置的 voice 名称外,您还可以上传自己的音色(甚至带有特定情绪的样例语音),生成一个专属的 voice_id,在 TTS 请求中通过 voice 字段进行引用。
注意:当前自定义音色资源会在上传 7 天 后自动清理,如需长期使用请注意提前备份或重新上传。(可联系商务团队咨询长期保存需求)
使用方式可以简单理解为 三步:
上传音色,获取
voice_id
调用POST /v1/audio/voice/upload上传一段符合要求的示例语音,接口会返回一个id作为自定义音色 ID。
详细的请求参数与返回结构请参考《自定义音色管理 API 文档》。在 TTS 请求中使用
voice_id
在/v1/audio/speech请求中,把voice字段设置为步骤一返回的id,下文会给出完整示例。管理已有的自定义音色(可选)
如需查看或删除已有音色,可调用GET /v1/audio/voice/list和POST /v1/audio/voice/delete。
具体请求/返回格式同样见《自定义音色管理 API 文档》。
提示:自定义音色完全兼容 OpenAI 协议,只是复用了
voice这个字段,不需要学习新的参数名。
在 TTS 请求中使用自定义 voice_id
当您已经拿到一个自定义音色 id(例如 uspeech:xxxx)后,只需要在 /v1/audio/speech 请求中把 voice 字段改成该 id 即可。
VOICE_ID="uspeech:xxxx-xxxx-xxxx-xxxx"
curl https://api.modelverse.cn/v1/audio/speech \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $MODELVAULTS_API_KEY" \
-d "{
\"model\": \"IndexTeam/IndexTTS-2\",\
\"input\": \"你好,我是自定义的温柔女声。\",\
\"voice\": \"$VOICE_ID\"\
}" \
--output speech-custom.wav行为说明:
voice为空:使用默认音色或模型自带的默认配置。voice为内置名称(如jack_cheng等):使用平台内置的预置音色。voice为形如uspeech:xxxx的值:表示使用你上传的自定义音色,平台会根据该 ID 查找并应用对应的音色/情绪素材,无需额外配置。响应格式
API 返回二进制音频文件流。
音频格式:目前仅支持 WAV 格式输出
Content-Type:
audio/wav
注意事项
音频格式:响应的二进制流格式目前仅支持 WAV,暂不支持其他音频格式
文本长度限制:单次请求的文本长度限制因具体模型而异,
IndexTeam/IndexTTS-2模型通常支持 600 字符以内的文本语音类型:不同的
voice参数会产生不同音色和风格的语音效果,建议根据实际场景选择合适的语音类型
错误处理
当请求失败时,API 会返回标准的 JSON 格式错误响应:
{
"error": {
"message": "错误描述信息",
"type": "invalid_request_error",
"code": "error_code",
"param": "<请求 ID,用于反馈或排查错误原因>"
}
}常见问题(FAQ)
Q:我上传的音频有什么要求?
A:必须是 MP3/WAV,单个文件 ≤ 20MB,时长 5–30 秒,采样率至少 16kHz,不符合要求会返回 4xx 错误,并在error.code中标明原因。Q:
voice字段应该填什么?
A:想直接用平台提供的固定音色:填写内置名称(如
jack_cheng);想用自己录制的音色:先调用上传接口拿到
id,然后在 TTS 请求中把voice设置为这个id(例如uspeech:xxxx)。
Q:出现
invalid_voice_id/voice_not_found等错误怎么办?
A:说明当前账号下找不到这个voice_id,或者已被删除。可以先调用/v1/audio/voice/list确认当前可用的 ID,再在请求里使用正确的值。Q:不同账号之间能共享自定义音色吗?
A:同一组织下所有子账号,自定义音色可以共享。非同一账号下,无法共享。









