You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[BUG]: …not getting the ouput in response when using Save Image with extra metadata Node (crystools) #167
Reproduced this on a fresh pod today (worker-comfyui 5.8.5-flux1-dev-fp8, RTX 4090, ComfyUI 0.17.2, ComfyUI-Crystools 1.27.4) and found two distinct findings — but I cannot reproduce the 400 Bad Request from a normal-sized image.
Finding 1 (separate bug, fix on the way)
Save image with extra metadata [Crystools] crashes with AttributeError: 'NoneType' object has no attribute 'copy' when with_workflow=True, because the worker doesn't forward extra_pnginfo in the /prompt payload. The fix lives in #225 (also unblocks #139). Without that fix, the crystools node only works with with_workflow=False.
But from your log (Job completed. Returning 1 image(s). came through fine), your crystools node clearly didn't crash, so your setup somehow had extra_pnginfo flowing through — either you're on an older worker version that included it, or with_workflow=false was set.
Finding 2 (your 400 — can't repro)
I ran your exact node (Save image with extra metadata [Crystools], filename_prefix="ComfyUI.png") inside the worker:
In both cases the response is well under 1 MB — nowhere near RunPod's 20 MB /runsync limit that would trigger a 400. The handler's output is just {images: [...]} with no workflow leakage. So whatever 400 you hit is not a "crystools always produces an oversized payload" bug.
What I need to actually fix this
Could you share:
Exact workflow JSON that triggered the 400. Even minimum-reproducer (no model loaders needed if you can substitute)
Image resolution and batch_size from the failing run (1024x1024, 2048x2048, batch >1, video output?)
Any other custom nodes present in your image (ls /comfyui/custom_nodes/ from inside the container) — comfyui-easy-use, rgthree-comfy, etc. all change behavior
The 400 from job-done is RunPod's gateway rejecting the response payload. Reasons in order of likelihood: (a) base64'd PNG > 20 MB (large resolution or batch), (b) non-UTF8 bytes in the JSON, (c) something in the response that fails RunPod's validation. We need the workflow JSON to know which.
Activity
Jhaaji commentedon Sep 9, 2025
Update: not getting the ouptut with Save Image node as well
Jhaaji commentedon Sep 9, 2025
worker-comfyui - Status update: 0 items remaining in queue
worker-comfyui - Execution finished for prompt a8a756b1-f322-4ef6-8979-28839e72b4b7
worker-comfyui - Fetching history for prompt a8a756b1-f322-4ef6-8979-28839e72b4b7...
worker-comfyui - Processing 1 output nodes...
worker-comfyui - Node 102 contains 1 image(s)
worker-comfyui - Fetching image data: type=output, subfolder=, filename=ComfyUIxyz_00001_.png
worker-comfyui - Successfully fetched image data for ComfyUIxyz_00001_.png
worker-comfyui - Encoded ComfyUIxyz_00001_.png as base64
worker-comfyui - Closing websocket connection.
worker-comfyui - Job completed. Returning 1 image(s).
{"requestId": "sync-6c6f0362-1843-49ad-ada0-b5db827c0be0-e2", "message": "Failed to return job results. | 400, message='Bad Request', url='https://api.runpod.ai/v2/bqjvbqagh2q90z/job-done/1awbdsmhschpqw/sync-6c6f0362-1843-49ad-ada0-b5db827c0be0-e2?gpu=NVIDIA+GeForce+RTX+4090&isStream=false'", "level": "ERROR"}
{"requestId": "sync-6c6f0362-1843-49ad-ada0-b5db827c0be0-e2", "message": "Finished.", "level": "INFO"}
TimPietruskyRunPod commentedon Jun 2, 2026
Reproduced this on a fresh pod today (worker-comfyui 5.8.5-flux1-dev-fp8, RTX 4090, ComfyUI 0.17.2, ComfyUI-Crystools 1.27.4) and found two distinct findings — but I cannot reproduce the 400 Bad Request from a normal-sized image.
Finding 1 (separate bug, fix on the way)
Save image with extra metadata [Crystools]crashes withAttributeError: 'NoneType' object has no attribute 'copy'whenwith_workflow=True, because the worker doesn't forwardextra_pnginfoin the/promptpayload. The fix lives in #225 (also unblocks #139). Without that fix, the crystools node only works withwith_workflow=False.But from your log (
Job completed. Returning 1 image(s).came through fine), your crystools node clearly didn't crash, so your setup somehow hadextra_pnginfoflowing through — either you're on an older worker version that included it, orwith_workflow=falsewas set.Finding 2 (your 400 — can't repro)
I ran your exact node (
Save image with extra metadata [Crystools],filename_prefix="ComfyUI.png") inside the worker:In both cases the response is well under 1 MB — nowhere near RunPod's 20 MB
/runsynclimit that would trigger a 400. The handler'soutputis just{images: [...]}with no workflow leakage. So whatever 400 you hit is not a "crystools always produces an oversized payload" bug.What I need to actually fix this
Could you share:
5.x.y-base/5.x.y-flux1-dev-fp8/ custom Dockerfile FROM?)ls /comfyui/custom_nodes/from inside the container) —comfyui-easy-use,rgthree-comfy, etc. all change behaviorThe 400 from
job-doneis RunPod's gateway rejecting the response payload. Reasons in order of likelihood: (a) base64'd PNG > 20 MB (large resolution or batch), (b) non-UTF8 bytes in the JSON, (c) something in the response that fails RunPod's validation. We need the workflow JSON to know which.