Bad Request for url: https://www.dmxapi.cn/v1/responses # ComfyUI Error Report #...

2026年08月01日 09:42 37.17 秒 success

错误信息

API调用失败: 400 Client Error: Bad Request for url: https://www.dmxapi.cn/v1/responses # ComfyUI Error Report ## Error Details - Node ID: 1 - Node Type: NonelinearVideoAPINode - Exception Type: RuntimeError - Exception Message: RuntimeError: API调用失败: 400 Client Error: Bad Request for url: https://www.dmxapi.cn/v1/responses ## Stack Trace (abbreviated) File "/root/ComfyUI/execution.py", line 543, in execute ... File "/root/ComfyUI/custom_nodes/ComfyUI-Nonelinear-ImageVideo-API/NonelinearVideoAPINode.py", line 362, in generate_video raise RuntimeError(error_msg) ## System Information - ComfyUI Version: 0.28.0 - OS: linux - Python Version: 3.12.3 - PyTorch Version: 2.8.0+cu128 ## Devices - NVIDIA GeForce RTX 5090 (cuda:0), VRAM Total: 33.67 GB ## Relevant Logs ... 2026-08-01T09:21:46 - [NonelinearVideoAPI] 发送 payload (model: kling-v3, ...) 2026-08-01T09:21:48 - [NonelinearVideoAPI] 任务异步,开始轮询(POST 方式)... 2026-08-01T09:21:50 - [ERROR] API调用失败: 400 Client Error: Bad Request for url: https://www.dmxapi.cn/v1/responses

AI 解决方案

🔍 错误分析

1. 🌐 错误翻译


原文:API调用失败: 400 Client Error: Bad Request for url: https://www.dmxapi.cn/v1/responses
译文:API调用失败:400 客户端错误,对网址 https://www.dmxapi.cn/v1/responses 的请求格式错误

2. 🎯 原因分析


  • 核心原因:向 dmxapi.cn/v1/responses 端点发送的请求格式不符合 API 规范,触发 400 错误

  • 具体位置:错误发生在 NonelinearVideoAPINode.py 文件的 generate_video 方法第 362 行,因构造的请求体存在格式问题,导致服务器拒绝处理

  • 上下文信息:从日志可知,请求携带 model: kling-v3 等信息,大概率是 请求参数错误缺少必要字段字段格式与 API 要求不匹配(如参数类型错误、缺少身份认证信息等)
  • 3. 💡 解决方案


    需先确认 API 文档中该端点的要求,再修复代码中的请求体构造逻辑,以下是关键排查和修复方向:

    • 检查必填参数:确认 /v1/responses 端点所需的必填参数(如模型配置、生成参数、身份认证信息等),补充缺失字段;

    • 校验参数格式:确保每个参数的类型与 API 文档一致(如字符串、数字、JSON 对象等),避免类型错误;

    • 补充身份认证:若 API 需要 API Key 或 Token,检查代码中是否正确传递认证信息(如请求头的 Authorization 字段)。

    示例修复逻辑(假设缺少 API Key,补充认证头):

    # 原请求可能存在缺少认证信息的问题,修复核心是补全API密钥并规范请求体
    import requests
    import json
    
    # 示例修复后请求逻辑(根据实际情况替换API_KEY和参数)
    API_KEY = "your_dmxapi_key"  # 从环境变量或配置文件读取,避免硬编码
    API_URL = "https://www.dmxapi.cn/v1/responses"
    
    headers = {
        "Authorization": f"Bearer {API_KEY}",  # 补充身份认证头,按API文档调整认证格式
        "Content-Type": "application/json"     # 确保请求头正确
    }
    
    # 按API文档规范请求体,确保字段完整且格式正确
    payload = {
        "model": "kling-v3",
        "config": {
            "width": 1920,
            "height": 1080,
            "duration": 5
        },
        # 补充API文档要求的其他必填字段
    }
    
    try:
        response = requests.post(API_URL, headers=headers, json=payload)
        response.raise_for_status()  # 触发非2xx状态码时抛出异常,便于捕获400错误
        print("API调用成功")
    except requests.exceptions.HTTPError as e:
        # 打印具体错误详情,便于定位参数问题
        print(f"API调用失败: {e.response.status_code} {e.response.text}")
    except Exception as e:
        print(f"请求异常: {str(e)}")
    

    4. 🛡️ 预防措施


  • 优先对照API文档开发:调用第三方 API 前,严格核对接口文档的必填参数、格式要求、认证方式,用 Postman 或 curl 先验证请求格式无误,再集成到代码中;

  • 完善请求校验与错误打印:代码中对请求参数做类型和完整性校验,同时打印完整的请求头、请求体和响应内容(尤其 400 错误的响应体,通常包含服务器返回的参数问题提示),方便快速定位格式错误;

  • 推荐工具排查:使用 Postman 模拟请求(直观验证参数格式)、Python requests 库的 response.text 捕获服务器返回的详细错误描述,或通过日志模块记录完整请求上下文。