错误信息: contents is required (request id: 20251214141141712139925wqB4B4hE) 堆栈信息: A...

2025年12月14日 14:12 状态: processing

🚨 错误信息

错误名称: AI_APICallError 错误信息: contents is required (request id: 20251214141141712139925wqB4B4hE) 堆栈信息: AI_APICallError: contents is required (request id: 20251214141141712139925wqB4B4hE) at file:///Applications/Cherry%20Studio.app/Contents/Resources/app.asar/out/renderer/assets/dist-gixTQuVo.js:5132:11 at async postToApi (file:///Applications/Cherry%20Studio.app/Contents/Resources/app.asar/out/renderer/assets/dist-gixTQuVo.js:5028:24) at async OpenAICompatibleChatLanguageModel$1.doStream (file:///Applications/Cherry%20Studio.app/Contents/Resources/app.asar/out/renderer/assets/store-Oi5sAZNS.js:243343:48) at async wrapStream (file:///Applications/Cherry%20Studio.app/Contents/Resources/app.asar/out/renderer/assets/store-Oi5sAZNS.js:38768:31) at async fn (file:///Applications/Cherry%20Studio.app/Contents/Resources/app.asar/out/renderer/assets/store-Oi5sAZNS.js:36953:17) at async file:///Applications/Cherry%20Studio.app/Contents/Resources/app.asar/out/renderer/assets/store-Oi5sAZNS.js:34331:19 at async _retryWithExponentialBackoff (file:///Applications/Cherry%20Studio.app/Contents/Resources/app.asar/out/renderer/assets/store-Oi5sAZNS.js:34433:10) at async streamStep (file:///Applications/Cherry%20Studio.app/Contents/Resources/app.asar/out/renderer/assets/store-Oi5sAZNS.js:36921:108) at async fn (file:///Applications/Cherry%20Studio.app/Contents/Resources/app.asar/out/renderer/assets/store-Oi5sAZNS.js:37200:5) at async file:///Applications/Cherry%20Studio.app/Contents/Resources/app.asar/out/renderer/assets/store-Oi5sAZNS.js:34331:19 错误原因: "[undefined]" 状态码: 500 请求路径: https://www.dmxapi.cn/v1/chat/completions 请求体: { "model": "gemini-3-pro-image-preview", "user": "[undefined]", "max_tokens": "[undefined]", "temperature": 1, "top_p": "[undefined]", "frequency_penalty": "[undefined]", "presence_penalty": "[undefined]", "response_format": "[undefined]", "stop": "[undefined]", "seed": "[undefined]", "extra_body": { "google": { "thinking_config": { "thinking_budget": -1, "include_thoughts": true } } }, "serviceTier": "[undefined]", "reasoning_effort": "[undefined]", "verbosity": "[undefined]", "messages": [ { "role": "user", "content": "请模仿著名漫画家“村田雄介”的画风,绘制一个机律界(由人工智能和机器人统治的世界)和魔王界(由魔界生物和魔王统治的世界)发生大战的场景。其中,机律界我希望看到一个场景:类似钢铁侠的反浩克战甲从卫星上获得强力的机甲补给,这个场景中的主机器人在与魔王的战斗中发生了部分损坏,但是通过这种方法正在获得机甲补给;另外,魔王界的魔王发动了“部位解放”实施攻击" } ], "tools": "[undefined]", "tool_choice": "[undefined]", "stream": true, "stream_options": { "include_usage": true } } 响应首部: { "cache-control": "no-cache", "content-type": "text/event-stream", "date": "Sun, 14 Dec 2025 06:12:51 GMT", "server": "nginx", "x-rixapi-request-id": "20251214141248570080320u5X1P68a" } 响应内容: { "error": { "message": "contents is required (request id: 20251214141141712139925wqB4B4hE)", "type": "rix_api_error", "param": "", "code": "invalid_request" } } 数据: { "error": { "message": "contents is required (request id: 20251214141141712139925wqB4B4hE)", "type": "rix_api_error", "param": "", "code": "invalid_request" } }

🤖 AI解决方案

专业报错分析报告

1. 错误翻译



原文:contents is required
译文:内容字段是必需的

2. 原因分析


这是一个API调用参数验证错误。错误发生在调用 https://www.dmxapi.cn/v1/chat/completions 接口时,请求体不符合API的格式要求。

根本原因
您正在使用的 gemini-3-pro-image-preview 模型(推测为Google Gemini API的兼容接口)要求请求中的 messages 数组内的每个消息对象必须包含 content 字段。在您的请求中,虽然 messages 数组里有一个 role: "user" 的对象,但该对象的结构可能不完整,特别是 content 字段的格式可能不符合预期。

从堆栈信息看,这是Cherry Studio应用在调用AI服务时发生的错误,状态码500表示服务器在处理您的请求时遇到了内部验证问题。

3. 解决方案


修改请求体中的 messages 结构,确保 content 字段格式正确:

javascript
// 修复后的请求体结构
{
"model": "gemini-3-pro-image-preview",
"temperature": 1,
"messages": [
{
"role": "user",
"content": [
{
"type": "text",
"text": "请模仿著名漫画家“村田雄介”的画风,绘制一个机律界(由人工智能和机器人统治的世界)和魔王界(由魔界生物和魔王统治的世界)发生大战的场景。其中,机律界我希望看到一个场景:类似钢铁侠的反浩克战甲从卫星上获得强力的机甲补给,这个场景中的主机器人在与魔王的战斗中发生了部分损坏,但是通过这种方法正在获得机甲补给;另外,魔王界的魔王发动了“部位解放”实施攻击"
}
// 如果是多模态请求,可能需要包含其他content类型
]
}
],
"stream": true,
"stream_options": {
"include_usage": true
},
"extra_body": {
"google": {
"thinking_config": {
"thinking_budget": -1,
"include_thoughts": true
}
}
}
}

关键修复点

  • 规范content字段:将纯字符串形式的 content 改为对象数组格式

  • 移除undefined值:清理请求体中所有 "[undefined]" 的占位符

  • 只保留必要参数:移除了不必要的未定义参数
  • 4. ️ 预防措施

  • API文档查阅

  • - 在使用特定模型(如Gemini系列)前,务必查阅对应API的官方文档
    - 注意不同模型对请求体格式可能有特殊要求

  • 请求体验证

  • - 在发送请求前,使用JSON验证工具检查数据结构
    - 在开发环境中添加请求日志,记录完整的请求和响应信息
    - 使用Postman或类似的API测试工具先验证请求格式

  • 错误处理改进

  • javascript
    // 在代码中添加更详细的错误处理
    try {
    const response = await apiCall(requestBody);
    } catch (error) {
    console.error('API调用失败:', {
    error: error.message,
    requestId: error.requestId,
    requestBody: JSON.stringify(requestBody, null, 2) // 记录完整请求体
    });
    }

    建议:检查您使用的Cherry Studio版本,确认其是否支持 gemini-3-pro-image-preview 模型,并查看是否有相关的配置或模板需要更新。