POST /prompt returns 400: inspect error and node_errors before retrying
A rejected request needs structured error inspection. HTTP 400 is not, by itself, evidence of an unstable network and should not trigger endless resubmission.
Symptoms and scope
A rejected request needs structured error inspection. HTTP 400 is not, by itself, evidence of an unstable network and should not trigger endless resubmission.
Error fragments for search; IDs, values and filenames may vary:
prompt_outputs_failed_validation
node_errors
HTTP 400
Source-supported context
Official routing documentation describes validation before a successful prompt_id response. The pinned server route returns top-level error and node_errors on a validation 400, but node_errors can be empty for a missing prompt wrapper. Core validation likewise returns an empty node map for a missing class or output target, and a populated map for some input failures. Read error.type and its details first; use node-level reasons when present. Routes Server Validation
Cases to distinguish
1. The top-level prompt wrapper or API graph format is wrong.
2. Node, model-option, link or numeric validation fails before model computation begins.
3. A proxy or another service returns the error instead of ComfyUI JSON.
Diagnostic sequence
The sequence below is an editorial procedure based on the cited context, not a diagnosis already confirmed for your environment.
Step 1. Save status, Content-Type and a redacted response to confirm which service answered.
Step 2. Submit a minimal native API export to separate graph-conversion bugs from backend behavior.
Step 3. Inspect top-level error.type, message and details first. If node_errors contains entries with errors arrays, address those nodes one at a time using the corresponding diagnostic guide. An empty node_errors map does not mean the rejected request was valid.
Step 4. Start waiting for execution only after acceptance. Return non-retryable validation problems to the caller instead of looping submissions.
Completion check
A valid prompt_id appears in the expected queue/history; final success still requires an execution result.
Limitations and cautions
History can contain prompts, paths and tracebacks. Redact public reports and never silently repeat potentially costly tasks.
Original sources
- ComfyUI Server API routes — checked 2026-09-26.
- ComfyUI v0.37.0 prompt route — checked 2026-09-26.
- ComfyUI v0.37.0 prompt validation — checked 2026-09-26.
Source and code review updated 2026-09-26. No API submission, GPU run, minimum-memory measurement or runtime guarantee is supplied.
Related troubleshooting and guides
Was this page helpful?
Anonymous. Only a yes/no counter is stored; no account, IP address or device details.
Sources & references
ComfyUI server routes and pinned v0.37.0 prompt/validation source rechecked 2026-09-26. Diagnostic sequence is editorial guidance; no API submission or GPU workflow was performed.
01ComfyUI Server API routesSource checked: 2026-09-2602ComfyUI v0.37.0 prompt routeSource checked: 2026-09-2603ComfyUI v0.37.0 prompt validationSource checked: 2026-09-26