fix(nodes): expose save image outputs to generated assets

This commit is contained in:
Will Miao
2026-03-28 14:28:48 +08:00
parent 16e30ea689
commit a82f89d14a
2 changed files with 37 additions and 1 deletions

View File

@@ -529,4 +529,7 @@ class SaveImageLM:
add_counter_to_filename,
)
return (images,)
return {
"result": (images,),
"ui": {"images": results},
}

View File

@@ -118,3 +118,36 @@ def test_save_image_skips_webp_metadata_when_disabled(monkeypatch, tmp_path):
image_path = tmp_path / "sample_00001_.webp"
exif_dict = piexif.load(str(image_path))
assert piexif.ExifIFD.UserComment not in exif_dict.get("Exif", {})
def test_process_image_returns_passthrough_result_and_ui_images(monkeypatch, tmp_path):
_configure_save_paths(monkeypatch, tmp_path)
_configure_metadata(monkeypatch, {"prompt": "prompt text", "seed": 123})
images = [_make_image()]
node = SaveImageLM()
result = node.process_image(images, id="node-1")
assert result["result"] == (images,)
assert result["ui"] == {
"images": [{"filename": "sample_00001_.png", "subfolder": "", "type": "output"}]
}
def test_process_image_returns_empty_ui_images_when_save_fails(monkeypatch, tmp_path):
_configure_save_paths(monkeypatch, tmp_path)
_configure_metadata(monkeypatch, {"prompt": "prompt text", "seed": 123})
def _raise_save_error(*args, **kwargs):
raise OSError("disk full")
monkeypatch.setattr(Image.Image, "save", _raise_save_error)
images = [_make_image()]
node = SaveImageLM()
result = node.process_image(images, id="node-1")
assert result["result"] == (images,)
assert result["ui"] == {"images": []}