diff --git a/example_workflows/LoadImageNode.json b/example_workflows/LoadImageNode.json new file mode 100644 index 0000000..f16bb75 --- /dev/null +++ b/example_workflows/LoadImageNode.json @@ -0,0 +1,830 @@ +{ + "last_node_id": 39, + "last_link_id": 27, + "nodes": [ + { + "id": 22, + "type": "ailab_ImagePreview", + "pos": [ + 333.8974609375, + 1183.48681640625 + ], + "size": [ + 341.25, + 656.1900024414062 + ], + "flags": {}, + "order": 9, + "mode": 0, + "inputs": [ + { + "name": "image", + "type": "IMAGE", + "link": 17 + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": null + } + ], + "properties": { + "Node name for S&R": "ailab_ImagePreview" + }, + "widgets_values": [] + }, + { + "id": 24, + "type": "ailab_ImagePreview", + "pos": [ + 993.8974609375, + 1183.48681640625 + ], + "size": [ + 341.25, + 656.1900024414062 + ], + "flags": {}, + "order": 6, + "mode": 0, + "inputs": [ + { + "name": "image", + "type": "IMAGE", + "link": 18 + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": null + } + ], + "properties": { + "Node name for S&R": "ailab_ImagePreview" + }, + "widgets_values": [] + }, + { + "id": 23, + "type": "AiLab_LoadImage", + "pos": [ + 693.8974609375, + 1133.48681640625 + ], + "size": [ + 277.489990234375, + 712.2000122070312 + ], + "flags": {}, + "order": 0, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [], + "slot_index": 0 + }, + { + "name": "MASK", + "type": "MASK", + "links": [], + "slot_index": 1 + }, + { + "name": "MASK_IMAGE", + "type": "IMAGE", + "links": [ + 18 + ], + "slot_index": 2 + }, + { + "name": "WIDTH", + "type": "INT", + "links": null + }, + { + "name": "HEIGHT", + "type": "INT", + "links": null + } + ], + "properties": { + "cnr_id": "comfyui-rmbg", + "ver": "d85dd7527028200e200e502342ab448c89cf81be", + "Node name for S&R": "AiLab_LoadImage" + }, + "widgets_values": [ + "4232e0395939ffa9326d71d33308607d.jpg", + "green", + 1, + 800, + "image" + ] + }, + { + "id": 18, + "type": "AiLab_LoadImage", + "pos": [ + 1353.8974609375, + 1133.48681640625 + ], + "size": [ + 277.489990234375, + 712.2000122070312 + ], + "flags": {}, + "order": 1, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [], + "slot_index": 0 + }, + { + "name": "MASK", + "type": "MASK", + "links": [], + "slot_index": 1 + }, + { + "name": "MASK_IMAGE", + "type": "IMAGE", + "links": [ + 15 + ], + "slot_index": 2 + }, + { + "name": "WIDTH", + "type": "INT", + "links": null + }, + { + "name": "HEIGHT", + "type": "INT", + "links": null + } + ], + "properties": { + "cnr_id": "comfyui-rmbg", + "ver": "d85dd7527028200e200e502342ab448c89cf81be", + "Node name for S&R": "AiLab_LoadImage" + }, + "widgets_values": [ + "4232e0395939ffa9326d71d33308607d.jpg", + "blue", + 1, + 800, + "image" + ] + }, + { + "id": 20, + "type": "ailab_ImagePreview", + "pos": [ + 1653.8974609375, + 1183.48681640625 + ], + "size": [ + 341.25, + 656.1900024414062 + ], + "flags": {}, + "order": 7, + "mode": 0, + "inputs": [ + { + "name": "image", + "type": "IMAGE", + "link": 15 + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": null + } + ], + "properties": { + "Node name for S&R": "ailab_ImagePreview" + }, + "widgets_values": [] + }, + { + "id": 10, + "type": "ailab_ImagePreview", + "pos": [ + 335.96380615234375, + 313.80133056640625 + ], + "size": [ + 235.32000732421875, + 440.70001220703125 + ], + "flags": {}, + "order": 8, + "mode": 0, + "inputs": [ + { + "name": "image", + "type": "IMAGE", + "link": 9 + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 21 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "ailab_ImagePreview" + }, + "widgets_values": [] + }, + { + "id": 34, + "type": "ailab_ImagePreview", + "pos": [ + 921.7638549804688, + 313.80133056640625 + ], + "size": [ + 242.40625, + 474.35968017578125 + ], + "flags": {}, + "order": 14, + "mode": 0, + "inputs": [ + { + "name": "image", + "type": "IMAGE", + "link": 25 + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "ailab_ImagePreview" + }, + "widgets_values": [] + }, + { + "id": 36, + "type": "ailab_ImagePreview", + "pos": [ + 2419.923583984375, + 315.84368896484375 + ], + "size": [ + 341.25, + 656.1900024414062 + ], + "flags": {}, + "order": 10, + "mode": 0, + "inputs": [ + { + "name": "image", + "type": "IMAGE", + "link": 26 + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": null + } + ], + "properties": { + "Node name for S&R": "ailab_ImagePreview" + }, + "widgets_values": [] + }, + { + "id": 6, + "type": "AiLab_LoadImage", + "pos": [ + 40.0096435546875, + 313.80133056640625 + ], + "size": [ + 277.489990234375, + 712.2000122070312 + ], + "flags": {}, + "order": 2, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 9 + ], + "slot_index": 0 + }, + { + "name": "MASK", + "type": "MASK", + "links": [], + "slot_index": 1 + }, + { + "name": "MASK_IMAGE", + "type": "IMAGE", + "links": [], + "slot_index": 2 + }, + { + "name": "WIDTH", + "type": "INT", + "links": null + }, + { + "name": "HEIGHT", + "type": "INT", + "links": null + } + ], + "properties": { + "cnr_id": "comfyui-rmbg", + "ver": "d85dd7527028200e200e502342ab448c89cf81be", + "Node name for S&R": "AiLab_LoadImage" + }, + "widgets_values": [ + "4232e0395939ffa9326d71d33308607d.jpg", + "alpha", + 1, + 400, + "image" + ] + }, + { + "id": 15, + "type": "AiLab_LoadImage", + "pos": [ + 43.897430419921875, + 1133.48681640625 + ], + "size": [ + 277.489990234375, + 712.2000122070312 + ], + "flags": {}, + "order": 3, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [], + "slot_index": 0 + }, + { + "name": "MASK", + "type": "MASK", + "links": [], + "slot_index": 1 + }, + { + "name": "MASK_IMAGE", + "type": "IMAGE", + "links": [ + 17 + ], + "slot_index": 2 + }, + { + "name": "WIDTH", + "type": "INT", + "links": null + }, + { + "name": "HEIGHT", + "type": "INT", + "links": null + } + ], + "properties": { + "cnr_id": "comfyui-rmbg", + "ver": "d85dd7527028200e200e502342ab448c89cf81be", + "Node name for S&R": "AiLab_LoadImage" + }, + "widgets_values": [ + "4232e0395939ffa9326d71d33308607d.jpg", + "red", + 1, + 800, + "image" + ] + }, + { + "id": 33, + "type": "ailab_MaskPreview", + "pos": [ + 1182.557373046875, + 336.49273681640625 + ], + "size": [ + 225.98446655273438, + 451.2201843261719 + ], + "flags": {}, + "order": 15, + "mode": 0, + "inputs": [ + { + "name": "mask", + "type": "MASK", + "link": 24 + } + ], + "outputs": [ + { + "name": "MASK", + "type": "MASK", + "links": null + } + ], + "properties": { + "Node name for S&R": "ailab_MaskPreview" + }, + "widgets_values": [] + }, + { + "id": 21, + "type": "RMBG", + "pos": [ + 592.6686401367188, + 313.80133056640625 + ], + "size": [ + 304, + 290 + ], + "flags": {}, + "order": 13, + "mode": 0, + "inputs": [ + { + "name": "image", + "type": "IMAGE", + "link": 21 + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 25 + ], + "slot_index": 0 + }, + { + "name": "MASK", + "type": "MASK", + "links": [ + 24 + ], + "slot_index": 1 + }, + { + "name": "MASK_IMAGE", + "type": "IMAGE", + "links": null + } + ], + "properties": { + "cnr_id": "comfyui-rmbg", + "ver": "d85dd7527028200e200e502342ab448c89cf81be", + "Node name for S&R": "RMBG" + }, + "widgets_values": [ + "RMBG-2.0", + 1, + 1024, + 0, + 0, + "Alpha", + false, + "default", + false + ] + }, + { + "id": 29, + "type": "AiLab_LoadImage", + "pos": [ + 1441.9066162109375, + 311.94622802734375 + ], + "size": [ + 277.489990234375, + 712.2000122070312 + ], + "flags": {}, + "order": 4, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 26 + ], + "slot_index": 0 + }, + { + "name": "MASK", + "type": "MASK", + "links": [ + 22 + ], + "slot_index": 1 + }, + { + "name": "MASK_IMAGE", + "type": "IMAGE", + "links": [ + 23 + ], + "slot_index": 2 + }, + { + "name": "WIDTH", + "type": "INT", + "links": null + }, + { + "name": "HEIGHT", + "type": "INT", + "links": null + } + ], + "properties": { + "cnr_id": "comfyui-rmbg", + "ver": "d85dd7527028200e200e502342ab448c89cf81be", + "Node name for S&R": "AiLab_LoadImage" + }, + "widgets_values": [ + "image_preview_0030.png", + "alpha", + 1.5, + 0, + "image" + ] + }, + { + "id": 32, + "type": "ailab_MaskPreview", + "pos": [ + 1735.2513427734375, + 327.2447204589844 + ], + "size": [ + 336.4051818847656, + 647.3681640625 + ], + "flags": {}, + "order": 11, + "mode": 0, + "inputs": [ + { + "name": "mask", + "type": "MASK", + "link": 22 + } + ], + "outputs": [ + { + "name": "MASK", + "type": "MASK", + "links": null + } + ], + "properties": { + "Node name for S&R": "ailab_MaskPreview" + }, + "widgets_values": [] + }, + { + "id": 31, + "type": "PreviewImage", + "pos": [ + 2077.5830078125, + 330.533935546875 + ], + "size": [ + 332.80377197265625, + 642.8572998046875 + ], + "flags": {}, + "order": 12, + "mode": 0, + "inputs": [ + { + "name": "images", + "type": "IMAGE", + "link": 23 + } + ], + "outputs": [], + "properties": { + "cnr_id": "comfy-core", + "ver": "0.3.26", + "Node name for S&R": "PreviewImage" + }, + "widgets_values": [] + }, + { + "id": 39, + "type": "MarkdownNote", + "pos": [ + 2024.1990966796875, + 1094.8106689453125 + ], + "size": [ + 431.7767028808594, + 315.57635498046875 + ], + "flags": {}, + "order": 5, + "mode": 0, + "inputs": [], + "outputs": [], + "properties": {}, + "widgets_values": [ + "# AILab Image and Mask Tools Node\n\n## LoadImage\n### Functionality\n- Loads images and extracts the specified channel as a mask.\n- Supports loading various image formats.\n\n### Features\n- Supports image scaling and adjusting the longest side.\n- Provides multiple channel options (alpha, red, green, blue) for mask extraction.\n- Automatically handles EXIF information to ensure correct orientation of images.\n\n---\nhttps://github.com/1038lab/ComfyUI-RMBG" + ], + "color": "#432", + "bgcolor": "#653" + } + ], + "links": [ + [ + 9, + 6, + 0, + 10, + 0, + "IMAGE" + ], + [ + 15, + 18, + 2, + 20, + 0, + "IMAGE" + ], + [ + 17, + 15, + 2, + 22, + 0, + "IMAGE" + ], + [ + 18, + 23, + 2, + 24, + 0, + "IMAGE" + ], + [ + 21, + 10, + 0, + 21, + 0, + "IMAGE" + ], + [ + 22, + 29, + 1, + 32, + 0, + "MASK" + ], + [ + 23, + 29, + 2, + 31, + 0, + "IMAGE" + ], + [ + 24, + 21, + 1, + 33, + 0, + "MASK" + ], + [ + 25, + 21, + 0, + 34, + 0, + "IMAGE" + ], + [ + 26, + 29, + 0, + 36, + 0, + "IMAGE" + ] + ], + "groups": [ + { + "id": 1, + "title": "LoadImage (RGB Mask Output + Mask Image Output)", + "bounding": [ + 33.89743423461914, + 1059.8868408203125, + 1971.25, + 795.7999267578125 + ], + "color": "#3f789e", + "font_size": 24, + "flags": {} + }, + { + "id": 2, + "title": "LoadImage Node (Image Resize)", + "bounding": [ + 27.809642791748047, + 233.601318359375, + 1396.232177734375, + 809.41162109375 + ], + "color": "#3f789e", + "font_size": 24, + "flags": {} + }, + { + "id": 3, + "title": "Load Image(ImageReszie by Scale + Alpha Channel Mask)", + "bounding": [ + 1431.9066162109375, + 238.3462371826172, + 1339.269775390625, + 801.6460571289062 + ], + "color": "#3f789e", + "font_size": 24, + "flags": {} + } + ], + "config": {}, + "extra": { + "ds": { + "scale": 0.6209213230591554, + "offset": [ + 653.311977192503, + 53.29461542271815 + ] + }, + "ue_links": [], + "VHS_latentpreview": false, + "VHS_latentpreviewrate": 0, + "VHS_MetadataImage": true, + "VHS_KeepIntermediate": true + }, + "version": 0.4 +} \ No newline at end of file diff --git a/example_workflows/image_mask_preview.json b/example_workflows/image_mask_preview.json new file mode 100644 index 0000000..34a532b --- /dev/null +++ b/example_workflows/image_mask_preview.json @@ -0,0 +1,309 @@ +{ + "last_node_id": 10, + "last_link_id": 8, + "nodes": [ + { + "id": 3, + "type": "AiLab_Preview", + "pos": [ + 1068.05078125, + -179.740478515625 + ], + "size": [ + 666.8098754882812, + 532.9207763671875 + ], + "flags": {}, + "order": 4, + "mode": 0, + "inputs": [ + { + "name": "image", + "type": "IMAGE", + "shape": 7, + "link": 3 + }, + { + "name": "mask", + "type": "MASK", + "shape": 7, + "link": 4 + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": null + }, + { + "name": "MASK", + "type": "MASK", + "links": null + } + ], + "properties": { + "cnr_id": "comfyui-rmbg", + "ver": "d85dd7527028200e200e502342ab448c89cf81be", + "Node name for S&R": "AiLab_Preview" + }, + "widgets_values": [], + "color": "#223", + "bgcolor": "#335" + }, + { + "id": 2, + "type": "AiLab_MaskPreview", + "pos": [ + 547.4395141601562, + -172.17669677734375 + ], + "size": [ + 335.42462158203125, + 516.5322875976562 + ], + "flags": {}, + "order": 3, + "mode": 0, + "inputs": [ + { + "name": "mask", + "type": "MASK", + "link": 2 + } + ], + "outputs": [ + { + "name": "MASK", + "type": "MASK", + "links": null + } + ], + "properties": { + "cnr_id": "comfyui-rmbg", + "ver": "d85dd7527028200e200e502342ab448c89cf81be", + "Node name for S&R": "AiLab_MaskPreview" + }, + "widgets_values": [], + "color": "#223", + "bgcolor": "#335" + }, + { + "id": 1, + "type": "AiLab_ImagePreview", + "pos": [ + 899.152099609375, + -728.5360107421875 + ], + "size": [ + 309.9009094238281, + 483.359619140625 + ], + "flags": {}, + "order": 2, + "mode": 0, + "inputs": [ + { + "name": "image", + "type": "IMAGE", + "link": 1 + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": null + } + ], + "properties": { + "cnr_id": "comfyui-rmbg", + "ver": "d85dd7527028200e200e502342ab448c89cf81be", + "Node name for S&R": "AiLab_ImagePreview" + }, + "widgets_values": [], + "color": "#223", + "bgcolor": "#335" + }, + { + "id": 5, + "type": "RMBG", + "pos": [ + 185.55421447753906, + -486.91412353515625 + ], + "size": [ + 315, + 290 + ], + "flags": {}, + "order": 1, + "mode": 0, + "inputs": [ + { + "name": "image", + "type": "IMAGE", + "link": 8 + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 1, + 3 + ], + "slot_index": 0 + }, + { + "name": "MASK", + "type": "MASK", + "links": [ + 2, + 4 + ], + "slot_index": 1 + }, + { + "name": "MASK_IMAGE", + "type": "IMAGE", + "links": null + } + ], + "properties": { + "cnr_id": "comfyui-rmbg", + "ver": "d85dd7527028200e200e502342ab448c89cf81be", + "Node name for S&R": "RMBG" + }, + "widgets_values": [ + "RMBG-2.0", + 1, + 1024, + 0, + 0, + "Alpha", + false, + "default", + false + ] + }, + { + "id": 10, + "type": "AiLab_LoadImage", + "pos": [ + -415.5882568359375, + -691.2813110351562 + ], + "size": [ + 517.4749755859375, + 1015.3758544921875 + ], + "flags": {}, + "order": 0, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 8 + ], + "slot_index": 0 + }, + { + "name": "MASK", + "type": "MASK", + "links": null + }, + { + "name": "MASK_IMAGE", + "type": "IMAGE", + "links": null + }, + { + "name": "WIDTH", + "type": "INT", + "links": null + }, + { + "name": "HEIGHT", + "type": "INT", + "links": null + } + ], + "properties": { + "cnr_id": "comfyui-rmbg", + "ver": "d85dd7527028200e200e502342ab448c89cf81be", + "Node name for S&R": "AiLab_LoadImage" + }, + "widgets_values": [ + "ComfyUI_03216_.png", + "alpha", + 1, + 0, + "image" + ] + } + ], + "links": [ + [ + 1, + 5, + 0, + 1, + 0, + "IMAGE" + ], + [ + 2, + 5, + 1, + 2, + 0, + "MASK" + ], + [ + 3, + 5, + 0, + 3, + 0, + "IMAGE" + ], + [ + 4, + 5, + 1, + 3, + 1, + "MASK" + ], + [ + 8, + 10, + 0, + 5, + 0, + "IMAGE" + ] + ], + "groups": [], + "config": {}, + "extra": { + "ds": { + "scale": 0.7358934708584591, + "offset": [ + 295.42900570307074, + 771.4978382707495 + ] + }, + "ue_links": [], + "VHS_latentpreview": false, + "VHS_latentpreviewrate": 0, + "VHS_MetadataImage": true, + "VHS_KeepIntermediate": true + }, + "version": 0.4 +} \ No newline at end of file