400 {"error":{"code":"400","message":"Param Incorrect","param":"messages[0] syst...

2026年04月10日 17:22 processing

错误信息

API Error: 400 {"error":{"code":"400","message":"Param Incorrect","param":"messages[0] system role is not allowed for TTS model","type":""}}

AI 解决方案

报错分析报告

1.错误翻译


原文:messages[0] system role is not allowed for TTS model
译文:消息数组的第0个元素使用system角色不被TTS模型允许

2.原因分析


  • 根本原因:TTS模型不支持messages数组中第一个元素([0]索引)使用system角色。

  • 发生位置:请求参数中messages[0].role被设置为system,违反模型约束。
  • 3.解决方案


    以Python为例,修正messages数组的角色设置:
    # 修复后的代码(替换原错误messages构造)
    messages = [
        {"role": "user", "content": "需要转换为语音的文本"},  # 用允许的role(如user)替代system
        # 若需多轮对话,后续元素用user/assistant等允许的角色
    ]
    

    4. 预防措施


  • ✅ 调用API前查阅模型文档,确认messages支持的role类型(如TTS模型通常仅允许user);

  • ✅ 用JSON Schema校验工具(如jsonschema库)提前验证请求参数合法性。