错误信息: contents is required (request id: 202512111056245213006949fsFjxLq) 堆栈信息: A...
🚨 错误信息
错误名称: AI_APICallError
错误信息: contents is required (request id: 202512111056245213006949fsFjxLq)
堆栈信息: AI_APICallError: contents is required (request id: 202512111056245213006949fsFjxLq)
at file:///C:/Program%20Files/Cherry%20Studio/resources/app.asar/out/renderer/assets/dist-gixTQuVo.js:5132:11
at async postToApi (file:///C:/Program%20Files/Cherry%20Studio/resources/app.asar/out/renderer/assets/dist-gixTQuVo.js:5028:24)
at async OpenAICompatibleChatLanguageModel$1.doStream (file:///C:/Program%20Files/Cherry%20Studio/resources/app.asar/out/renderer/assets/store-Dy89cVhB.js:243247:48)
at async wrapStream (file:///C:/Program%20Files/Cherry%20Studio/resources/app.asar/out/renderer/assets/store-Dy89cVhB.js:38758:31)
at async fn (file:///C:/Program%20Files/Cherry%20Studio/resources/app.asar/out/renderer/assets/store-Dy89cVhB.js:36943:17)
at async file:///C:/Program%20Files/Cherry%20Studio/resources/app.asar/out/renderer/assets/store-Dy89cVhB.js:34321:19
at async _retryWithExponentialBackoff (file:///C:/Program%20Files/Cherry%20Studio/resources/app.asar/out/renderer/assets/store-Dy89cVhB.js:34423:10)
at async streamStep (file:///C:/Program%20Files/Cherry%20Studio/resources/app.asar/out/renderer/assets/store-Dy89cVhB.js:36911:108)
at async fn (file:///C:/Program%20Files/Cherry%20Studio/resources/app.asar/out/renderer/assets/store-Dy89cVhB.js:37190:5)
at async file:///C:/Program%20Files/Cherry%20Studio/resources/app.asar/out/renderer/assets/store-Dy89cVhB.js:34321: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": 1760,
"include_thoughts": true
}
}
},
"serviceTier": "[undefined]",
"reasoning_effort": "[undefined]",
"verbosity": "[undefined]",
"messages": [
{
"role": "system",
"content": "# 角色 \r\n 数字艺术创作助手 \r\n ## 注意 \r\n 1. 激励模型深入思考角色配置细节,确保任务完成。 \r\n 2. 专家设计应考虑使用者的需求和关注点。 \r\n 3. 使用情感提示的方法来强调角色的意义和情感层面。 \r\n ## 性格类型指标 \r\n INTJ(内向直觉思维判断型) \r\n ## 背景 \r\n 数字艺术创作是一个涉及创意、技术以及美学的复杂过程。数字艺术创作助手的意义在于为用户提供专业的指导和帮助,使他们能够更高效地创作出具有个人特色和艺术价值的数字艺术作品。 \r\n ## 约束条件 \r\n - 专家必须遵循用户的创作意图,不干涉用户的创意自由。 \r\n - 专家应提供客观、专业的建议,避免主观偏好影响用户决策。 \r\n ## 定义 \r\n - 数字艺术:使用数字技术创作的视觉艺术作品,如数字绘画、3D建模、数字摄影等。 \r\n - 创作助手:提供创意支持、技术指导和美学建议的角色。 \r\n ## 目标 \r\n - 帮助用户理解数字艺术创作的基本原理和技巧。 \r\n - 提供创意灵感和技术支持,促进用户的艺术创作。 \r\n - 协助用户完善作品,提升作品的艺术价值和表现力。 \r\n ## Skills \r\n 为了在限制条件下实现目标,该专家需要具备以下技能: \r\n 1. 数字艺术创作理论知识 \r\n 2. 艺术审美和创意思维 \r\n 3. 数字艺术创作软件和技术的熟练掌握 \r\n ## 音调 \r\n - 鼓励性:激励用户发挥创意,勇于尝试。 \r\n - 客观性:提供专业、客观的建议和指导。 \r\n - 支持性:在用户遇到困难时提供帮助和支持。 \r\n ## 价值观 \r\n - 尊重创意:尊重用户的艺术创作自由和个人风格。 \r\n - 追求卓越:鼓励用户追求艺术创作中的卓越和完美。 \r\n - 持续学习:倡导用户在数字艺术创作中不断学习、成长。 \r\n ## 工作流程 \r\n - 第一步:了解用户的艺术创作需求和目标。 \r\n - 第二步:提供数字艺术创作相关的理论知识和技巧。 \r\n - 第三步:根据用户的作品提供创意灵感和美学建议。 \r\n - 第四步:协助用户解决在创作过程中遇到的技术问题。 \r\n - 第五步:帮助用户完善作品,提升作品的艺术价值。 \r\n - 第六步:鼓励用户分享作品,获取反馈,持续进步。"
},
{
"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": "Thu, 11 Dec 2025 02:57:36 GMT",
"document-policy": "include-js-call-stacks-in-crash-reports",
"server": "nginx",
"x-rixapi-request-id": "202512111057324489000687iLxyT6C"
}
响应内容: {
"error": {
"message": "contents is required (request id: 202512111056245213006949fsFjxLq)",
"type": "rix_api_error",
"param": "",
"code": "invalid_request"
}
}
数据: {
"error": {
"message": "contents is required (request id: 202512111056245213006949fsFjxLq)",
"type": "rix_api_error",
"param": "",
"code": "invalid_request"
}
}
🤖 AI解决方案
错误分析
错误翻译
原文:contents is required
译文:内容字段是必需的
原因分析
根本原因:API请求中缺少必需的contents字段。从请求体可以看到,虽然messages数组中包含了系统提示和用户消息,但Gemini模型要求使用contents字段而非messages字段来传递对话内容。
问题位置:在调用Gemini-3-Pro模型的API时,请求格式不符合该模型的特定要求。
解决方案
将messages字段转换为Gemini模型要求的contents格式:
// 修复后的请求体
{
"model": "gemini-3-pro-image-preview",
"contents": [
{
"role": "user",
"parts": [
{
"text": "# 系统提示\n[原系统提示内容]\n\n# 用户请求\n请给一个幻想世界观设计一辆车..."
}
]
}
],
"temperature": 1,
"stream": true,
"stream_options": {
"include_usage": true
},
"extra_body": {
"google": {
"thinking_config": {
"thinking_budget": 1760,
"include_thoughts": true
}
}
}
}
️ 预防措施
- 查阅文档:在使用不同AI模型时,务必查阅对应模型的API文档,了解其特定的请求格式要求
- ️ 格式适配器:在代码中实现模型适配器层,自动将通用消息格式转换为特定模型要求的格式
建议:Gemini模型使用contents字段而非OpenAI标准的messages字段,这是两种API设计的主要差异点。