API 调用 /prompt 报 400/422/500:Prompt outputs failed validation、Value not in list、invalid prompt / 全站资源搜索
搜索 更新 2026-10-02
报错 087 前端界面、浏览器与工作流加载 有来源可查

API 调用 /prompt 报 400/422/500:Prompt outputs failed validation、Value not in list、invalid prompt

报错原文(原样)
Prompt outputs failed validation
CheckpointLoaderSimple:
- Value not in list: ckpt_name: 'v1-5-pruned-emaonly.ckpt' not in ['v1-5-pruned-emaonly-fp16.safetensors']
invalid prompt: {'type': 'prompt_outputs_failed_validation', 'message': 'Prompt outputs failed validation', 'details': '', 'extra_info': {}}
检索关键词 Prompt outputs failed validation、prompt_outputs_failed_validation、Value not in list、invalid prompt、Required input is missing、missing the class_type property、422、/prompt
先看这一句 通过 /prompt 接口提交工作流时报 400/422/500,返回体里是 prompt_outputs_failed_validation 之类的校验失败;同一个工作流在网页界面里却能正常跑。
适用版本 全版本通用 · 核实日期 2026-09-26 · 状态 已核实
适用环境:Windows 便携版、秋叶/绘世整合包、ComfyUI Desktop、Linux + 云 GPU、Docker/服务器、全部主流环境

现象与触发场景

常见触发场景:

  • 把界面导出的 workflow 格式误当成 API 格式提交
  • API 格式 JSON 里的输入名与当前节点定义不一致(节点升级后输入名变了)
  • 模型文件名与服务器上实际文件名不完全一致
  • 必填输入缺失(Required input is missing)

根因

  • 提交的模型名不在服务器的枚举列表里。ComfyUI#5403 的报错原文显示 "Value not in list: ckpt_name: 'v1-5-pruned-emaonly.ckpt' not in ['v1-5-pruned-emaonly-fp16.safetensors']",维护者 ltdrdata 给的处置是:确认文件名、确认文件放在 ComfyUI/models/checkpoints、刷新浏览器、重新选择文件
  • 节点类在服务端不存在,prompt 校验直接失败。christian-byrne 在 ComfyUI#8903 指出此类报错的实际根因是该节点的 Python 导入失败(该例为 Nunchaku),而非工作流本身
  • 必填输入缺失。InstantX/FLUX.1-dev-IP-Adapter 的讨论区就有 "Prompt outputs failed validation IPAdapterFluxLoader: - Required input is missing: ipadapter" 这一真实报错,属于典型的 API 格式字段漏填
  • 接口语义被误用。官方 comms_routes 文档说明 /prompt 会对 prompt 做校验后入队,校验不过就返回 error 与 node_errors,因此这类 4xx 是校验结果而不是服务器故障

解决步骤

已按「最可能有效」排序。请从上往下做,每做完一步用「验证」确认,不要一次改五处。

  1. 先把 HTTP 状态码与响应体原文完整打出来
    不要只看客户端库抛出的异常。用 curl 直接 POST 一次,把 -i 与 -d 都带上,就能看到真实状态码与 node_errors 明细。官方 comms_routes 文档说明 /prompt 校验失败时会返回 error 与 node_errors,这两个字段就是定位依据。
    curl -i -X POST http://127.0.0.1:8188/prompt -H "Content-Type: application/json" --data-binary @prompt.json
  2. 用 /object_info 核对节点是否存在、输入名与合法取值
    把报错里的节点类名与 input 名,对照服务器返回的节点定义逐项核对:确认该类存在(不存在就是自定义节点没装上或导入失败),确认 input 名与 API JSON 里写的完全一致(节点升级后输入名可能变化),确认 string/enum 型输入的合法取值列表里包含你传的值。
    curl -s http://127.0.0.1:8188/object_info > object_info.json
    curl -s http://127.0.0.1:8188/object_info/CheckpointLoaderSimple
  3. 用界面导出 API 格式的工作流,而不是手写或复用界面格式
    在 ComfyUI 设置里启用 Dev Mode(Enable dev mode options),之后菜单里才会出现导出 API 格式的选项,再用它导出的 JSON 去提交。这一步能一次性消除「格式不对」「输入名不对」这两类最常见问题。官方 Comfy Settings 文档明确记录该选项默认是 Disabled,所以默认状态下根本导不出 API 格式。
  4. 先验证服务本身是活的,再验证工作流本身是合法的
    先请求 /system_stats 确认服务可访问,再查 /object_info 确认节点定义可读,最后才提交 /prompt。这样可以明确区分「服务不可达导致连接错误」与「工作流校验失败」——两者在客户端库里的异常信息经常长得很像,中文社区(CSDN 问答)就把 TypeError: Failed to fetch 误当成执行失败来讨论。
    curl -s http://127.0.0.1:8188/system_stats
    curl -s -o NUL -w "%{http_code}\n" http://127.0.0.1:8188/object_info

验证是否修好

curl 提交后返回 200 与 prompt_id(而不是 error + node_errors),随后 /history 中能查到该 prompt_id 的输出记录。

补充说明

/system_stats 与 /object_info 在官方 comms_routes 路由表页中未被单独列名,此处作为自测手段引用;两者在 ComfyUI#7329 的 issue 讨论中被维护者与用户直接用于诊断(ltdrdata 的原话为 "/object_info, This interface is very slow or even unresponsive")。CSDN 上关于 "ComfyUI提示执行失败:TypeError: Failed to fetch 常因后端未启动或跨域/网络配置异常" 的问答属中文社区二手资料,仅作线索,不构成本条结论依据。

来源

按可信度排列:官方 issue / 官方文档 > 节点仓库 issue > 社区帖 > 中文社区文章。 链接以纯文本给出(本站不做站外跳转),需要核对时请自行复制到浏览器打开。
  1. [205] (官方 issue) Prompt outputs failed validation https://github.com/Comfy-Org/ComfyUI/issues/5403
  2. [200] (官方文档) ComfyUI Server Routes (HTTP and WebSocket API) https://docs.comfy.org/development/comfyui-server/comms_routes
  3. [206] (官方文档) Comfy Settings https://docs.comfy.org/interface/settings/comfy
  4. [207] (社区) Prompt outputs failed validation IPAdapterFluxLoader: - Required input https://huggingface.co/InstantX/FLUX.1-dev-IP-Adapter/discussions/12

本条报错提到的目录

本条报错的原文或解决步骤里出现了下面这些 models/ 子目录。 权重库里放在这些目录下的文件已按目录列好,可对照确认自己缺的是哪几个。

这条报错要用到的东西

按本条报错所属的类别(前端界面、浏览器与工作流加载)列出站内相关的下载包与板块入口。 它们不是「必须下载才能修好」,而是这一类问题里最常要动到的东西;具体怎么做,以上面的解决步骤为准。

常用节点速查包常用节点参数小抄 / 常见连法示意图 待挂载
工作流换一条已知结构完整的工作流对照排查 板块

同一类别的其他条目

这个解法对你有效吗 记录只存在你自己的浏览器里,不需要注册账号。

返回报错库