| 5ead4ea3 | app.llm.image_model_provider:generate_from_reference:1058 | [GPT-Im...

2026年04月27日 14:29 processing

错误信息

2026-04-27 13:33:22.971 | ERROR | 5ead4ea3 | app.llm.image_model_provider:generate_from_reference:1058 | [GPT-Image2] 图生图失败(attempt=1): HTTP 404: {"error":{"message":"Resource not found","type":"rix_api_error","param":"","code":"404"}}

AI 解决方案

报错分析报告

1.错误翻译


原文:HTTP 404: Resource not found
译文:HTTP 404:资源未找到

2.原因分析


  • 根本原因:请求的目标资源(API端点/引用资源)不存在,触发HTTP 404错误。

  • 发生位置app.llm.image_model_provider.generate_from_reference函数第1058行,调用GPT-Image2图生图接口时访问了无效资源。
  • 3.解决方案


    import requests
    
    def generate_from_reference(reference_id: str, api_key: str):
        # 1. 修正API端点(需与DMXAPI文档一致)
        endpoint = "https://api.dmxapi.com/v1/gpt-image2/generate-from-reference"
        # 2. 验证reference_id有效性(示例:提前查询资源是否存在)
        # check_url = f"https://api.dmxapi.com/v1/resources/{reference_id}"
        # if requests.get(check_url, headers={"Authorization": f"Bearer {api_key}"}).status_code != 200:
        #     raise ValueError(f"引用资源{reference_id}不存在")
        
        # 3. 发送正确请求
        payload = {"reference_id": reference_id, "model": "gpt-image2"}
        headers = {"Authorization": f"Bearer {api_key}", "Content-Type": "application/json"}
        response = requests.post(endpoint, json=payload, headers=headers)
        
        if response.status_code == 404:
            raise Exception(f"资源未找到:{response.json()['error']['message']}")
        return response.json()
    

    4. 预防措施


  • 前置校验:调用API前通过GET请求验证资源存在性(如检查reference_id是否有效)。

  • 文档对齐:严格对照DMXAPI官方文档确认端点路径、参数格式,避免硬编码错误。

  • -️ 推荐工具:Postman(测试API端点)、Swagger UI(查看实时API文档)。

    ---
    :需替换示例中的endpointapi_key为实际有效值,并确保reference_id对应真实资源。