Spaces:
Running on Zero
Running on Zero
Download custom_nodes/websocket_image_save.py from FiditeNemini/Chroma: direct link, hf CLI and curl.
- Browser
- Download file 1.26 kB
-
https://huggingface.co/spaces/FiditeNemini/Chroma/resolve/main/custom_nodes/websocket_image_save.py
- Command line
-
hf download hf://spaces/FiditeNemini/Chroma/custom_nodes/websocket_image_save.py
-
curl -L -o websocket_image_save.py https://huggingface.co/spaces/FiditeNemini/Chroma/resolve/main/custom_nodes/websocket_image_save.py
1.26 kB
| from PIL import Image | |
| import numpy as np | |
| import comfy.utils | |
| import time | |
| #You can use this node to save full size images through the websocket, the | |
| #images will be sent in exactly the same format as the image previews: as | |
| #binary images on the websocket with a 8 byte header indicating the type | |
| #of binary message (first 4 bytes) and the image format (next 4 bytes). | |
| #Note that no metadata will be put in the images saved with this node. | |
| class SaveImageWebsocket: | |
| def INPUT_TYPES(s): | |
| return {"required": | |
| {"images": ("IMAGE", ),} | |
| } | |
| RETURN_TYPES = () | |
| FUNCTION = "save_images" | |
| OUTPUT_NODE = True | |
| CATEGORY = "api/image" | |
| def save_images(self, images): | |
| pbar = comfy.utils.ProgressBar(images.shape[0]) | |
| step = 0 | |
| for image in images: | |
| i = 255. * image.cpu().numpy() | |
| img = Image.fromarray(np.clip(i, 0, 255).astype(np.uint8)) | |
| pbar.update_absolute(step, images.shape[0], ("PNG", img, None)) | |
| step += 1 | |
| return {} | |
| def IS_CHANGED(s, images): | |
| return time.time() | |
| NODE_CLASS_MAPPINGS = { | |
| "SaveImageWebsocket": SaveImageWebsocket, | |
| } | |