错误信息: Invalid JSON response 堆栈信息: AI_APICallError: Invalid JSON response at file...

2026年04月26日 19:55 processing

错误信息

错误名称: AI_APICallError 错误信息: Invalid JSON response 堆栈信息: AI_APICallError: Invalid JSON response at file:///D:/tools/cherry_studio/Cherry%20Studio/resources/app.asar/out/renderer/assets/store-DmY8nbl4.js:51992:35 at async postToApi$2 (file:///D:/tools/cherry_studio/Cherry%20Studio/resources/app.asar/out/renderer/assets/store-DmY8nbl4.js:51862:11) at async OpenAICompatibleImageModel.doGenerate (file:///D:/tools/cherry_studio/Cherry%20Studio/resources/app.asar/out/renderer/assets/store-DmY8nbl4.js:70585:48) at async _retryWithExponentialBackoff (file:///D:/tools/cherry_studio/Cherry%20Studio/resources/app.asar/out/renderer/assets/store-DmY8nbl4.js:100692:10) at async Promise.all (index 0) at async generateImage (file:///D:/tools/cherry_studio/Cherry%20Studio/resources/app.asar/out/renderer/assets/store-DmY8nbl4.js:105389:18) at async PluginEngine.executeImageWithPlugins (file:///D:/tools/cherry_studio/Cherry%20Studio/resources/app.asar/out/renderer/assets/store-DmY8nbl4.js:153177:19) at async AiProvider.modernGenerateImage (file:///D:/tools/cherry_studio/Cherry%20Studio/resources/app.asar/out/renderer/assets/store-DmY8nbl4.js:352391:18) at async AiProvider.generateImage (file:///D:/tools/cherry_studio/Cherry%20Studio/resources/app.asar/out/renderer/assets/store-DmY8nbl4.js:352377:10) at async fetchImageGeneration (file:///D:/tools/cherry_studio/Cherry%20Studio/resources/app.asar/out/renderer/assets/store-DmY8nbl4.js:352641:17) 错误原因: { "name": "AI_JSONParseError", "cause": {}, "text": "<!DOCTYPE html>\n<html lang=\"zh-CN\">\n\n<head>\n <meta charset=\"utf-8\" />\n <link rel=\"icon\" href=\"https://assets.wlai.vip/logo.png\" />\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\" />\n <meta name=\"theme-color\" content=\"#ffffff\" />\n\n <!-- 基础 SEO 标签 -->\n <meta name=\"description\" content=\"中转API提供便宜低价的ChatGPT中转API服务...\" />\n <meta name=\"keywords\" content=\"ChatGPT API, AI dialogue...\" />\n \n\n\n <title>Loading...</title>\n <script type=\"module\" crossorigin src=\"https://assets.wlai.vip/assets/js/index-D3EApot3.js\"></script>\n <link rel=\"stylesheet\" crossorigin href=\"https://assets.wlai.vip/assets/css/index-CNzc9ImA.css\">\n</head>\n\n<body>\n <noscript>您需要启用 JavaScript 来运行此应用。</noscript>\n <div id=\"root\"></div>\n</body>\n\n</html>" } 状态码: 200 请求路径: https://yunwu.ai/images/generations/images/generations 请求体: { "model": "gpt-image-2", "prompt": "生成一张介绍环境DNA来源的信息图,16:9,4K分辨率", "n": 1, "size": "1024x1024", "response_format": "b64_json" } 响应首部: { "alt-svc": "quic=\":443\"; h3=\":443\"; h3-29=\":443\"; h3-27=\":443\";h3-25=\":443\"; h3-T050=\":443\"; h3-Q050=\":443\";h3-Q049=\":443\";h3-Q048=\":443\"; h3-Q046=\":443\"; h3-Q043=\":443\"", "cache-control": "no-cache", "content-encoding": "gzip", "content-length": "527", "content-security-policy": "frame-ancestors 'self'", "content-type": "text/html; charset=utf-8", "date": "Sun, 26 Apr 2026 11:53:12 GMT", "document-policy": "include-js-call-stacks-in-crash-reports", "server": "nginx", "strict-transport-security": "max-age=31536000", "vary": "Accept-Encoding", "x-api-request-id": "20260426195312707796691KvaDak6e", "x-frame-options": "SAMEORIGIN" } 响应内容: <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="utf-8" /> <link rel="icon" href="https://assets.wlai.vip/logo.png" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> <meta name="theme-color" content="#ffffff" /> <!-- 基础 SEO 标签 --> <meta name="description" content="中转API提供便宜低价的ChatGPT中转API服务..." /> <meta name="keywords" content="ChatGPT API, AI dialogue..." /> <title>Loading...</title> <script type="module" crossorigin src="https://assets.wlai.vip/assets/js/index-D3EApot3.js"></script> <link rel="stylesheet" crossorigin href="https://assets.wlai.vip/assets/css/index-CNzc9ImA.css"> </head> <body> <noscript>您需要启用 JavaScript 来运行此应用。</noscript> <div id="root"></div> </body> </html> 数据: "[undefined]"

AI 解决方案

报错分析报告

1.错误翻译


原文:Invalid JSON response
译文:无效的JSON响应

2. 原因分析


  • 根本原因:API请求返回的响应内容是HTML页面(text/html类型),而非预期的JSON格式,导致JSON解析失败。

  • 具体位置:调用OpenAICompatibleImageModel.doGenerate时,解析https://yunwu.ai/images/generations/images/generations的响应内容(实际返回加载页HTML),与请求要求的b64_json格式冲突。

  • 上下文:请求路径重复(/images/generations/images/generations)、API服务可能未正确路由,或中转服务返回错误页面。
  • 3.解决方案


    // 修复步骤1:修正请求路径(移除重复路径)
    const correctApiUrl = "https://yunwu.ai/v1/images/generations"; // 假设正确端点为v1前缀
    
    // 修复步骤2:添加响应类型校验(示例伪代码)
    async function generateImage() {
      try {
        const response = await fetch(correctApiUrl, {
          method: "POST",
          headers: { "Content-Type": "application/json" },
          body: JSON.stringify({
            model: "gpt-image-2",
            prompt: "生成一张介绍环境DNA来源的信息图,16:9,4K分辨率",
            n: 1,
            size: "1024x1024",
            response_format: "b64_json"
          })
        });
    
        // 校验响应类型
        if (!response.headers.get("content-type")?.includes("application/json")) {
          throw new Error(`非JSON响应:${await response.text()}`);
        }
    
        const data = await response.json();
        return data;
      } catch (error) {
        console.error("图像生成失败:", error);
      }
    }
    

    4. 预防措施


  • 端点验证:调用API前用curl或Postman测试端点有效性(如curl -I https://yunwu.ai/v1/images/generations),确保返回200 OKContent-Type: application/json

  • 响应预检查:解析前通过response.headers.get("content-type")判断类型,避免直接解析非JSON内容(推荐工具:Axios拦截器自动校验)。
  • :若修正路径后仍报错,需联系中转服务提供商(yunwu.ai)确认接口可用性。