Bad Request for url: https://www.dmxapi.cn/v1/responses # ComfyUI Error Report #...
错误信息
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. 🛡️ 预防措施
Postman 模拟请求(直观验证参数格式)、Python requests 库的 response.text 捕获服务器返回的详细错误描述,或通过日志模块记录完整请求上下文。