├── requirements.txt
├── nature.png
├── Img2PaintingCartoonSharpened.png
├── illustratingNeed4InspyreNetAssitant.png
├── __init__.py
├── pyproject.toml
├── .github
└── workflows
│ └── publish.yml
├── README.md
├── comfyWorkflows
├── img2Cartoon.json
├── img2imgSharps.json
├── inspyrenet-rembg-basic-workflow.json
├── ImagePainter&ShapenerCartoonImgWorkflow.json
├── img2PaintingDrawingCartoonSharpened.json
├── img2paintingVid.json
├── ImagePainter&ShapenerCartoonVidWorkflow.json
├── vid2vidSharps.json
├── img2CartoonWtRemBg.json
├── Vid2CartoonWtInspyrenetAssitant.json
└── _Vid2CartoonWtInspyrenetAssitant2.json
└── image_to_painting_node.py
/requirements.txt:
--------------------------------------------------------------------------------
1 | torch
2 | numpy
3 | opencv-python
4 |
--------------------------------------------------------------------------------
/nature.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Isi-dev/ComfyUI_Img2PaintingAssistant/HEAD/nature.png
--------------------------------------------------------------------------------
/Img2PaintingCartoonSharpened.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Isi-dev/ComfyUI_Img2PaintingAssistant/HEAD/Img2PaintingCartoonSharpened.png
--------------------------------------------------------------------------------
/illustratingNeed4InspyreNetAssitant.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Isi-dev/ComfyUI_Img2PaintingAssistant/HEAD/illustratingNeed4InspyreNetAssitant.png
--------------------------------------------------------------------------------
/__init__.py:
--------------------------------------------------------------------------------
1 | from .image_to_painting_node import NODE_CLASS_MAPPINGS, NODE_DISPLAY_NAME_MAPPINGS
2 |
3 | __all__ = ['NODE_CLASS_MAPPINGS', 'NODE_DISPLAY_NAME_MAPPINGS']
--------------------------------------------------------------------------------
/pyproject.toml:
--------------------------------------------------------------------------------
1 | [project]
2 | name = "comfyui-img2paintingassistant"
3 | description = "These are ComfyUI nodes to assist in converting images to paintings and to assist the Inspyrenet Rembg node to totally remove, or replace with a color, the original background from images so that the background does not reappear in videos or in nodes that do not retain the alpha channel in rgba images."
4 | version = "1.0.1"
5 | license = {file = "LICENSE"}
6 | dependencies = ["torch", "numpy", "opencv-python"]
7 |
8 | [project.urls]
9 | Repository = "https://github.com/Isi-dev/ComfyUI-Img2PaintingAssistant"
10 | # Used by Comfy Registry https://comfyregistry.org
11 |
12 | [tool.comfy]
13 | PublisherId = "isi-dev"
14 | DisplayName = "ComfyUI-Img2PaintingAssistant"
15 | Icon = ""
16 |
--------------------------------------------------------------------------------
/.github/workflows/publish.yml:
--------------------------------------------------------------------------------
1 | name: Publish to Comfy registry
2 | on:
3 | workflow_dispatch:
4 | push:
5 | branches:
6 | - main
7 | - master
8 | paths:
9 | - "pyproject.toml"
10 |
11 | jobs:
12 | publish-node:
13 | name: Publish Custom Node to registry
14 | runs-on: ubuntu-latest
15 | # if this is a forked repository. Skipping the workflow.
16 | if: github.event.repository.fork == false
17 | steps:
18 | - name: Check out code
19 | uses: actions/checkout@v4
20 | - name: Publish Custom Node
21 | uses: Comfy-Org/publish-node-action@main
22 | with:
23 | ## Add your own personal access token to your Github Repository secrets and reference it here.
24 | personal_access_token: ${{ secrets.REGISTRY_ACCESS_TOKEN }}
25 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # ComfyUI-Img2PaintingAssitant
2 | These are ComfyUI nodes to assist in converting an image to paintings and to assist the Inspyrenet Rembg node to totally remove or replace with a color the original background from images so that the background does not reappear in videos or in nodes that do not provide handling for the alpha channel in images.
3 |
4 | ## Image Painting Assistant
5 |
6 | The `Image Painting Assistant` node can assist you in converting images to paintings and cartoon images. It can also be used to sharpen and lighten the input image.
7 |
8 |
9 |
10 |
11 |

12 |
13 |
14 |
15 | ## Inspyrenet Rembg Assistant
16 |
17 | The `Inspyrenet Rembg Assistant` node can be used to ensure that the original background of an image doesn't reappear when the image is inputed into comfyUI nodes that do not retain the alpha channel in images like the Video Combine custom node. It can also be used to create a green screen background and backgrounds with other colors.
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 | ## Installation
27 |
28 | You can install the nodes with the ComfyUI Manager by searching with the following title:
29 |
30 | ```
31 | Image to Painting and Inspyrenet Assistant Nodes
32 | ```
33 |
34 | ## Support
35 | If you find this project helpful, you can support me here:
36 | [](https://buymeacoffee.com/isiomo)
37 |
38 |
39 |
40 | ## Disclaimer
41 |
42 | I am not responsible for any user-generated content. Users are fully responsible for their actions when using these nodes. I don't have any legal affiliation with or accountability for users' behaviors. It is crucial to use these nodes responsibly, following both ethical and legal standards.
43 |
--------------------------------------------------------------------------------
/comfyWorkflows/img2Cartoon.json:
--------------------------------------------------------------------------------
1 | {
2 | "last_node_id": 61,
3 | "last_link_id": 143,
4 | "nodes": [
5 | {
6 | "id": 59,
7 | "type": "PreviewImage",
8 | "pos": [
9 | 870,
10 | 101
11 | ],
12 | "size": [
13 | 210,
14 | 246
15 | ],
16 | "flags": {},
17 | "order": 3,
18 | "mode": 0,
19 | "inputs": [
20 | {
21 | "name": "images",
22 | "type": "IMAGE",
23 | "link": 135
24 | }
25 | ],
26 | "properties": {
27 | "Node name for S&R": "PreviewImage"
28 | }
29 | },
30 | {
31 | "id": 61,
32 | "type": "Sketch_Assistant_grayScale",
33 | "pos": [
34 | 501,
35 | 373
36 | ],
37 | "size": {
38 | "0": 315,
39 | "1": 198
40 | },
41 | "flags": {},
42 | "order": 1,
43 | "mode": 0,
44 | "inputs": [
45 | {
46 | "name": "image",
47 | "type": "IMAGE",
48 | "link": 142
49 | }
50 | ],
51 | "outputs": [
52 | {
53 | "name": "sketch",
54 | "type": "IMAGE",
55 | "links": [
56 | 143
57 | ],
58 | "shape": 3,
59 | "slot_index": 0
60 | },
61 | {
62 | "name": "grayscale image",
63 | "type": "IMAGE",
64 | "links": null,
65 | "shape": 3
66 | }
67 | ],
68 | "properties": {
69 | "Node name for S&R": "Sketch_Assistant_grayScale"
70 | },
71 | "widgets_values": [
72 | 10,
73 | 21,
74 | 245,
75 | 2,
76 | 100,
77 | 1
78 | ]
79 | },
80 | {
81 | "id": 43,
82 | "type": "Painting",
83 | "pos": [
84 | 499,
85 | 99
86 | ],
87 | "size": {
88 | "0": 315,
89 | "1": 222
90 | },
91 | "flags": {},
92 | "order": 2,
93 | "mode": 0,
94 | "inputs": [
95 | {
96 | "name": "image",
97 | "type": "IMAGE",
98 | "link": 136
99 | },
100 | {
101 | "name": "lineArt",
102 | "type": "IMAGE",
103 | "link": 143
104 | }
105 | ],
106 | "outputs": [
107 | {
108 | "name": "painting",
109 | "type": "IMAGE",
110 | "links": [
111 | 135
112 | ],
113 | "slot_index": 0,
114 | "shape": 3
115 | },
116 | {
117 | "name": "sharpImage",
118 | "type": "IMAGE",
119 | "links": [],
120 | "slot_index": 1,
121 | "shape": 3
122 | }
123 | ],
124 | "properties": {
125 | "Node name for S&R": "Painting"
126 | },
127 | "widgets_values": [
128 | 21,
129 | 1,
130 | 7,
131 | 2.000000000000001,
132 | 0,
133 | 1,
134 | 1.3
135 | ]
136 | },
137 | {
138 | "id": 58,
139 | "type": "LoadImage",
140 | "pos": [
141 | 135,
142 | 98
143 | ],
144 | "size": [
145 | 315,
146 | 314.00000762939453
147 | ],
148 | "flags": {},
149 | "order": 0,
150 | "mode": 0,
151 | "outputs": [
152 | {
153 | "name": "IMAGE",
154 | "type": "IMAGE",
155 | "links": [
156 | 136,
157 | 142
158 | ],
159 | "shape": 3,
160 | "slot_index": 0
161 | },
162 | {
163 | "name": "MASK",
164 | "type": "MASK",
165 | "links": null,
166 | "shape": 3
167 | }
168 | ],
169 | "properties": {
170 | "Node name for S&R": "LoadImage"
171 | },
172 | "widgets_values": [
173 | "baby.png",
174 | "image"
175 | ]
176 | }
177 | ],
178 | "links": [
179 | [
180 | 135,
181 | 43,
182 | 0,
183 | 59,
184 | 0,
185 | "IMAGE"
186 | ],
187 | [
188 | 136,
189 | 58,
190 | 0,
191 | 43,
192 | 0,
193 | "IMAGE"
194 | ],
195 | [
196 | 142,
197 | 58,
198 | 0,
199 | 61,
200 | 0,
201 | "IMAGE"
202 | ],
203 | [
204 | 143,
205 | 61,
206 | 0,
207 | 43,
208 | 1,
209 | "IMAGE"
210 | ]
211 | ],
212 | "groups": [],
213 | "config": {},
214 | "extra": {
215 | "ds": {
216 | "scale": 1.9784466890014423,
217 | "offset": [
218 | 38.89930836716803,
219 | 7.440567995095705
220 | ]
221 | }
222 | },
223 | "version": 0.4
224 | }
--------------------------------------------------------------------------------
/comfyWorkflows/img2imgSharps.json:
--------------------------------------------------------------------------------
1 | {
2 | "last_node_id": 66,
3 | "last_link_id": 156,
4 | "nodes": [
5 | {
6 | "id": 59,
7 | "type": "PreviewImage",
8 | "pos": [
9 | 302,
10 | 157
11 | ],
12 | "size": [
13 | 240.8816383548167,
14 | 273.87339902283964
15 | ],
16 | "flags": {},
17 | "order": 2,
18 | "mode": 0,
19 | "inputs": [
20 | {
21 | "name": "images",
22 | "type": "IMAGE",
23 | "link": 154
24 | }
25 | ],
26 | "properties": {
27 | "Node name for S&R": "PreviewImage"
28 | }
29 | },
30 | {
31 | "id": 58,
32 | "type": "LoadImage",
33 | "pos": [
34 | 22,
35 | 91
36 | ],
37 | "size": [
38 | 276.38823879017264,
39 | 340.0470611705546
40 | ],
41 | "flags": {},
42 | "order": 0,
43 | "mode": 0,
44 | "outputs": [
45 | {
46 | "name": "IMAGE",
47 | "type": "IMAGE",
48 | "links": [
49 | 136
50 | ],
51 | "shape": 3,
52 | "slot_index": 0
53 | },
54 | {
55 | "name": "MASK",
56 | "type": "MASK",
57 | "links": null,
58 | "shape": 3
59 | }
60 | ],
61 | "properties": {
62 | "Node name for S&R": "LoadImage"
63 | },
64 | "widgets_values": [
65 | "image (9).png",
66 | "image"
67 | ]
68 | },
69 | {
70 | "id": 66,
71 | "type": "PreviewImage",
72 | "pos": [
73 | 551,
74 | 157
75 | ],
76 | "size": [
77 | 243.07163653052612,
78 | 272.165192361957
79 | ],
80 | "flags": {},
81 | "order": 4,
82 | "mode": 0,
83 | "inputs": [
84 | {
85 | "name": "images",
86 | "type": "IMAGE",
87 | "link": 156
88 | }
89 | ],
90 | "properties": {
91 | "Node name for S&R": "PreviewImage"
92 | }
93 | },
94 | {
95 | "id": 65,
96 | "type": "Painting",
97 | "pos": [
98 | 848,
99 | 415
100 | ],
101 | "size": {
102 | "0": 315,
103 | "1": 246
104 | },
105 | "flags": {},
106 | "order": 3,
107 | "mode": 0,
108 | "inputs": [
109 | {
110 | "name": "image",
111 | "type": "IMAGE",
112 | "link": 155
113 | },
114 | {
115 | "name": "lineArt",
116 | "type": "IMAGE",
117 | "link": null
118 | }
119 | ],
120 | "outputs": [
121 | {
122 | "name": "painting",
123 | "type": "IMAGE",
124 | "links": [],
125 | "slot_index": 0,
126 | "shape": 3
127 | },
128 | {
129 | "name": "sharpImage",
130 | "type": "IMAGE",
131 | "links": [
132 | 156
133 | ],
134 | "slot_index": 1,
135 | "shape": 3
136 | }
137 | ],
138 | "properties": {
139 | "Node name for S&R": "Painting"
140 | },
141 | "widgets_values": [
142 | 21,
143 | 1,
144 | 7,
145 | 1,
146 | 0,
147 | 1.1,
148 | 1.3,
149 | 1
150 | ]
151 | },
152 | {
153 | "id": 43,
154 | "type": "Painting",
155 | "pos": [
156 | 838,
157 | 109
158 | ],
159 | "size": {
160 | "0": 315,
161 | "1": 246
162 | },
163 | "flags": {},
164 | "order": 1,
165 | "mode": 0,
166 | "inputs": [
167 | {
168 | "name": "image",
169 | "type": "IMAGE",
170 | "link": 136
171 | },
172 | {
173 | "name": "lineArt",
174 | "type": "IMAGE",
175 | "link": null
176 | }
177 | ],
178 | "outputs": [
179 | {
180 | "name": "painting",
181 | "type": "IMAGE",
182 | "links": [],
183 | "slot_index": 0,
184 | "shape": 3
185 | },
186 | {
187 | "name": "sharpImage",
188 | "type": "IMAGE",
189 | "links": [
190 | 154,
191 | 155
192 | ],
193 | "slot_index": 1,
194 | "shape": 3
195 | }
196 | ],
197 | "properties": {
198 | "Node name for S&R": "Painting"
199 | },
200 | "widgets_values": [
201 | 21,
202 | 1,
203 | 7,
204 | 1,
205 | 0,
206 | 1.1,
207 | 1.3,
208 | 1
209 | ]
210 | }
211 | ],
212 | "links": [
213 | [
214 | 136,
215 | 58,
216 | 0,
217 | 43,
218 | 0,
219 | "IMAGE"
220 | ],
221 | [
222 | 154,
223 | 43,
224 | 1,
225 | 59,
226 | 0,
227 | "IMAGE"
228 | ],
229 | [
230 | 155,
231 | 43,
232 | 1,
233 | 65,
234 | 0,
235 | "IMAGE"
236 | ],
237 | [
238 | 156,
239 | 65,
240 | 1,
241 | 66,
242 | 0,
243 | "IMAGE"
244 | ]
245 | ],
246 | "groups": [],
247 | "config": {},
248 | "extra": {
249 | "ds": {
250 | "scale": 1.798587899092233,
251 | "offset": [
252 | 105.17183495484926,
253 | -18.485926946303692
254 | ]
255 | }
256 | },
257 | "version": 0.4
258 | }
--------------------------------------------------------------------------------
/comfyWorkflows/inspyrenet-rembg-basic-workflow.json:
--------------------------------------------------------------------------------
1 | {
2 | "last_node_id": 33,
3 | "last_link_id": 85,
4 | "nodes": [
5 | {
6 | "id": 30,
7 | "type": "SaveImage",
8 | "pos": [
9 | 1341.0395119585123,
10 | 49.0805990827805
11 | ],
12 | "size": {
13 | "0": 493.2388916015625,
14 | "1": 373.78704833984375
15 | },
16 | "flags": {},
17 | "order": 3,
18 | "mode": 0,
19 | "inputs": [
20 | {
21 | "name": "images",
22 | "type": "IMAGE",
23 | "link": 83
24 | }
25 | ],
26 | "properties": {},
27 | "widgets_values": [
28 | "aaa"
29 | ]
30 | },
31 | {
32 | "id": 31,
33 | "type": "MaskToImage",
34 | "pos": [
35 | 1099.0395119585123,
36 | 488.0805990827807
37 | ],
38 | "size": {
39 | "0": 210,
40 | "1": 26
41 | },
42 | "flags": {},
43 | "order": 4,
44 | "mode": 0,
45 | "inputs": [
46 | {
47 | "name": "mask",
48 | "type": "MASK",
49 | "link": 85
50 | }
51 | ],
52 | "outputs": [
53 | {
54 | "name": "IMAGE",
55 | "type": "IMAGE",
56 | "links": [
57 | 80
58 | ],
59 | "shape": 3,
60 | "slot_index": 0
61 | }
62 | ],
63 | "properties": {
64 | "Node name for S&R": "MaskToImage"
65 | }
66 | },
67 | {
68 | "id": 32,
69 | "type": "PreviewImage",
70 | "pos": [
71 | 1343.0395119585123,
72 | 526.0805990827807
73 | ],
74 | "size": {
75 | "0": 493.51800537109375,
76 | "1": 382.0192565917969
77 | },
78 | "flags": {},
79 | "order": 5,
80 | "mode": 0,
81 | "inputs": [
82 | {
83 | "name": "images",
84 | "type": "IMAGE",
85 | "link": 80
86 | }
87 | ],
88 | "properties": {
89 | "Node name for S&R": "PreviewImage"
90 | }
91 | },
92 | {
93 | "id": 3,
94 | "type": "LoadImage",
95 | "pos": [
96 | 53,
97 | 274
98 | ],
99 | "size": {
100 | "0": 589.18896484375,
101 | "1": 468.7266845703125
102 | },
103 | "flags": {},
104 | "order": 0,
105 | "mode": 0,
106 | "outputs": [
107 | {
108 | "name": "IMAGE",
109 | "type": "IMAGE",
110 | "links": [
111 | 77
112 | ],
113 | "shape": 3,
114 | "slot_index": 0
115 | },
116 | {
117 | "name": "MASK",
118 | "type": "MASK",
119 | "links": null,
120 | "shape": 3
121 | }
122 | ],
123 | "properties": {
124 | "Node name for S&R": "LoadImage"
125 | },
126 | "widgets_values": [
127 | "ComfyUI_00322_.png",
128 | "image"
129 | ]
130 | },
131 | {
132 | "id": 23,
133 | "type": "InspyrenetRembg",
134 | "pos": [
135 | 739.0395119585114,
136 | 279.0805990827804
137 | ],
138 | "size": {
139 | "0": 315,
140 | "1": 78
141 | },
142 | "flags": {},
143 | "order": 1,
144 | "mode": 0,
145 | "inputs": [
146 | {
147 | "name": "image",
148 | "type": "IMAGE",
149 | "link": 77
150 | }
151 | ],
152 | "outputs": [
153 | {
154 | "name": "IMAGE",
155 | "type": "IMAGE",
156 | "links": [
157 | 82
158 | ],
159 | "shape": 3,
160 | "slot_index": 0
161 | },
162 | {
163 | "name": "MASK",
164 | "type": "MASK",
165 | "links": [
166 | 84
167 | ],
168 | "shape": 3,
169 | "slot_index": 1
170 | }
171 | ],
172 | "properties": {
173 | "Node name for S&R": "InspyrenetRembg"
174 | },
175 | "widgets_values": [
176 | "default"
177 | ]
178 | },
179 | {
180 | "id": 33,
181 | "type": "ProcessInspyrenetRembg",
182 | "pos": [
183 | 737,
184 | 468
185 | ],
186 | "size": {
187 | "0": 315,
188 | "1": 102
189 | },
190 | "flags": {},
191 | "order": 2,
192 | "mode": 0,
193 | "inputs": [
194 | {
195 | "name": "image",
196 | "type": "IMAGE",
197 | "link": 82
198 | },
199 | {
200 | "name": "mask",
201 | "type": "MASK",
202 | "link": 84
203 | }
204 | ],
205 | "outputs": [
206 | {
207 | "name": "IMAGE",
208 | "type": "IMAGE",
209 | "links": [
210 | 83
211 | ],
212 | "shape": 3,
213 | "slot_index": 0
214 | },
215 | {
216 | "name": "MASK",
217 | "type": "MASK",
218 | "links": [
219 | 85
220 | ],
221 | "shape": 3,
222 | "slot_index": 1
223 | }
224 | ],
225 | "properties": {
226 | "Node name for S&R": "ProcessInspyrenetRembg"
227 | },
228 | "widgets_values": [
229 | false,
230 | "white"
231 | ]
232 | }
233 | ],
234 | "links": [
235 | [
236 | 77,
237 | 3,
238 | 0,
239 | 23,
240 | 0,
241 | "IMAGE"
242 | ],
243 | [
244 | 80,
245 | 31,
246 | 0,
247 | 32,
248 | 0,
249 | "IMAGE"
250 | ],
251 | [
252 | 82,
253 | 23,
254 | 0,
255 | 33,
256 | 0,
257 | "IMAGE"
258 | ],
259 | [
260 | 83,
261 | 33,
262 | 0,
263 | 30,
264 | 0,
265 | "IMAGE"
266 | ],
267 | [
268 | 84,
269 | 23,
270 | 1,
271 | 33,
272 | 1,
273 | "MASK"
274 | ],
275 | [
276 | 85,
277 | 33,
278 | 1,
279 | 31,
280 | 0,
281 | "MASK"
282 | ]
283 | ],
284 | "groups": [],
285 | "config": {},
286 | "extra": {
287 | "ds": {
288 | "scale": 0.8140274938683991,
289 | "offset": [
290 | 663.5374375481796,
291 | 261.4552078392346
292 | ]
293 | }
294 | },
295 | "version": 0.4
296 | }
--------------------------------------------------------------------------------
/comfyWorkflows/ImagePainter&ShapenerCartoonImgWorkflow.json:
--------------------------------------------------------------------------------
1 | {
2 | "last_node_id": 46,
3 | "last_link_id": 103,
4 | "nodes": [
5 | {
6 | "id": 44,
7 | "type": "LineArtPreprocessor",
8 | "pos": [
9 | 119,
10 | 693
11 | ],
12 | "size": {
13 | "0": 315,
14 | "1": 82
15 | },
16 | "flags": {},
17 | "order": 1,
18 | "mode": 0,
19 | "inputs": [
20 | {
21 | "name": "image",
22 | "type": "IMAGE",
23 | "link": 99
24 | }
25 | ],
26 | "outputs": [
27 | {
28 | "name": "IMAGE",
29 | "type": "IMAGE",
30 | "links": [
31 | 101
32 | ],
33 | "shape": 3,
34 | "slot_index": 0
35 | }
36 | ],
37 | "properties": {
38 | "Node name for S&R": "LineArtPreprocessor"
39 | },
40 | "widgets_values": [
41 | "disable",
42 | 512
43 | ]
44 | },
45 | {
46 | "id": 36,
47 | "type": "PreviewImage",
48 | "pos": [
49 | 851,
50 | 267
51 | ],
52 | "size": {
53 | "0": 307.0596923828125,
54 | "1": 284.7433776855469
55 | },
56 | "flags": {},
57 | "order": 5,
58 | "mode": 0,
59 | "inputs": [
60 | {
61 | "name": "images",
62 | "type": "IMAGE",
63 | "link": 95
64 | }
65 | ],
66 | "properties": {
67 | "Node name for S&R": "PreviewImage"
68 | }
69 | },
70 | {
71 | "id": 46,
72 | "type": "PreviewImage",
73 | "pos": [
74 | 853,
75 | 599
76 | ],
77 | "size": [
78 | 307.8278627293007,
79 | 288.8389425173008
80 | ],
81 | "flags": {},
82 | "order": 4,
83 | "mode": 0,
84 | "inputs": [
85 | {
86 | "name": "images",
87 | "type": "IMAGE",
88 | "link": 103
89 | }
90 | ],
91 | "properties": {
92 | "Node name for S&R": "PreviewImage"
93 | }
94 | },
95 | {
96 | "id": 37,
97 | "type": "LoadImage",
98 | "pos": [
99 | 97,
100 | 267
101 | ],
102 | "size": {
103 | "0": 340.23187255859375,
104 | "1": 333.410888671875
105 | },
106 | "flags": {},
107 | "order": 0,
108 | "mode": 0,
109 | "outputs": [
110 | {
111 | "name": "IMAGE",
112 | "type": "IMAGE",
113 | "links": [
114 | 94,
115 | 99
116 | ],
117 | "slot_index": 0,
118 | "shape": 3
119 | },
120 | {
121 | "name": "MASK",
122 | "type": "MASK",
123 | "links": null,
124 | "shape": 3
125 | }
126 | ],
127 | "properties": {
128 | "Node name for S&R": "LoadImage"
129 | },
130 | "widgets_values": [
131 | "bindi-2416039__480.jpg",
132 | "image"
133 | ]
134 | },
135 | {
136 | "id": 43,
137 | "type": "Painting",
138 | "pos": [
139 | 472,
140 | 267
141 | ],
142 | "size": {
143 | "0": 315,
144 | "1": 222
145 | },
146 | "flags": {},
147 | "order": 3,
148 | "mode": 0,
149 | "inputs": [
150 | {
151 | "name": "image",
152 | "type": "IMAGE",
153 | "link": 94
154 | },
155 | {
156 | "name": "lineArt",
157 | "type": "IMAGE",
158 | "link": 102
159 | }
160 | ],
161 | "outputs": [
162 | {
163 | "name": "painting",
164 | "type": "IMAGE",
165 | "links": [
166 | 95
167 | ],
168 | "slot_index": 0,
169 | "shape": 3
170 | },
171 | {
172 | "name": "sharpImage",
173 | "type": "IMAGE",
174 | "links": [],
175 | "slot_index": 1,
176 | "shape": 3
177 | }
178 | ],
179 | "properties": {
180 | "Node name for S&R": "Painting"
181 | },
182 | "widgets_values": [
183 | 21,
184 | 1,
185 | 7,
186 | 2,
187 | 0,
188 | 1,
189 | 1.3
190 | ]
191 | },
192 | {
193 | "id": 45,
194 | "type": "LineArt_Assistant_2",
195 | "pos": [
196 | 476,
197 | 599
198 | ],
199 | "size": {
200 | "0": 315,
201 | "1": 246
202 | },
203 | "flags": {},
204 | "order": 2,
205 | "mode": 0,
206 | "inputs": [
207 | {
208 | "name": "lineArt",
209 | "type": "IMAGE",
210 | "link": 101
211 | }
212 | ],
213 | "outputs": [
214 | {
215 | "name": "lineArt",
216 | "type": "IMAGE",
217 | "links": [
218 | 102,
219 | 103
220 | ],
221 | "shape": 3,
222 | "slot_index": 0
223 | },
224 | {
225 | "name": "default",
226 | "type": "IMAGE",
227 | "links": null,
228 | "shape": 3
229 | }
230 | ],
231 | "properties": {
232 | "Node name for S&R": "LineArt_Assistant_2"
233 | },
234 | "widgets_values": [
235 | 240,
236 | 0,
237 | "black",
238 | 10,
239 | "white",
240 | 10,
241 | true,
242 | true
243 | ]
244 | }
245 | ],
246 | "links": [
247 | [
248 | 94,
249 | 37,
250 | 0,
251 | 43,
252 | 0,
253 | "IMAGE"
254 | ],
255 | [
256 | 95,
257 | 43,
258 | 0,
259 | 36,
260 | 0,
261 | "IMAGE"
262 | ],
263 | [
264 | 99,
265 | 37,
266 | 0,
267 | 44,
268 | 0,
269 | "IMAGE"
270 | ],
271 | [
272 | 101,
273 | 44,
274 | 0,
275 | 45,
276 | 0,
277 | "IMAGE"
278 | ],
279 | [
280 | 102,
281 | 45,
282 | 0,
283 | 43,
284 | 1,
285 | "IMAGE"
286 | ],
287 | [
288 | 103,
289 | 45,
290 | 0,
291 | 46,
292 | 0,
293 | "IMAGE"
294 | ]
295 | ],
296 | "groups": [],
297 | "config": {},
298 | "extra": {
299 | "ds": {
300 | "scale": 1.1167815779424914,
301 | "offset": [
302 | 207.7390065069961,
303 | -150.61605606961785
304 | ]
305 | }
306 | },
307 | "version": 0.4
308 | }
--------------------------------------------------------------------------------
/comfyWorkflows/img2PaintingDrawingCartoonSharpened.json:
--------------------------------------------------------------------------------
1 | {
2 | "last_node_id": 57,
3 | "last_link_id": 143,
4 | "nodes": [
5 | {
6 | "id": 51,
7 | "type": "PreviewImage",
8 | "pos": [
9 | 1163,
10 | 106
11 | ],
12 | "size": {
13 | "0": 307.0596923828125,
14 | "1": 284.7433776855469
15 | },
16 | "flags": {},
17 | "order": 7,
18 | "mode": 0,
19 | "inputs": [
20 | {
21 | "name": "images",
22 | "type": "IMAGE",
23 | "link": 119
24 | }
25 | ],
26 | "properties": {
27 | "Node name for S&R": "PreviewImage"
28 | }
29 | },
30 | {
31 | "id": 46,
32 | "type": "PreviewImage",
33 | "pos": [
34 | 835,
35 | 454
36 | ],
37 | "size": {
38 | "0": 307.8278503417969,
39 | "1": 288.83892822265625
40 | },
41 | "flags": {},
42 | "order": 6,
43 | "mode": 0,
44 | "inputs": [
45 | {
46 | "name": "images",
47 | "type": "IMAGE",
48 | "link": 139
49 | }
50 | ],
51 | "properties": {
52 | "Node name for S&R": "PreviewImage"
53 | }
54 | },
55 | {
56 | "id": 36,
57 | "type": "PreviewImage",
58 | "pos": [
59 | 827,
60 | 104
61 | ],
62 | "size": {
63 | "0": 307.0596923828125,
64 | "1": 284.7433776855469
65 | },
66 | "flags": {},
67 | "order": 3,
68 | "mode": 0,
69 | "inputs": [
70 | {
71 | "name": "images",
72 | "type": "IMAGE",
73 | "link": 111
74 | }
75 | ],
76 | "properties": {
77 | "Node name for S&R": "PreviewImage"
78 | }
79 | },
80 | {
81 | "id": 50,
82 | "type": "Painting",
83 | "pos": [
84 | 476,
85 | 478
86 | ],
87 | "size": {
88 | "0": 315,
89 | "1": 246
90 | },
91 | "flags": {},
92 | "order": 5,
93 | "mode": 0,
94 | "inputs": [
95 | {
96 | "name": "image",
97 | "type": "IMAGE",
98 | "link": 113
99 | },
100 | {
101 | "name": "lineArt",
102 | "type": "IMAGE",
103 | "link": 138
104 | }
105 | ],
106 | "outputs": [
107 | {
108 | "name": "painting",
109 | "type": "IMAGE",
110 | "links": [
111 | 119
112 | ],
113 | "slot_index": 0,
114 | "shape": 3
115 | },
116 | {
117 | "name": "sharpImage",
118 | "type": "IMAGE",
119 | "links": [],
120 | "slot_index": 1,
121 | "shape": 3
122 | }
123 | ],
124 | "properties": {
125 | "Node name for S&R": "Painting"
126 | },
127 | "widgets_values": [
128 | 26,
129 | 1,
130 | 7,
131 | 2,
132 | 0,
133 | 1.1,
134 | 1.4000000000000001,
135 | 1
136 | ]
137 | },
138 | {
139 | "id": 37,
140 | "type": "LoadImage",
141 | "pos": [
142 | 97,
143 | 101
144 | ],
145 | "size": {
146 | "0": 354.43243408203125,
147 | "1": 347.2381591796875
148 | },
149 | "flags": {},
150 | "order": 0,
151 | "mode": 0,
152 | "outputs": [
153 | {
154 | "name": "IMAGE",
155 | "type": "IMAGE",
156 | "links": [
157 | 110,
158 | 113,
159 | 143
160 | ],
161 | "slot_index": 0,
162 | "shape": 3
163 | },
164 | {
165 | "name": "MASK",
166 | "type": "MASK",
167 | "links": null,
168 | "shape": 3
169 | }
170 | ],
171 | "properties": {
172 | "Node name for S&R": "LoadImage"
173 | },
174 | "widgets_values": [
175 | "ComfyUI_00332_.png",
176 | "image"
177 | ]
178 | },
179 | {
180 | "id": 48,
181 | "type": "PreviewImage",
182 | "pos": [
183 | 1164,
184 | 449
185 | ],
186 | "size": {
187 | "0": 314.92449951171875,
188 | "1": 288.59783935546875
189 | },
190 | "flags": {},
191 | "order": 4,
192 | "mode": 0,
193 | "inputs": [
194 | {
195 | "name": "images",
196 | "type": "IMAGE",
197 | "link": 117
198 | }
199 | ],
200 | "properties": {
201 | "Node name for S&R": "PreviewImage"
202 | }
203 | },
204 | {
205 | "id": 49,
206 | "type": "Painting",
207 | "pos": [
208 | 482,
209 | 105
210 | ],
211 | "size": {
212 | "0": 315,
213 | "1": 246
214 | },
215 | "flags": {},
216 | "order": 1,
217 | "mode": 0,
218 | "inputs": [
219 | {
220 | "name": "image",
221 | "type": "IMAGE",
222 | "link": 110
223 | },
224 | {
225 | "name": "lineArt",
226 | "type": "IMAGE",
227 | "link": null
228 | }
229 | ],
230 | "outputs": [
231 | {
232 | "name": "painting",
233 | "type": "IMAGE",
234 | "links": [
235 | 111
236 | ],
237 | "slot_index": 0,
238 | "shape": 3
239 | },
240 | {
241 | "name": "sharpImage",
242 | "type": "IMAGE",
243 | "links": [
244 | 117
245 | ],
246 | "slot_index": 1,
247 | "shape": 3
248 | }
249 | ],
250 | "properties": {
251 | "Node name for S&R": "Painting"
252 | },
253 | "widgets_values": [
254 | 21.3333740234375,
255 | 1,
256 | 7,
257 | 1,
258 | 0,
259 | 1.1,
260 | 1.5000000000000002,
261 | 1
262 | ]
263 | },
264 | {
265 | "id": 57,
266 | "type": "Sketch_Assistant_grayScale",
267 | "pos": [
268 | 122,
269 | 515
270 | ],
271 | "size": {
272 | "0": 315,
273 | "1": 198
274 | },
275 | "flags": {},
276 | "order": 2,
277 | "mode": 0,
278 | "inputs": [
279 | {
280 | "name": "image",
281 | "type": "IMAGE",
282 | "link": 143
283 | }
284 | ],
285 | "outputs": [
286 | {
287 | "name": "sketch",
288 | "type": "IMAGE",
289 | "links": [
290 | 138,
291 | 139
292 | ],
293 | "shape": 3,
294 | "slot_index": 0
295 | },
296 | {
297 | "name": "grayscale image",
298 | "type": "IMAGE",
299 | "links": null,
300 | "shape": 3
301 | }
302 | ],
303 | "properties": {
304 | "Node name for S&R": "Sketch_Assistant_grayScale"
305 | },
306 | "widgets_values": [
307 | 10,
308 | 25,
309 | 240,
310 | 2,
311 | 100,
312 | 1
313 | ]
314 | }
315 | ],
316 | "links": [
317 | [
318 | 110,
319 | 37,
320 | 0,
321 | 49,
322 | 0,
323 | "IMAGE"
324 | ],
325 | [
326 | 111,
327 | 49,
328 | 0,
329 | 36,
330 | 0,
331 | "IMAGE"
332 | ],
333 | [
334 | 113,
335 | 37,
336 | 0,
337 | 50,
338 | 0,
339 | "IMAGE"
340 | ],
341 | [
342 | 117,
343 | 49,
344 | 1,
345 | 48,
346 | 0,
347 | "IMAGE"
348 | ],
349 | [
350 | 119,
351 | 50,
352 | 0,
353 | 51,
354 | 0,
355 | "IMAGE"
356 | ],
357 | [
358 | 138,
359 | 57,
360 | 0,
361 | 50,
362 | 1,
363 | "IMAGE"
364 | ],
365 | [
366 | 139,
367 | 57,
368 | 0,
369 | 46,
370 | 0,
371 | "IMAGE"
372 | ],
373 | [
374 | 143,
375 | 37,
376 | 0,
377 | 57,
378 | 0,
379 | "IMAGE"
380 | ]
381 | ],
382 | "groups": [],
383 | "config": {},
384 | "extra": {
385 | "ds": {
386 | "scale": 1.6105100000000154,
387 | "offset": [
388 | -37.025603722675164,
389 | -30.875451026604647
390 | ]
391 | }
392 | },
393 | "version": 0.4
394 | }
--------------------------------------------------------------------------------
/comfyWorkflows/img2paintingVid.json:
--------------------------------------------------------------------------------
1 | {
2 | "last_node_id": 56,
3 | "last_link_id": 134,
4 | "nodes": [
5 | {
6 | "id": 43,
7 | "type": "Painting",
8 | "pos": [
9 | 499,
10 | 99
11 | ],
12 | "size": {
13 | "0": 315,
14 | "1": 222
15 | },
16 | "flags": {},
17 | "order": 3,
18 | "mode": 0,
19 | "inputs": [
20 | {
21 | "name": "image",
22 | "type": "IMAGE",
23 | "link": 123
24 | },
25 | {
26 | "name": "lineArt",
27 | "type": "IMAGE",
28 | "link": 134
29 | }
30 | ],
31 | "outputs": [
32 | {
33 | "name": "painting",
34 | "type": "IMAGE",
35 | "links": [
36 | 133
37 | ],
38 | "slot_index": 0,
39 | "shape": 3
40 | },
41 | {
42 | "name": "sharpImage",
43 | "type": "IMAGE",
44 | "links": [],
45 | "slot_index": 1,
46 | "shape": 3
47 | }
48 | ],
49 | "properties": {
50 | "Node name for S&R": "Painting"
51 | },
52 | "widgets_values": [
53 | 21,
54 | 3,
55 | 7,
56 | 1,
57 | 0,
58 | 1,
59 | 1.3
60 | ]
61 | },
62 | {
63 | "id": 55,
64 | "type": "Sketch_Assistant_grayScale",
65 | "pos": [
66 | 507,
67 | 408
68 | ],
69 | "size": {
70 | "0": 315,
71 | "1": 198
72 | },
73 | "flags": {},
74 | "order": 1,
75 | "mode": 0,
76 | "inputs": [
77 | {
78 | "name": "image",
79 | "type": "IMAGE",
80 | "link": 130
81 | }
82 | ],
83 | "outputs": [
84 | {
85 | "name": "sketch",
86 | "type": "IMAGE",
87 | "links": [
88 | 132,
89 | 134
90 | ],
91 | "shape": 3,
92 | "slot_index": 0
93 | },
94 | {
95 | "name": "grayscale image",
96 | "type": "IMAGE",
97 | "links": null,
98 | "shape": 3
99 | }
100 | ],
101 | "properties": {
102 | "Node name for S&R": "Sketch_Assistant_grayScale"
103 | },
104 | "widgets_values": [
105 | 10,
106 | 41,
107 | 240,
108 | 2,
109 | 100,
110 | 1
111 | ]
112 | },
113 | {
114 | "id": 47,
115 | "type": "VHS_LoadVideo",
116 | "pos": [
117 | 164,
118 | 98
119 | ],
120 | "size": [
121 | 247.455078125,
122 | 617.1826171875
123 | ],
124 | "flags": {},
125 | "order": 0,
126 | "mode": 0,
127 | "inputs": [
128 | {
129 | "name": "meta_batch",
130 | "type": "VHS_BatchManager",
131 | "link": null
132 | },
133 | {
134 | "name": "vae",
135 | "type": "VAE",
136 | "link": null
137 | }
138 | ],
139 | "outputs": [
140 | {
141 | "name": "IMAGE",
142 | "type": "IMAGE",
143 | "links": [
144 | 123,
145 | 130
146 | ],
147 | "slot_index": 0,
148 | "shape": 3
149 | },
150 | {
151 | "name": "frame_count",
152 | "type": "INT",
153 | "links": null,
154 | "shape": 3
155 | },
156 | {
157 | "name": "audio",
158 | "type": "AUDIO",
159 | "links": null,
160 | "shape": 3
161 | },
162 | {
163 | "name": "video_info",
164 | "type": "VHS_VIDEOINFO",
165 | "links": null,
166 | "shape": 3
167 | }
168 | ],
169 | "properties": {
170 | "Node name for S&R": "VHS_LoadVideo"
171 | },
172 | "widgets_values": {
173 | "video": "6vid.mp4",
174 | "force_rate": 0,
175 | "force_size": "Disabled",
176 | "custom_width": 512,
177 | "custom_height": 512,
178 | "frame_load_cap": 0,
179 | "skip_first_frames": 0,
180 | "select_every_nth": 2,
181 | "choose video to upload": "image",
182 | "videopreview": {
183 | "hidden": false,
184 | "paused": false,
185 | "params": {
186 | "frame_load_cap": 0,
187 | "skip_first_frames": 0,
188 | "force_rate": 0,
189 | "filename": "6vid.mp4",
190 | "type": "input",
191 | "format": "video/mp4",
192 | "select_every_nth": 2
193 | },
194 | "muted": false
195 | }
196 | }
197 | },
198 | {
199 | "id": 48,
200 | "type": "VHS_VideoCombine",
201 | "pos": [
202 | 901,
203 | 115
204 | ],
205 | "size": [
206 | 298.2245788574219,
207 | 741.3368682861328
208 | ],
209 | "flags": {},
210 | "order": 4,
211 | "mode": 0,
212 | "inputs": [
213 | {
214 | "name": "images",
215 | "type": "IMAGE",
216 | "link": 133
217 | },
218 | {
219 | "name": "audio",
220 | "type": "AUDIO",
221 | "link": null
222 | },
223 | {
224 | "name": "meta_batch",
225 | "type": "VHS_BatchManager",
226 | "link": null
227 | },
228 | {
229 | "name": "vae",
230 | "type": "VAE",
231 | "link": null
232 | }
233 | ],
234 | "outputs": [
235 | {
236 | "name": "Filenames",
237 | "type": "VHS_FILENAMES",
238 | "links": null,
239 | "shape": 3
240 | }
241 | ],
242 | "properties": {
243 | "Node name for S&R": "VHS_VideoCombine"
244 | },
245 | "widgets_values": {
246 | "frame_rate": 8,
247 | "loop_count": 0,
248 | "filename_prefix": "AnimateDiff",
249 | "format": "video/h264-mp4",
250 | "pix_fmt": "yuv420p",
251 | "crf": 19,
252 | "save_metadata": true,
253 | "pingpong": false,
254 | "save_output": false,
255 | "videopreview": {
256 | "hidden": false,
257 | "paused": false,
258 | "params": {
259 | "filename": "AnimateDiff_00029.mp4",
260 | "subfolder": "",
261 | "type": "temp",
262 | "format": "video/h264-mp4",
263 | "frame_rate": 15
264 | },
265 | "muted": false
266 | }
267 | }
268 | },
269 | {
270 | "id": 56,
271 | "type": "VHS_VideoCombine",
272 | "pos": [
273 | 1231,
274 | 114
275 | ],
276 | "size": [
277 | 298.2245788574219,
278 | 741.3368682861328
279 | ],
280 | "flags": {},
281 | "order": 2,
282 | "mode": 0,
283 | "inputs": [
284 | {
285 | "name": "images",
286 | "type": "IMAGE",
287 | "link": 132
288 | },
289 | {
290 | "name": "audio",
291 | "type": "AUDIO",
292 | "link": null
293 | },
294 | {
295 | "name": "meta_batch",
296 | "type": "VHS_BatchManager",
297 | "link": null
298 | },
299 | {
300 | "name": "vae",
301 | "type": "VAE",
302 | "link": null
303 | }
304 | ],
305 | "outputs": [
306 | {
307 | "name": "Filenames",
308 | "type": "VHS_FILENAMES",
309 | "links": null,
310 | "shape": 3
311 | }
312 | ],
313 | "properties": {
314 | "Node name for S&R": "VHS_VideoCombine"
315 | },
316 | "widgets_values": {
317 | "frame_rate": 8,
318 | "loop_count": 0,
319 | "filename_prefix": "AnimateDiff",
320 | "format": "video/h264-mp4",
321 | "pix_fmt": "yuv420p",
322 | "crf": 19,
323 | "save_metadata": true,
324 | "pingpong": false,
325 | "save_output": false,
326 | "videopreview": {
327 | "hidden": false,
328 | "paused": false,
329 | "params": {
330 | "filename": "AnimateDiff_00030.mp4",
331 | "subfolder": "",
332 | "type": "temp",
333 | "format": "video/h264-mp4",
334 | "frame_rate": 15
335 | },
336 | "muted": false
337 | }
338 | }
339 | }
340 | ],
341 | "links": [
342 | [
343 | 123,
344 | 47,
345 | 0,
346 | 43,
347 | 0,
348 | "IMAGE"
349 | ],
350 | [
351 | 130,
352 | 47,
353 | 0,
354 | 55,
355 | 0,
356 | "IMAGE"
357 | ],
358 | [
359 | 132,
360 | 55,
361 | 0,
362 | 56,
363 | 0,
364 | "IMAGE"
365 | ],
366 | [
367 | 133,
368 | 43,
369 | 0,
370 | 48,
371 | 0,
372 | "IMAGE"
373 | ],
374 | [
375 | 134,
376 | 55,
377 | 0,
378 | 43,
379 | 1,
380 | "IMAGE"
381 | ]
382 | ],
383 | "groups": [],
384 | "config": {},
385 | "extra": {
386 | "ds": {
387 | "scale": 1.228459735736752,
388 | "offset": [
389 | 329.79595404555823,
390 | 31.516697609589457
391 | ]
392 | }
393 | },
394 | "version": 0.4
395 | }
--------------------------------------------------------------------------------
/comfyWorkflows/ImagePainter&ShapenerCartoonVidWorkflow.json:
--------------------------------------------------------------------------------
1 | {
2 | "last_node_id": 50,
3 | "last_link_id": 114,
4 | "nodes": [
5 | {
6 | "id": 43,
7 | "type": "Painting",
8 | "pos": [
9 | 499,
10 | 99
11 | ],
12 | "size": {
13 | "0": 315,
14 | "1": 222
15 | },
16 | "flags": {},
17 | "order": 2,
18 | "mode": 0,
19 | "inputs": [
20 | {
21 | "name": "image",
22 | "type": "IMAGE",
23 | "link": 106
24 | },
25 | {
26 | "name": "lineArt",
27 | "type": "IMAGE",
28 | "link": 112
29 | }
30 | ],
31 | "outputs": [
32 | {
33 | "name": "painting",
34 | "type": "IMAGE",
35 | "links": [
36 | 104
37 | ],
38 | "slot_index": 0,
39 | "shape": 3
40 | },
41 | {
42 | "name": "sharpImage",
43 | "type": "IMAGE",
44 | "links": [],
45 | "slot_index": 1,
46 | "shape": 3
47 | }
48 | ],
49 | "properties": {
50 | "Node name for S&R": "Painting"
51 | },
52 | "widgets_values": [
53 | 21,
54 | 1,
55 | 7,
56 | 2,
57 | 0,
58 | 1,
59 | 1.3
60 | ]
61 | },
62 | {
63 | "id": 48,
64 | "type": "VHS_VideoCombine",
65 | "pos": [
66 | 874,
67 | 59
68 | ],
69 | "size": [
70 | 298.22457788213705,
71 | 814.9845492037713
72 | ],
73 | "flags": {},
74 | "order": 4,
75 | "mode": 0,
76 | "inputs": [
77 | {
78 | "name": "images",
79 | "type": "IMAGE",
80 | "link": 104
81 | },
82 | {
83 | "name": "audio",
84 | "type": "AUDIO",
85 | "link": null
86 | },
87 | {
88 | "name": "meta_batch",
89 | "type": "VHS_BatchManager",
90 | "link": null
91 | },
92 | {
93 | "name": "vae",
94 | "type": "VAE",
95 | "link": null
96 | }
97 | ],
98 | "outputs": [
99 | {
100 | "name": "Filenames",
101 | "type": "VHS_FILENAMES",
102 | "links": null,
103 | "shape": 3
104 | }
105 | ],
106 | "properties": {
107 | "Node name for S&R": "VHS_VideoCombine"
108 | },
109 | "widgets_values": {
110 | "frame_rate": 15,
111 | "loop_count": 0,
112 | "filename_prefix": "AnimateDiff",
113 | "format": "video/h264-mp4",
114 | "pix_fmt": "yuv420p",
115 | "crf": 19,
116 | "save_metadata": true,
117 | "pingpong": false,
118 | "save_output": false,
119 | "videopreview": {
120 | "hidden": false,
121 | "paused": false,
122 | "params": {
123 | "filename": "AnimateDiff_00018.mp4",
124 | "subfolder": "",
125 | "type": "temp",
126 | "format": "video/h264-mp4",
127 | "frame_rate": 15
128 | },
129 | "muted": false
130 | }
131 | }
132 | },
133 | {
134 | "id": 49,
135 | "type": "VHS_VideoCombine",
136 | "pos": [
137 | 1222,
138 | 63
139 | ],
140 | "size": [
141 | 295.002126454533,
142 | 809.2978702138819
143 | ],
144 | "flags": {},
145 | "order": 3,
146 | "mode": 0,
147 | "inputs": [
148 | {
149 | "name": "images",
150 | "type": "IMAGE",
151 | "link": 113
152 | },
153 | {
154 | "name": "audio",
155 | "type": "AUDIO",
156 | "link": null
157 | },
158 | {
159 | "name": "meta_batch",
160 | "type": "VHS_BatchManager",
161 | "link": null
162 | },
163 | {
164 | "name": "vae",
165 | "type": "VAE",
166 | "link": null
167 | }
168 | ],
169 | "outputs": [
170 | {
171 | "name": "Filenames",
172 | "type": "VHS_FILENAMES",
173 | "links": null,
174 | "shape": 3
175 | }
176 | ],
177 | "properties": {
178 | "Node name for S&R": "VHS_VideoCombine"
179 | },
180 | "widgets_values": {
181 | "frame_rate": 15,
182 | "loop_count": 0,
183 | "filename_prefix": "AnimateDiff",
184 | "format": "video/h264-mp4",
185 | "pix_fmt": "yuv420p",
186 | "crf": 19,
187 | "save_metadata": true,
188 | "pingpong": false,
189 | "save_output": false,
190 | "videopreview": {
191 | "hidden": false,
192 | "paused": false,
193 | "params": {
194 | "filename": "AnimateDiff_00017.mp4",
195 | "subfolder": "",
196 | "type": "temp",
197 | "format": "video/h264-mp4",
198 | "frame_rate": 15
199 | },
200 | "muted": false
201 | }
202 | }
203 | },
204 | {
205 | "id": 50,
206 | "type": "Sketch_Assistant_grayScale",
207 | "pos": [
208 | 494,
209 | 506
210 | ],
211 | "size": {
212 | "0": 315,
213 | "1": 198
214 | },
215 | "flags": {},
216 | "order": 1,
217 | "mode": 0,
218 | "inputs": [
219 | {
220 | "name": "image",
221 | "type": "IMAGE",
222 | "link": 114
223 | }
224 | ],
225 | "outputs": [
226 | {
227 | "name": "sketch",
228 | "type": "IMAGE",
229 | "links": [
230 | 112,
231 | 113
232 | ],
233 | "shape": 3,
234 | "slot_index": 0
235 | },
236 | {
237 | "name": "grayscale image",
238 | "type": "IMAGE",
239 | "links": null,
240 | "shape": 3
241 | }
242 | ],
243 | "properties": {
244 | "Node name for S&R": "Sketch_Assistant_grayScale"
245 | },
246 | "widgets_values": [
247 | 10,
248 | 25,
249 | 235,
250 | 2,
251 | 100,
252 | 1
253 | ]
254 | },
255 | {
256 | "id": 47,
257 | "type": "VHS_LoadVideo",
258 | "pos": [
259 | 162,
260 | 51
261 | ],
262 | "size": [
263 | 247.455078125,
264 | 680.3645833333333
265 | ],
266 | "flags": {},
267 | "order": 0,
268 | "mode": 0,
269 | "inputs": [
270 | {
271 | "name": "meta_batch",
272 | "type": "VHS_BatchManager",
273 | "link": null
274 | },
275 | {
276 | "name": "vae",
277 | "type": "VAE",
278 | "link": null
279 | }
280 | ],
281 | "outputs": [
282 | {
283 | "name": "IMAGE",
284 | "type": "IMAGE",
285 | "links": [
286 | 106,
287 | 114
288 | ],
289 | "slot_index": 0,
290 | "shape": 3
291 | },
292 | {
293 | "name": "frame_count",
294 | "type": "INT",
295 | "links": null,
296 | "shape": 3
297 | },
298 | {
299 | "name": "audio",
300 | "type": "AUDIO",
301 | "links": null,
302 | "shape": 3
303 | },
304 | {
305 | "name": "video_info",
306 | "type": "VHS_VIDEOINFO",
307 | "links": null,
308 | "shape": 3
309 | }
310 | ],
311 | "properties": {
312 | "Node name for S&R": "VHS_LoadVideo"
313 | },
314 | "widgets_values": {
315 | "video": "0001-0064.mp4",
316 | "force_rate": 0,
317 | "force_size": "Disabled",
318 | "custom_width": 512,
319 | "custom_height": 512,
320 | "frame_load_cap": 0,
321 | "skip_first_frames": 0,
322 | "select_every_nth": 2,
323 | "choose video to upload": "image",
324 | "videopreview": {
325 | "hidden": false,
326 | "paused": false,
327 | "params": {
328 | "frame_load_cap": 0,
329 | "skip_first_frames": 0,
330 | "force_rate": 0,
331 | "filename": "0001-0064.mp4",
332 | "type": "input",
333 | "format": "video/mp4",
334 | "select_every_nth": 2
335 | },
336 | "muted": false
337 | }
338 | }
339 | }
340 | ],
341 | "links": [
342 | [
343 | 104,
344 | 43,
345 | 0,
346 | 48,
347 | 0,
348 | "IMAGE"
349 | ],
350 | [
351 | 106,
352 | 47,
353 | 0,
354 | 43,
355 | 0,
356 | "IMAGE"
357 | ],
358 | [
359 | 112,
360 | 50,
361 | 0,
362 | 43,
363 | 1,
364 | "IMAGE"
365 | ],
366 | [
367 | 113,
368 | 50,
369 | 0,
370 | 49,
371 | 0,
372 | "IMAGE"
373 | ],
374 | [
375 | 114,
376 | 47,
377 | 0,
378 | 50,
379 | 0,
380 | "IMAGE"
381 | ]
382 | ],
383 | "groups": [],
384 | "config": {},
385 | "extra": {
386 | "ds": {
387 | "scale": 0.9229599817706623,
388 | "offset": [
389 | 212.0365273219479,
390 | 62.78906395415521
391 | ]
392 | }
393 | },
394 | "version": 0.4
395 | }
--------------------------------------------------------------------------------
/comfyWorkflows/vid2vidSharps.json:
--------------------------------------------------------------------------------
1 | {
2 | "last_node_id": 58,
3 | "last_link_id": 139,
4 | "nodes": [
5 | {
6 | "id": 57,
7 | "type": "Painting",
8 | "pos": [
9 | 1050,
10 | 102
11 | ],
12 | "size": {
13 | "0": 315,
14 | "1": 246
15 | },
16 | "flags": {},
17 | "order": 2,
18 | "mode": 0,
19 | "inputs": [
20 | {
21 | "name": "image",
22 | "type": "IMAGE",
23 | "link": 137
24 | },
25 | {
26 | "name": "lineArt",
27 | "type": "IMAGE",
28 | "link": null
29 | }
30 | ],
31 | "outputs": [
32 | {
33 | "name": "painting",
34 | "type": "IMAGE",
35 | "links": [],
36 | "slot_index": 0,
37 | "shape": 3
38 | },
39 | {
40 | "name": "sharpImage",
41 | "type": "IMAGE",
42 | "links": [
43 | 138
44 | ],
45 | "slot_index": 1,
46 | "shape": 3
47 | }
48 | ],
49 | "properties": {
50 | "Node name for S&R": "Painting"
51 | },
52 | "widgets_values": [
53 | 21,
54 | 3,
55 | 7,
56 | 1,
57 | 0,
58 | 1.1,
59 | 1.4000000000000001,
60 | 1
61 | ]
62 | },
63 | {
64 | "id": 43,
65 | "type": "Painting",
66 | "pos": [
67 | 714,
68 | 104
69 | ],
70 | "size": {
71 | "0": 315,
72 | "1": 246
73 | },
74 | "flags": {},
75 | "order": 1,
76 | "mode": 0,
77 | "inputs": [
78 | {
79 | "name": "image",
80 | "type": "IMAGE",
81 | "link": 123
82 | },
83 | {
84 | "name": "lineArt",
85 | "type": "IMAGE",
86 | "link": null
87 | }
88 | ],
89 | "outputs": [
90 | {
91 | "name": "painting",
92 | "type": "IMAGE",
93 | "links": [],
94 | "slot_index": 0,
95 | "shape": 3
96 | },
97 | {
98 | "name": "sharpImage",
99 | "type": "IMAGE",
100 | "links": [
101 | 137,
102 | 139
103 | ],
104 | "slot_index": 1,
105 | "shape": 3
106 | }
107 | ],
108 | "properties": {
109 | "Node name for S&R": "Painting"
110 | },
111 | "widgets_values": [
112 | 21,
113 | 3,
114 | 7,
115 | 1,
116 | 0,
117 | 1.1,
118 | 1.4000000000000001,
119 | 1
120 | ]
121 | },
122 | {
123 | "id": 47,
124 | "type": "VHS_LoadVideo",
125 | "pos": [
126 | 379,
127 | 101
128 | ],
129 | "size": [
130 | 320.70963333674683,
131 | 807.253685561586
132 | ],
133 | "flags": {},
134 | "order": 0,
135 | "mode": 0,
136 | "inputs": [
137 | {
138 | "name": "meta_batch",
139 | "type": "VHS_BatchManager",
140 | "link": null
141 | },
142 | {
143 | "name": "vae",
144 | "type": "VAE",
145 | "link": null
146 | }
147 | ],
148 | "outputs": [
149 | {
150 | "name": "IMAGE",
151 | "type": "IMAGE",
152 | "links": [
153 | 123
154 | ],
155 | "slot_index": 0,
156 | "shape": 3
157 | },
158 | {
159 | "name": "frame_count",
160 | "type": "INT",
161 | "links": null,
162 | "shape": 3
163 | },
164 | {
165 | "name": "audio",
166 | "type": "AUDIO",
167 | "links": null,
168 | "shape": 3
169 | },
170 | {
171 | "name": "video_info",
172 | "type": "VHS_VIDEOINFO",
173 | "links": null,
174 | "shape": 3
175 | }
176 | ],
177 | "properties": {
178 | "Node name for S&R": "VHS_LoadVideo"
179 | },
180 | "widgets_values": {
181 | "video": "VID-20240110-WA0001.mp4",
182 | "force_rate": 0,
183 | "force_size": "Disabled",
184 | "custom_width": 512,
185 | "custom_height": 512,
186 | "frame_load_cap": 0,
187 | "skip_first_frames": 0,
188 | "select_every_nth": 1,
189 | "choose video to upload": "image",
190 | "videopreview": {
191 | "hidden": false,
192 | "paused": false,
193 | "params": {
194 | "frame_load_cap": 0,
195 | "skip_first_frames": 0,
196 | "force_rate": 0,
197 | "filename": "VID-20240110-WA0001.mp4",
198 | "type": "input",
199 | "format": "video/mp4",
200 | "select_every_nth": 1
201 | },
202 | "muted": false
203 | }
204 | }
205 | },
206 | {
207 | "id": 58,
208 | "type": "VHS_VideoCombine",
209 | "pos": [
210 | 34,
211 | 60
212 | ],
213 | "size": [
214 | 316.88507080078125,
215 | 848.4969584147135
216 | ],
217 | "flags": {},
218 | "order": 3,
219 | "mode": 0,
220 | "inputs": [
221 | {
222 | "name": "images",
223 | "type": "IMAGE",
224 | "link": 139
225 | },
226 | {
227 | "name": "audio",
228 | "type": "AUDIO",
229 | "link": null
230 | },
231 | {
232 | "name": "meta_batch",
233 | "type": "VHS_BatchManager",
234 | "link": null
235 | },
236 | {
237 | "name": "vae",
238 | "type": "VAE",
239 | "link": null
240 | }
241 | ],
242 | "outputs": [
243 | {
244 | "name": "Filenames",
245 | "type": "VHS_FILENAMES",
246 | "links": null,
247 | "shape": 3
248 | }
249 | ],
250 | "properties": {
251 | "Node name for S&R": "VHS_VideoCombine"
252 | },
253 | "widgets_values": {
254 | "frame_rate": 30,
255 | "loop_count": 0,
256 | "filename_prefix": "AnimateDiff",
257 | "format": "video/h264-mp4",
258 | "pix_fmt": "yuv420p",
259 | "crf": 19,
260 | "save_metadata": true,
261 | "pingpong": false,
262 | "save_output": false,
263 | "videopreview": {
264 | "hidden": false,
265 | "paused": false,
266 | "params": {
267 | "filename": "AnimateDiff_00014.mp4",
268 | "subfolder": "",
269 | "type": "temp",
270 | "format": "video/h264-mp4",
271 | "frame_rate": 15
272 | },
273 | "muted": false
274 | }
275 | }
276 | },
277 | {
278 | "id": 56,
279 | "type": "VHS_VideoCombine",
280 | "pos": [
281 | -303,
282 | 61
283 | ],
284 | "size": [
285 | 316.8850772790622,
286 | 848.4969698596766
287 | ],
288 | "flags": {},
289 | "order": 4,
290 | "mode": 0,
291 | "inputs": [
292 | {
293 | "name": "images",
294 | "type": "IMAGE",
295 | "link": 138
296 | },
297 | {
298 | "name": "audio",
299 | "type": "AUDIO",
300 | "link": null
301 | },
302 | {
303 | "name": "meta_batch",
304 | "type": "VHS_BatchManager",
305 | "link": null
306 | },
307 | {
308 | "name": "vae",
309 | "type": "VAE",
310 | "link": null
311 | }
312 | ],
313 | "outputs": [
314 | {
315 | "name": "Filenames",
316 | "type": "VHS_FILENAMES",
317 | "links": null,
318 | "shape": 3
319 | }
320 | ],
321 | "properties": {
322 | "Node name for S&R": "VHS_VideoCombine"
323 | },
324 | "widgets_values": {
325 | "frame_rate": 30,
326 | "loop_count": 0,
327 | "filename_prefix": "AnimateDiff",
328 | "format": "video/h264-mp4",
329 | "pix_fmt": "yuv420p",
330 | "crf": 19,
331 | "save_metadata": true,
332 | "pingpong": false,
333 | "save_output": false,
334 | "videopreview": {
335 | "hidden": false,
336 | "paused": false,
337 | "params": {
338 | "filename": "AnimateDiff_00013.mp4",
339 | "subfolder": "",
340 | "type": "temp",
341 | "format": "video/h264-mp4",
342 | "frame_rate": 15
343 | },
344 | "muted": false
345 | }
346 | }
347 | }
348 | ],
349 | "links": [
350 | [
351 | 123,
352 | 47,
353 | 0,
354 | 43,
355 | 0,
356 | "IMAGE"
357 | ],
358 | [
359 | 137,
360 | 43,
361 | 1,
362 | 57,
363 | 0,
364 | "IMAGE"
365 | ],
366 | [
367 | 138,
368 | 57,
369 | 1,
370 | 56,
371 | 0,
372 | "IMAGE"
373 | ],
374 | [
375 | 139,
376 | 43,
377 | 1,
378 | 58,
379 | 0,
380 | "IMAGE"
381 | ]
382 | ],
383 | "groups": [],
384 | "config": {},
385 | "extra": {
386 | "ds": {
387 | "scale": 1.2284597357367528,
388 | "offset": [
389 | 537.1662109548555,
390 | 18.775638697094656
391 | ]
392 | }
393 | },
394 | "version": 0.4
395 | }
--------------------------------------------------------------------------------
/comfyWorkflows/img2CartoonWtRemBg.json:
--------------------------------------------------------------------------------
1 | {
2 | "last_node_id": 56,
3 | "last_link_id": 125,
4 | "nodes": [
5 | {
6 | "id": 49,
7 | "type": "VHS_VideoCombine",
8 | "pos": [
9 | 1460,
10 | 67
11 | ],
12 | "size": [
13 | 295.00213623046875,
14 | 812.8926866319445
15 | ],
16 | "flags": {},
17 | "order": 4,
18 | "mode": 0,
19 | "inputs": [
20 | {
21 | "name": "images",
22 | "type": "IMAGE",
23 | "link": 120
24 | },
25 | {
26 | "name": "audio",
27 | "type": "AUDIO",
28 | "link": null
29 | },
30 | {
31 | "name": "meta_batch",
32 | "type": "VHS_BatchManager",
33 | "link": null
34 | },
35 | {
36 | "name": "vae",
37 | "type": "VAE",
38 | "link": null
39 | }
40 | ],
41 | "outputs": [
42 | {
43 | "name": "Filenames",
44 | "type": "VHS_FILENAMES",
45 | "links": null,
46 | "shape": 3
47 | }
48 | ],
49 | "properties": {
50 | "Node name for S&R": "VHS_VideoCombine"
51 | },
52 | "widgets_values": {
53 | "frame_rate": 2,
54 | "loop_count": 0,
55 | "filename_prefix": "AnimateDiff",
56 | "format": "video/h264-mp4",
57 | "pix_fmt": "yuv420p",
58 | "crf": 19,
59 | "save_metadata": false,
60 | "pingpong": false,
61 | "save_output": false,
62 | "videopreview": {
63 | "hidden": false,
64 | "paused": false,
65 | "params": {
66 | "filename": "AnimateDiff_00072.mp4",
67 | "subfolder": "",
68 | "type": "temp",
69 | "format": "video/h264-mp4",
70 | "frame_rate": 15
71 | },
72 | "muted": false
73 | }
74 | }
75 | },
76 | {
77 | "id": 48,
78 | "type": "VHS_VideoCombine",
79 | "pos": [
80 | 1062,
81 | 64
82 | ],
83 | "size": [
84 | 298.2245788574219,
85 | 818.6214735243055
86 | ],
87 | "flags": {},
88 | "order": 5,
89 | "mode": 0,
90 | "inputs": [
91 | {
92 | "name": "images",
93 | "type": "IMAGE",
94 | "link": 104
95 | },
96 | {
97 | "name": "audio",
98 | "type": "AUDIO",
99 | "link": null
100 | },
101 | {
102 | "name": "meta_batch",
103 | "type": "VHS_BatchManager",
104 | "link": null
105 | },
106 | {
107 | "name": "vae",
108 | "type": "VAE",
109 | "link": null
110 | }
111 | ],
112 | "outputs": [
113 | {
114 | "name": "Filenames",
115 | "type": "VHS_FILENAMES",
116 | "links": null,
117 | "shape": 3
118 | }
119 | ],
120 | "properties": {
121 | "Node name for S&R": "VHS_VideoCombine"
122 | },
123 | "widgets_values": {
124 | "frame_rate": 2,
125 | "loop_count": 0,
126 | "filename_prefix": "AnimateDiff",
127 | "format": "video/h264-mp4",
128 | "pix_fmt": "yuv420p",
129 | "crf": 19,
130 | "save_metadata": false,
131 | "pingpong": false,
132 | "save_output": false,
133 | "videopreview": {
134 | "hidden": false,
135 | "paused": false,
136 | "params": {
137 | "filename": "AnimateDiff_00073.mp4",
138 | "subfolder": "",
139 | "type": "temp",
140 | "format": "video/h264-mp4",
141 | "frame_rate": 15
142 | },
143 | "muted": false
144 | }
145 | }
146 | },
147 | {
148 | "id": 43,
149 | "type": "Painting",
150 | "pos": [
151 | 674,
152 | 66
153 | ],
154 | "size": {
155 | "0": 315,
156 | "1": 246
157 | },
158 | "flags": {},
159 | "order": 3,
160 | "mode": 0,
161 | "inputs": [
162 | {
163 | "name": "image",
164 | "type": "IMAGE",
165 | "link": 121
166 | },
167 | {
168 | "name": "lineArt",
169 | "type": "IMAGE",
170 | "link": 119
171 | }
172 | ],
173 | "outputs": [
174 | {
175 | "name": "painting",
176 | "type": "IMAGE",
177 | "links": [
178 | 104
179 | ],
180 | "slot_index": 0,
181 | "shape": 3
182 | },
183 | {
184 | "name": "sharpImage",
185 | "type": "IMAGE",
186 | "links": [],
187 | "slot_index": 1,
188 | "shape": 3
189 | }
190 | ],
191 | "properties": {
192 | "Node name for S&R": "Painting"
193 | },
194 | "widgets_values": [
195 | 21,
196 | 1,
197 | 7,
198 | 2,
199 | 0,
200 | 1,
201 | 1.3,
202 | 1
203 | ]
204 | },
205 | {
206 | "id": 56,
207 | "type": "Image Rembg (Remove Background)",
208 | "pos": [
209 | 316,
210 | 179
211 | ],
212 | "size": {
213 | "0": 315,
214 | "1": 250
215 | },
216 | "flags": {},
217 | "order": 1,
218 | "mode": 0,
219 | "inputs": [
220 | {
221 | "name": "images",
222 | "type": "IMAGE",
223 | "link": 124
224 | }
225 | ],
226 | "outputs": [
227 | {
228 | "name": "images",
229 | "type": "IMAGE",
230 | "links": [
231 | 125
232 | ],
233 | "shape": 3,
234 | "slot_index": 0
235 | }
236 | ],
237 | "properties": {
238 | "Node name for S&R": "Image Rembg (Remove Background)"
239 | },
240 | "widgets_values": [
241 | true,
242 | "u2net",
243 | false,
244 | false,
245 | false,
246 | 240,
247 | 10,
248 | 10,
249 | "none"
250 | ]
251 | },
252 | {
253 | "id": 54,
254 | "type": "VHS_LoadVideo",
255 | "pos": [
256 | 59,
257 | 102
258 | ],
259 | "size": [
260 | 235.1999969482422,
261 | 658.5777723524305
262 | ],
263 | "flags": {},
264 | "order": 0,
265 | "mode": 0,
266 | "inputs": [
267 | {
268 | "name": "meta_batch",
269 | "type": "VHS_BatchManager",
270 | "link": null
271 | }
272 | ],
273 | "outputs": [
274 | {
275 | "name": "IMAGE",
276 | "type": "IMAGE",
277 | "links": [
278 | 121,
279 | 124
280 | ],
281 | "shape": 3,
282 | "slot_index": 0
283 | },
284 | {
285 | "name": "frame_count",
286 | "type": "INT",
287 | "links": null,
288 | "shape": 3
289 | },
290 | {
291 | "name": "audio",
292 | "type": "VHS_AUDIO",
293 | "links": null,
294 | "shape": 3
295 | },
296 | {
297 | "name": "video_info",
298 | "type": "VHS_VIDEOINFO",
299 | "links": null,
300 | "shape": 3
301 | }
302 | ],
303 | "properties": {
304 | "Node name for S&R": "VHS_LoadVideo"
305 | },
306 | "widgets_values": {
307 | "video": "EVERYONE HAS TO DO THIS TREND 😍 ib_ @isabellaafro #dance #takitaki #viral #trend #spanish.mp4",
308 | "force_rate": 0,
309 | "force_size": "Disabled",
310 | "custom_width": 512,
311 | "custom_height": 512,
312 | "frame_load_cap": 0,
313 | "skip_first_frames": 0,
314 | "select_every_nth": 30,
315 | "choose video to upload": "image",
316 | "videopreview": {
317 | "hidden": false,
318 | "paused": false,
319 | "params": {
320 | "frame_load_cap": 0,
321 | "skip_first_frames": 0,
322 | "force_rate": 0,
323 | "filename": "EVERYONE HAS TO DO THIS TREND 😍 ib_ @isabellaafro #dance #takitaki #viral #trend #spanish.mp4",
324 | "type": "input",
325 | "format": "video/mp4",
326 | "select_every_nth": 30
327 | }
328 | }
329 | }
330 | },
331 | {
332 | "id": 53,
333 | "type": "LineArt_Assistant",
334 | "pos": [
335 | 667,
336 | 374
337 | ],
338 | "size": {
339 | "0": 315,
340 | "1": 270
341 | },
342 | "flags": {},
343 | "order": 2,
344 | "mode": 0,
345 | "inputs": [
346 | {
347 | "name": "image",
348 | "type": "IMAGE",
349 | "link": 125
350 | }
351 | ],
352 | "outputs": [
353 | {
354 | "name": "lineArt",
355 | "type": "IMAGE",
356 | "links": [
357 | 119,
358 | 120
359 | ],
360 | "shape": 3,
361 | "slot_index": 0
362 | },
363 | {
364 | "name": "grayscale image",
365 | "type": "IMAGE",
366 | "links": null,
367 | "shape": 3
368 | }
369 | ],
370 | "properties": {
371 | "Node name for S&R": "LineArt_Assistant"
372 | },
373 | "widgets_values": [
374 | 9,
375 | 9,
376 | 2,
377 | "black",
378 | 10,
379 | 9,
380 | 1,
381 | "white",
382 | 10
383 | ]
384 | }
385 | ],
386 | "links": [
387 | [
388 | 104,
389 | 43,
390 | 0,
391 | 48,
392 | 0,
393 | "IMAGE"
394 | ],
395 | [
396 | 119,
397 | 53,
398 | 0,
399 | 43,
400 | 1,
401 | "IMAGE"
402 | ],
403 | [
404 | 120,
405 | 53,
406 | 0,
407 | 49,
408 | 0,
409 | "IMAGE"
410 | ],
411 | [
412 | 121,
413 | 54,
414 | 0,
415 | 43,
416 | 0,
417 | "IMAGE"
418 | ],
419 | [
420 | 124,
421 | 54,
422 | 0,
423 | 56,
424 | 0,
425 | "IMAGE"
426 | ],
427 | [
428 | 125,
429 | 56,
430 | 0,
431 | 53,
432 | 0,
433 | "IMAGE"
434 | ]
435 | ],
436 | "groups": [],
437 | "config": {},
438 | "extra": {
439 | "ds": {
440 | "scale": 1.2284597357367517,
441 | "offset": [
442 | 61.27576719219076,
443 | 38.04827248991686
444 | ]
445 | }
446 | },
447 | "version": 0.4
448 | }
--------------------------------------------------------------------------------
/image_to_painting_node.py:
--------------------------------------------------------------------------------
1 | import cv2
2 | import numpy as np
3 | import torch
4 |
5 |
6 |
7 | class Painting():
8 |
9 | @classmethod
10 | def INPUT_TYPES(s):
11 | return {
12 | "required": {
13 | "image": ("IMAGE",),
14 | "painting_details": ("FLOAT", {"default": 26, "min": 1, "max": 36, "step": 1}),
15 | "painting_blur": ("INT", {"default": 1, "min": 1, "max": 9, "step": 2}),
16 | "sharpness": ("INT", {"default": 7, "min": 1, "max": 11, "step": 2}),
17 | "brightness": ("FLOAT", {"default": 1, "min": 0.1, "max": 10, "step": 0.1}),
18 | "hue": ("FLOAT", {"default": 0, "min": 0, "max": 179, "step": 1}),
19 | "saturation": ("FLOAT", {"default": 1.1, "min": 0.1, "max": 10, "step": 0.1}),
20 | "lightness": ("FLOAT", {"default": 1.4, "min": 0.1, "max": 10, "step": 0.1}),
21 | "contrast": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 10.0, "step": 0.1}),
22 | "correct_black_Img": ("BOOLEAN", { "default": False }),
23 |
24 | },
25 | "optional": {
26 | "lineArt": ("IMAGE",),
27 | },
28 | }
29 |
30 | RETURN_TYPES = ("IMAGE", "IMAGE")
31 | RETURN_NAMES = ("painting", "sharpImage")
32 | FUNCTION = "process"
33 | CATEGORY = "image"
34 |
35 | def process(self, image, painting_details, painting_blur, sharpness, brightness, hue, saturation, lightness, contrast, correct_black_Img, lineArt=None):
36 | imgNo = image.shape[0]
37 | if imgNo == 1:
38 | print("Adjusting Image Properties...")
39 | else:
40 | print(f"{imgNo} images received for adjustment")
41 | paintings = []
42 | paintings2 = []
43 |
44 | no_lineArt = True
45 |
46 | if lineArt is not None:
47 | no_lineArt = False
48 |
49 | if correct_black_Img:
50 | image = image*255
51 |
52 | if no_lineArt:
53 | for img in image:
54 | painting, painting2 = processImg2Painting(img, painting_details, painting_blur, sharpness, brightness, hue, saturation, lightness, contrast, lineArt)
55 | paintings.append(painting)
56 | paintings2.append(painting2)
57 | else:
58 | for img, lineart in zip(image, lineArt):
59 | painting, painting2 = processImg2Painting(img, painting_details, painting_blur, sharpness, brightness, hue, saturation, lightness, contrast, lineart)
60 | paintings.append(painting)
61 | paintings2.append(painting2)
62 |
63 | paintings = torch.cat(paintings, dim=0)
64 | paintings2 = torch.cat(paintings2, dim=0)
65 |
66 | print("Task Completed!")
67 |
68 | return (paintings, paintings2)
69 |
70 |
71 | class ProcessInspyrenetRembg:
72 |
73 | @classmethod
74 | def INPUT_TYPES(s):
75 | return {
76 | "required": {
77 | "image": ("IMAGE",),
78 | "mask": ("MASK",),
79 | "use_bg_color": ("BOOLEAN", { "default": False }),
80 | "bg_color": (["white", "black", "red", "lime", "blue", "yellow", "cyan", "magenta", "silver", "gray", "maroon", "olive", "green", "purple", "teal", "navy"],),
81 | },
82 | }
83 |
84 | RETURN_TYPES = ("IMAGE", "MASK")
85 | FUNCTION = "remove_background"
86 | CATEGORY = "image"
87 |
88 | def remove_background(self, image, mask, use_bg_color, bg_color):
89 |
90 | processedImg = create_transparent_images(image, mask, use_bg_color, bg_color)
91 |
92 | return (processedImg, mask)
93 |
94 |
95 | def processImg2Painting(imageM, details, blur, sharpness, lightness, hue, saturation, light, contrast, lineArt):
96 | if imageM is None:
97 | raise ValueError("Input image is required")
98 |
99 | if isinstance(imageM, torch.Tensor):
100 | imageM = imageM.squeeze(0).cpu().numpy()
101 | imageM = convert_to_uint8(imageM)
102 |
103 | if imageM.ndim not in [2, 3]:
104 | raise ValueError("Input image must be 2D or 3D numpy array")
105 |
106 |
107 | has_alpha = imageM.shape[-1] == 4
108 | if has_alpha:
109 | alpha_channel = imageM[:, :, 3] # Extract the alpha channel
110 | image = imageM[:, :, :3] # Keep only the RGB channels
111 | else:
112 | image = imageM
113 |
114 |
115 |
116 |
117 | hsv_image = cv2.cvtColor(image, cv2.COLOR_BGR2HSV)
118 |
119 | h, s, v = cv2.split(hsv_image)
120 |
121 | h = (h + hue) % 180
122 |
123 | s = np.clip(s * saturation, 0, 255)
124 |
125 | v = np.clip(v * lightness, 0, 255).astype(np.uint8)
126 |
127 | if h.dtype != np.uint8:
128 | h = h.astype(np.uint8)
129 | if s.dtype != np.uint8:
130 | s = s.astype(np.uint8)
131 | if v.dtype != np.uint8:
132 | v = v.astype(np.uint8)
133 |
134 | modified_hsv = cv2.merge([h, s, v])
135 |
136 | image = cv2.cvtColor(modified_hsv, cv2.COLOR_HSV2BGR)
137 |
138 | details = 51 - details
139 | details = details/10
140 |
141 | imageP = cv2.resize(image, (int(image.shape[1] * 1 / details), int(image.shape[0] * 1 / details)), interpolation=cv2.INTER_AREA)
142 |
143 | cleaner_image = cv2.medianBlur(imageP, blur)
144 | for i in range(2):
145 | cleaner_image = cv2.medianBlur(cleaner_image, blur)
146 |
147 | filtered_image = cv2.bilateralFilter(cleaner_image, 3, 10, 5)
148 |
149 | for i in range(2):
150 | filtered_image = cv2.bilateralFilter(filtered_image, 3, 20, 10)
151 |
152 | for i in range(3):
153 | filtered_image = cv2.bilateralFilter(filtered_image, 5, 30, 10)
154 |
155 | gaussian_mask = cv2.GaussianBlur(filtered_image, (sharpness, sharpness), 2)
156 | sharper_image = cv2.addWeighted(filtered_image, light, gaussian_mask, -0.5, 0)
157 | sharper_image = cv2.addWeighted(sharper_image, 1.4, gaussian_mask, -0.2, 10)
158 |
159 | gaussian_maskP = cv2.GaussianBlur(sharper_image, (sharpness, sharpness), 2)
160 | sharper_imageP = cv2.addWeighted(sharper_image, light, gaussian_maskP, -0.5, 0)
161 | sharper_imageP = cv2.addWeighted(sharper_imageP, 1.4, gaussian_maskP, -0.2, 10)
162 |
163 | gaussian_maskPP = cv2.GaussianBlur(sharper_imageP, (sharpness, sharpness), 2)
164 | sharper_imagePP = cv2.addWeighted(sharper_imageP, light, gaussian_maskPP, -0.5, 0)
165 | sharper_imagePP = cv2.addWeighted(sharper_imagePP, 1.4, gaussian_maskPP, -0.2, 10)
166 |
167 |
168 | if sharpness == 9:
169 | sharper_image = sharper_imageP
170 | if sharpness > 9:
171 | sharper_image = sharper_imagePP
172 |
173 |
174 | sharper_image = cv2.resize(sharper_image, (int(sharper_image.shape[1] * details), int(sharper_image.shape[0] * details)))
175 |
176 | sharper_image = contrast_image(sharper_image, contrast)
177 |
178 |
179 | if lineArt is not None:
180 | lineArt = lineArt.squeeze(0).cpu().numpy()
181 | lineArt = convert_to_uint8(lineArt)
182 | sharper_image = cv2.resize(sharper_image, (int(lineArt.shape[1]), int(lineArt.shape[0])))
183 | mask = (lineArt[..., :3] < 240).any(axis=-1)
184 | sharper_image[mask] = lineArt[mask]
185 |
186 |
187 | gaussian_mask2 = cv2.GaussianBlur(image, (sharpness, sharpness), 2)
188 | sharper_image2 = cv2.addWeighted(image, light, gaussian_mask2, -0.5, 0)
189 | sharper_image2 = cv2.addWeighted(sharper_image2, 1.4, gaussian_mask2, -0.2, 10)
190 |
191 | gaussian_mask3 = cv2.GaussianBlur(sharper_image2, (sharpness, sharpness), 2)
192 | sharper_image3 = cv2.addWeighted(sharper_image2, light, gaussian_mask3, -0.5, 0)
193 | sharper_image3 = cv2.addWeighted(sharper_image3, 1.4, gaussian_mask3, -0.2, 10)
194 |
195 | gaussian_mask4 = cv2.GaussianBlur(sharper_image3, (sharpness, sharpness), 2)
196 | sharper_image4 = cv2.addWeighted(sharper_image3, light, gaussian_mask4, -0.5, 0)
197 | sharper_image4 = cv2.addWeighted(sharper_image4, 1.4, gaussian_mask4, -0.2, 10)
198 |
199 | if has_alpha:
200 | sharper_image = cv2.resize(sharper_image, (int(sharper_image2.shape[1]), int(sharper_image2.shape[0])))
201 |
202 | sharper_image = torch.from_numpy(sharper_image).permute(2, 0, 1).unsqueeze(0).float()/255
203 | sharper_image = sharper_image.permute(0, 2, 3, 1)
204 |
205 | if sharpness == 9:
206 | sharper_image2 = sharper_image3
207 | if sharpness > 9:
208 | sharper_image2 = sharper_image4
209 |
210 | sharper_image2 = contrast_image(sharper_image2, contrast)
211 |
212 | sharper_image2 = torch.from_numpy(sharper_image2).permute(2, 0, 1).unsqueeze(0).float()/255
213 | sharper_image2 = sharper_image2.permute(0, 2, 3, 1)
214 |
215 | if has_alpha:
216 | alpha_channel = alpha_channel / 255.0
217 | alpha_channel = np.expand_dims(alpha_channel, axis=-1)
218 | alpha_channel = np.expand_dims(alpha_channel, axis=0)
219 |
220 | # Concatenate the alpha channel to the processed image
221 | sharper_image = np.concatenate([sharper_image.numpy(), alpha_channel], axis=-1)
222 | sharper_image2 = np.concatenate([sharper_image2.numpy(), alpha_channel], axis=-1)
223 |
224 | sharper_image = torch.from_numpy(sharper_image).float()
225 | sharper_image2 = torch.from_numpy(sharper_image2).float()
226 |
227 | return sharper_image, sharper_image2
228 |
229 |
230 | def create_transparent_images(img_stack, mask, use_bg_color, bg_color):
231 | """
232 | Create a batch of images with transparent backgrounds using img_stack and mask.
233 |
234 | Args:
235 | - img_stack (torch.Tensor): A batch of images with shape (B, H, W, 4) (RGBA).
236 | - mask (torch.Tensor): A batch of masks with shape (B, H, W), where non-zero values indicate the foreground.
237 |
238 | Returns:
239 | - torch.Tensor: A batch of images with shape (B, H, W, 4) (RGBA), with the background set to transparent.
240 | """
241 |
242 | if img_stack.shape[-1] != 4:
243 | raise ValueError("The input img_stack must have 4 channels (RGBA).")
244 |
245 | if mask.ndim != 3:
246 | raise ValueError("The mask must have 3 dimensions (B, H, W).")
247 |
248 | binary_mask = (mask > 0.5).float()
249 |
250 | rgb_stack = img_stack[:, :, :, :3] # Shape: (B, H, W, 3)
251 |
252 | if use_bg_color is False:
253 | rgb_stack = rgb_stack * mask.unsqueeze(-1)
254 | else:
255 | bg_color = getColor(bg_color)
256 | bg_color = torch.tensor(bg_color).float().reshape(1, 1, 1, 3) # Shape: (1, 1, 1, 3)
257 |
258 | rgb_stack = rgb_stack * binary_mask.unsqueeze(-1) + bg_color * (1 - binary_mask).unsqueeze(-1)
259 |
260 | new_alpha_channel = binary_mask.unsqueeze(-1) # Shape: (B, H, W, 1)
261 |
262 | rgba_stack = torch.cat([rgb_stack, new_alpha_channel], dim=-1) # Shape: (B, H, W, 4)
263 |
264 | return rgba_stack
265 |
266 |
267 | def convert_to_uint8(image):
268 | if image.dtype == np.uint8:
269 | return image
270 | if image.dtype != np.float32 and image.dtype != np.float64:
271 | image = image.astype(np.float32)
272 | if image.max() <= 1.0:
273 | image = image * 255.0
274 | image = np.clip(image, 0, 255)
275 | return image.astype(np.uint8)
276 |
277 |
278 | def contrast_image(data, scale):
279 | image = data.astype(np.float32)
280 | contrast_image = scale * (image - 128) + 128
281 | contrast_image = np.clip(contrast_image, 0, 255).astype(np.uint8)
282 |
283 | return contrast_image
284 |
285 | def getColor(col):
286 | color_dict = {
287 | "white": [255, 255, 255],
288 | "black": [0, 0, 0],
289 | "red": [255, 0, 0],
290 | "lime": [0, 255, 0],
291 | "blue": [0, 0, 255],
292 | "yellow": [255, 255, 0],
293 | "cyan": [0, 255, 255],
294 | "magenta": [255, 0, 255],
295 | "silver": [192, 192, 192],
296 | "gray": [128, 128, 128],
297 | "maroon": [128, 0, 0],
298 | "olive": [128, 128, 0],
299 | "green": [0, 128, 0],
300 | "purple": [128, 0, 128],
301 | "teal": [0, 128, 128],
302 | "navy": [0, 0, 128],
303 | }
304 |
305 | return color_dict.get(col, [0, 0, 0])
306 |
307 |
308 | NODE_CLASS_MAPPINGS = {
309 | "Painting" : Painting,
310 | "ProcessInspyrenetRembg" : ProcessInspyrenetRembg,
311 |
312 | }
313 |
314 | NODE_DISPLAY_NAME_MAPPINGS = {
315 | "Painting" :"Image Painting Assistant",
316 | "ProcessInspyrenetRembg" : "Inspyrenet Rembg Assistant",
317 |
318 | }
319 |
--------------------------------------------------------------------------------
/comfyWorkflows/Vid2CartoonWtInspyrenetAssitant.json:
--------------------------------------------------------------------------------
1 | {
2 | "last_node_id": 59,
3 | "last_link_id": 165,
4 | "nodes": [
5 | {
6 | "id": 51,
7 | "type": "InspyrenetRembg",
8 | "pos": [
9 | 280,
10 | 147
11 | ],
12 | "size": {
13 | "0": 315,
14 | "1": 78
15 | },
16 | "flags": {},
17 | "order": 1,
18 | "mode": 0,
19 | "inputs": [
20 | {
21 | "name": "image",
22 | "type": "IMAGE",
23 | "link": 115
24 | }
25 | ],
26 | "outputs": [
27 | {
28 | "name": "IMAGE",
29 | "type": "IMAGE",
30 | "links": [
31 | 116
32 | ],
33 | "shape": 3,
34 | "slot_index": 0
35 | },
36 | {
37 | "name": "MASK",
38 | "type": "MASK",
39 | "links": [
40 | 117
41 | ],
42 | "shape": 3,
43 | "slot_index": 1
44 | }
45 | ],
46 | "properties": {
47 | "Node name for S&R": "InspyrenetRembg"
48 | },
49 | "widgets_values": [
50 | "default"
51 | ]
52 | },
53 | {
54 | "id": 47,
55 | "type": "VHS_LoadVideo",
56 | "pos": [
57 | 11,
58 | 51
59 | ],
60 | "size": [
61 | 247.455078125,
62 | 679.368611453202
63 | ],
64 | "flags": {},
65 | "order": 0,
66 | "mode": 0,
67 | "inputs": [
68 | {
69 | "name": "meta_batch",
70 | "type": "VHS_BatchManager",
71 | "link": null
72 | },
73 | {
74 | "name": "vae",
75 | "type": "VAE",
76 | "link": null
77 | }
78 | ],
79 | "outputs": [
80 | {
81 | "name": "IMAGE",
82 | "type": "IMAGE",
83 | "links": [
84 | 115,
85 | 165
86 | ],
87 | "slot_index": 0,
88 | "shape": 3
89 | },
90 | {
91 | "name": "frame_count",
92 | "type": "INT",
93 | "links": null,
94 | "shape": 3
95 | },
96 | {
97 | "name": "audio",
98 | "type": "AUDIO",
99 | "links": null,
100 | "shape": 3
101 | },
102 | {
103 | "name": "video_info",
104 | "type": "VHS_VIDEOINFO",
105 | "links": null,
106 | "shape": 3
107 | }
108 | ],
109 | "properties": {
110 | "Node name for S&R": "VHS_LoadVideo"
111 | },
112 | "widgets_values": {
113 | "video": "🏴_☠️⚓️.mp4",
114 | "force_rate": 0,
115 | "force_size": "Disabled",
116 | "custom_width": 512,
117 | "custom_height": 512,
118 | "frame_load_cap": 0,
119 | "skip_first_frames": 0,
120 | "select_every_nth": 30,
121 | "choose video to upload": "image",
122 | "videopreview": {
123 | "hidden": false,
124 | "paused": false,
125 | "params": {
126 | "frame_load_cap": 0,
127 | "skip_first_frames": 0,
128 | "force_rate": 0,
129 | "filename": "🏴_☠️⚓️.mp4",
130 | "type": "input",
131 | "format": "video/mp4",
132 | "select_every_nth": 30
133 | },
134 | "muted": false
135 | }
136 | }
137 | },
138 | {
139 | "id": 55,
140 | "type": "PreviewImage",
141 | "pos": [
142 | 337,
143 | 457
144 | ],
145 | "size": {
146 | "0": 210,
147 | "1": 246
148 | },
149 | "flags": {},
150 | "order": 3,
151 | "mode": 0,
152 | "inputs": [
153 | {
154 | "name": "images",
155 | "type": "IMAGE",
156 | "link": 128
157 | }
158 | ],
159 | "properties": {
160 | "Node name for S&R": "PreviewImage"
161 | }
162 | },
163 | {
164 | "id": 43,
165 | "type": "Painting",
166 | "pos": [
167 | 650,
168 | 57
169 | ],
170 | "size": {
171 | "0": 315,
172 | "1": 270
173 | },
174 | "flags": {},
175 | "order": 6,
176 | "mode": 0,
177 | "inputs": [
178 | {
179 | "name": "image",
180 | "type": "IMAGE",
181 | "link": 165
182 | },
183 | {
184 | "name": "lineArt",
185 | "type": "IMAGE",
186 | "link": 157
187 | }
188 | ],
189 | "outputs": [
190 | {
191 | "name": "painting",
192 | "type": "IMAGE",
193 | "links": [
194 | 164
195 | ],
196 | "slot_index": 0,
197 | "shape": 3
198 | },
199 | {
200 | "name": "sharpImage",
201 | "type": "IMAGE",
202 | "links": [],
203 | "slot_index": 1,
204 | "shape": 3
205 | }
206 | ],
207 | "properties": {
208 | "Node name for S&R": "Painting"
209 | },
210 | "widgets_values": [
211 | 36,
212 | 1,
213 | 7,
214 | 2,
215 | 0,
216 | 1,
217 | 1.3,
218 | 1.0333374023437498,
219 | false
220 | ]
221 | },
222 | {
223 | "id": 52,
224 | "type": "ProcessInspyrenetRembg",
225 | "pos": [
226 | 332,
227 | 291
228 | ],
229 | "size": {
230 | "0": 218.39999389648438,
231 | "1": 102
232 | },
233 | "flags": {},
234 | "order": 2,
235 | "mode": 0,
236 | "inputs": [
237 | {
238 | "name": "image",
239 | "type": "IMAGE",
240 | "link": 116
241 | },
242 | {
243 | "name": "mask",
244 | "type": "MASK",
245 | "link": 117
246 | }
247 | ],
248 | "outputs": [
249 | {
250 | "name": "IMAGE",
251 | "type": "IMAGE",
252 | "links": [
253 | 128,
254 | 139,
255 | 154
256 | ],
257 | "shape": 3,
258 | "slot_index": 0
259 | },
260 | {
261 | "name": "MASK",
262 | "type": "MASK",
263 | "links": [],
264 | "shape": 3,
265 | "slot_index": 1
266 | }
267 | ],
268 | "properties": {
269 | "Node name for S&R": "ProcessInspyrenetRembg"
270 | },
271 | "widgets_values": [
272 | true,
273 | "black"
274 | ]
275 | },
276 | {
277 | "id": 59,
278 | "type": "LineArt_Assistant",
279 | "pos": [
280 | 619,
281 | 443
282 | ],
283 | "size": {
284 | "0": 315,
285 | "1": 270
286 | },
287 | "flags": {},
288 | "order": 4,
289 | "mode": 0,
290 | "inputs": [
291 | {
292 | "name": "image",
293 | "type": "IMAGE",
294 | "link": 139
295 | }
296 | ],
297 | "outputs": [
298 | {
299 | "name": "lineArt",
300 | "type": "IMAGE",
301 | "links": [
302 | 157
303 | ],
304 | "shape": 3,
305 | "slot_index": 0
306 | },
307 | {
308 | "name": "grayscale image",
309 | "type": "IMAGE",
310 | "links": null,
311 | "shape": 3
312 | }
313 | ],
314 | "properties": {
315 | "Node name for S&R": "LineArt_Assistant"
316 | },
317 | "widgets_values": [
318 | 11,
319 | 3,
320 | 2,
321 | "black",
322 | 10,
323 | 9,
324 | 1,
325 | "white",
326 | 10
327 | ]
328 | },
329 | {
330 | "id": 48,
331 | "type": "VHS_VideoCombine",
332 | "pos": [
333 | 1026,
334 | 40
335 | ],
336 | "size": [
337 | 298.2245788574219,
338 | 817.4031940328664
339 | ],
340 | "flags": {},
341 | "order": 5,
342 | "mode": 0,
343 | "inputs": [
344 | {
345 | "name": "images",
346 | "type": "IMAGE",
347 | "link": 154
348 | },
349 | {
350 | "name": "audio",
351 | "type": "AUDIO",
352 | "link": null
353 | },
354 | {
355 | "name": "meta_batch",
356 | "type": "VHS_BatchManager",
357 | "link": null
358 | },
359 | {
360 | "name": "vae",
361 | "type": "VAE",
362 | "link": null
363 | }
364 | ],
365 | "outputs": [
366 | {
367 | "name": "Filenames",
368 | "type": "VHS_FILENAMES",
369 | "links": null,
370 | "shape": 3
371 | }
372 | ],
373 | "properties": {
374 | "Node name for S&R": "VHS_VideoCombine"
375 | },
376 | "widgets_values": {
377 | "frame_rate": 1,
378 | "loop_count": 0,
379 | "filename_prefix": "AnimateDiff",
380 | "format": "video/h264-mp4",
381 | "pix_fmt": "yuv420p",
382 | "crf": 19,
383 | "save_metadata": false,
384 | "pingpong": false,
385 | "save_output": false,
386 | "videopreview": {
387 | "hidden": false,
388 | "paused": false,
389 | "params": {
390 | "filename": "AnimateDiff_00017.mp4",
391 | "subfolder": "",
392 | "type": "temp",
393 | "format": "video/h264-mp4",
394 | "frame_rate": 15
395 | },
396 | "muted": false
397 | }
398 | }
399 | },
400 | {
401 | "id": 49,
402 | "type": "VHS_VideoCombine",
403 | "pos": [
404 | 1396,
405 | 39
406 | ],
407 | "size": [
408 | 295.00213623046875,
409 | 811.688517453048
410 | ],
411 | "flags": {},
412 | "order": 7,
413 | "mode": 0,
414 | "inputs": [
415 | {
416 | "name": "images",
417 | "type": "IMAGE",
418 | "link": 164
419 | },
420 | {
421 | "name": "audio",
422 | "type": "AUDIO",
423 | "link": null
424 | },
425 | {
426 | "name": "meta_batch",
427 | "type": "VHS_BatchManager",
428 | "link": null
429 | },
430 | {
431 | "name": "vae",
432 | "type": "VAE",
433 | "link": null
434 | }
435 | ],
436 | "outputs": [
437 | {
438 | "name": "Filenames",
439 | "type": "VHS_FILENAMES",
440 | "links": null,
441 | "shape": 3
442 | }
443 | ],
444 | "properties": {
445 | "Node name for S&R": "VHS_VideoCombine"
446 | },
447 | "widgets_values": {
448 | "frame_rate": 1,
449 | "loop_count": 0,
450 | "filename_prefix": "AnimateDiff",
451 | "format": "video/h264-mp4",
452 | "pix_fmt": "yuv420p",
453 | "crf": 19,
454 | "save_metadata": false,
455 | "pingpong": false,
456 | "save_output": false,
457 | "videopreview": {
458 | "hidden": false,
459 | "paused": false,
460 | "params": {
461 | "filename": "AnimateDiff_00020.mp4",
462 | "subfolder": "",
463 | "type": "temp",
464 | "format": "video/h264-mp4",
465 | "frame_rate": 15
466 | },
467 | "muted": false
468 | }
469 | }
470 | }
471 | ],
472 | "links": [
473 | [
474 | 115,
475 | 47,
476 | 0,
477 | 51,
478 | 0,
479 | "IMAGE"
480 | ],
481 | [
482 | 116,
483 | 51,
484 | 0,
485 | 52,
486 | 0,
487 | "IMAGE"
488 | ],
489 | [
490 | 117,
491 | 51,
492 | 1,
493 | 52,
494 | 1,
495 | "MASK"
496 | ],
497 | [
498 | 128,
499 | 52,
500 | 0,
501 | 55,
502 | 0,
503 | "IMAGE"
504 | ],
505 | [
506 | 139,
507 | 52,
508 | 0,
509 | 59,
510 | 0,
511 | "IMAGE"
512 | ],
513 | [
514 | 154,
515 | 52,
516 | 0,
517 | 48,
518 | 0,
519 | "IMAGE"
520 | ],
521 | [
522 | 157,
523 | 59,
524 | 0,
525 | 43,
526 | 1,
527 | "IMAGE"
528 | ],
529 | [
530 | 164,
531 | 43,
532 | 0,
533 | 49,
534 | 0,
535 | "IMAGE"
536 | ],
537 | [
538 | 165,
539 | 47,
540 | 0,
541 | 43,
542 | 0,
543 | "IMAGE"
544 | ]
545 | ],
546 | "groups": [],
547 | "config": {},
548 | "extra": {
549 | "ds": {
550 | "scale": 1.2284597357367546,
551 | "offset": [
552 | 152.97873546149629,
553 | 78.8438293437286
554 | ]
555 | }
556 | },
557 | "version": 0.4
558 | }
--------------------------------------------------------------------------------
/comfyWorkflows/_Vid2CartoonWtInspyrenetAssitant2.json:
--------------------------------------------------------------------------------
1 | {
2 | "last_node_id": 61,
3 | "last_link_id": 170,
4 | "nodes": [
5 | {
6 | "id": 48,
7 | "type": "VHS_VideoCombine",
8 | "pos": [
9 | 1003,
10 | 43
11 | ],
12 | "size": [
13 | 298.2245788574219,
14 | 817.4031940328664
15 | ],
16 | "flags": {},
17 | "order": 4,
18 | "mode": 0,
19 | "inputs": [
20 | {
21 | "name": "images",
22 | "type": "IMAGE",
23 | "link": 154
24 | },
25 | {
26 | "name": "audio",
27 | "type": "AUDIO",
28 | "link": null
29 | },
30 | {
31 | "name": "meta_batch",
32 | "type": "VHS_BatchManager",
33 | "link": null
34 | },
35 | {
36 | "name": "vae",
37 | "type": "VAE",
38 | "link": null
39 | }
40 | ],
41 | "outputs": [
42 | {
43 | "name": "Filenames",
44 | "type": "VHS_FILENAMES",
45 | "links": null,
46 | "shape": 3
47 | }
48 | ],
49 | "properties": {
50 | "Node name for S&R": "VHS_VideoCombine"
51 | },
52 | "widgets_values": {
53 | "frame_rate": 1,
54 | "loop_count": 0,
55 | "filename_prefix": "AnimateDiff",
56 | "format": "video/h264-mp4",
57 | "pix_fmt": "yuv420p",
58 | "crf": 19,
59 | "save_metadata": false,
60 | "pingpong": false,
61 | "save_output": false,
62 | "videopreview": {
63 | "hidden": false,
64 | "paused": false,
65 | "params": {
66 | "filename": "AnimateDiff_00026.mp4",
67 | "subfolder": "",
68 | "type": "temp",
69 | "format": "video/h264-mp4",
70 | "frame_rate": 15
71 | },
72 | "muted": false
73 | }
74 | }
75 | },
76 | {
77 | "id": 49,
78 | "type": "VHS_VideoCombine",
79 | "pos": [
80 | 1325,
81 | 44
82 | ],
83 | "size": [
84 | 295.00213623046875,
85 | 811.688517453048
86 | ],
87 | "flags": {},
88 | "order": 7,
89 | "mode": 0,
90 | "inputs": [
91 | {
92 | "name": "images",
93 | "type": "IMAGE",
94 | "link": 164
95 | },
96 | {
97 | "name": "audio",
98 | "type": "AUDIO",
99 | "link": null
100 | },
101 | {
102 | "name": "meta_batch",
103 | "type": "VHS_BatchManager",
104 | "link": null
105 | },
106 | {
107 | "name": "vae",
108 | "type": "VAE",
109 | "link": null
110 | }
111 | ],
112 | "outputs": [
113 | {
114 | "name": "Filenames",
115 | "type": "VHS_FILENAMES",
116 | "links": null,
117 | "shape": 3
118 | }
119 | ],
120 | "properties": {
121 | "Node name for S&R": "VHS_VideoCombine"
122 | },
123 | "widgets_values": {
124 | "frame_rate": 1,
125 | "loop_count": 0,
126 | "filename_prefix": "AnimateDiff",
127 | "format": "video/h264-mp4",
128 | "pix_fmt": "yuv420p",
129 | "crf": 19,
130 | "save_metadata": false,
131 | "pingpong": false,
132 | "save_output": false,
133 | "videopreview": {
134 | "hidden": false,
135 | "paused": false,
136 | "params": {
137 | "filename": "AnimateDiff_00028.mp4",
138 | "subfolder": "",
139 | "type": "temp",
140 | "format": "video/h264-mp4",
141 | "frame_rate": 15
142 | },
143 | "muted": false
144 | }
145 | }
146 | },
147 | {
148 | "id": 43,
149 | "type": "Painting",
150 | "pos": [
151 | 650,
152 | 57
153 | ],
154 | "size": {
155 | "0": 315,
156 | "1": 270
157 | },
158 | "flags": {},
159 | "order": 5,
160 | "mode": 0,
161 | "inputs": [
162 | {
163 | "name": "image",
164 | "type": "IMAGE",
165 | "link": 165
166 | },
167 | {
168 | "name": "lineArt",
169 | "type": "IMAGE",
170 | "link": 157
171 | }
172 | ],
173 | "outputs": [
174 | {
175 | "name": "painting",
176 | "type": "IMAGE",
177 | "links": [
178 | 164
179 | ],
180 | "slot_index": 0,
181 | "shape": 3
182 | },
183 | {
184 | "name": "sharpImage",
185 | "type": "IMAGE",
186 | "links": [],
187 | "slot_index": 1,
188 | "shape": 3
189 | }
190 | ],
191 | "properties": {
192 | "Node name for S&R": "Painting"
193 | },
194 | "widgets_values": [
195 | 36,
196 | 1,
197 | 7,
198 | 1,
199 | 0,
200 | 1,
201 | 1.3,
202 | 1.0333374023437498,
203 | false
204 | ]
205 | },
206 | {
207 | "id": 59,
208 | "type": "LineArt_Assistant",
209 | "pos": [
210 | 645,
211 | 380
212 | ],
213 | "size": {
214 | "0": 315,
215 | "1": 270
216 | },
217 | "flags": {},
218 | "order": 3,
219 | "mode": 0,
220 | "inputs": [
221 | {
222 | "name": "image",
223 | "type": "IMAGE",
224 | "link": 139
225 | }
226 | ],
227 | "outputs": [
228 | {
229 | "name": "lineArt",
230 | "type": "IMAGE",
231 | "links": [
232 | 157,
233 | 168
234 | ],
235 | "shape": 3,
236 | "slot_index": 0
237 | },
238 | {
239 | "name": "grayscale image",
240 | "type": "IMAGE",
241 | "links": null,
242 | "shape": 3
243 | }
244 | ],
245 | "properties": {
246 | "Node name for S&R": "LineArt_Assistant"
247 | },
248 | "widgets_values": [
249 | 11,
250 | 3,
251 | 2,
252 | "black",
253 | 10,
254 | 9,
255 | 1,
256 | "white",
257 | 10
258 | ]
259 | },
260 | {
261 | "id": 61,
262 | "type": "Painting",
263 | "pos": [
264 | 643,
265 | 700
266 | ],
267 | "size": {
268 | "0": 315,
269 | "1": 270
270 | },
271 | "flags": {},
272 | "order": 6,
273 | "mode": 0,
274 | "inputs": [
275 | {
276 | "name": "image",
277 | "type": "IMAGE",
278 | "link": 170
279 | },
280 | {
281 | "name": "lineArt",
282 | "type": "IMAGE",
283 | "link": 168
284 | }
285 | ],
286 | "outputs": [
287 | {
288 | "name": "painting",
289 | "type": "IMAGE",
290 | "links": [
291 | 169
292 | ],
293 | "slot_index": 0,
294 | "shape": 3
295 | },
296 | {
297 | "name": "sharpImage",
298 | "type": "IMAGE",
299 | "links": [],
300 | "slot_index": 1,
301 | "shape": 3
302 | }
303 | ],
304 | "properties": {
305 | "Node name for S&R": "Painting"
306 | },
307 | "widgets_values": [
308 | 36,
309 | 1,
310 | 7,
311 | 1,
312 | 0,
313 | 1,
314 | 1.3,
315 | 1.0333374023437498,
316 | true
317 | ]
318 | },
319 | {
320 | "id": 51,
321 | "type": "InspyrenetRembg",
322 | "pos": [
323 | 318,
324 | 195
325 | ],
326 | "size": {
327 | "0": 315,
328 | "1": 78
329 | },
330 | "flags": {},
331 | "order": 1,
332 | "mode": 0,
333 | "inputs": [
334 | {
335 | "name": "image",
336 | "type": "IMAGE",
337 | "link": 115
338 | }
339 | ],
340 | "outputs": [
341 | {
342 | "name": "IMAGE",
343 | "type": "IMAGE",
344 | "links": [
345 | 116
346 | ],
347 | "shape": 3,
348 | "slot_index": 0
349 | },
350 | {
351 | "name": "MASK",
352 | "type": "MASK",
353 | "links": [
354 | 117
355 | ],
356 | "shape": 3,
357 | "slot_index": 1
358 | }
359 | ],
360 | "properties": {
361 | "Node name for S&R": "InspyrenetRembg"
362 | },
363 | "widgets_values": [
364 | "default"
365 | ]
366 | },
367 | {
368 | "id": 52,
369 | "type": "ProcessInspyrenetRembg",
370 | "pos": [
371 | 359,
372 | 387
373 | ],
374 | "size": {
375 | "0": 218.39999389648438,
376 | "1": 102
377 | },
378 | "flags": {},
379 | "order": 2,
380 | "mode": 0,
381 | "inputs": [
382 | {
383 | "name": "image",
384 | "type": "IMAGE",
385 | "link": 116
386 | },
387 | {
388 | "name": "mask",
389 | "type": "MASK",
390 | "link": 117
391 | }
392 | ],
393 | "outputs": [
394 | {
395 | "name": "IMAGE",
396 | "type": "IMAGE",
397 | "links": [
398 | 139,
399 | 154,
400 | 170
401 | ],
402 | "shape": 3,
403 | "slot_index": 0
404 | },
405 | {
406 | "name": "MASK",
407 | "type": "MASK",
408 | "links": [],
409 | "shape": 3,
410 | "slot_index": 1
411 | }
412 | ],
413 | "properties": {
414 | "Node name for S&R": "ProcessInspyrenetRembg"
415 | },
416 | "widgets_values": [
417 | true,
418 | "green"
419 | ]
420 | },
421 | {
422 | "id": 47,
423 | "type": "VHS_LoadVideo",
424 | "pos": [
425 | 50,
426 | 55
427 | ],
428 | "size": [
429 | 247.455078125,
430 | 679.368611453202
431 | ],
432 | "flags": {},
433 | "order": 0,
434 | "mode": 0,
435 | "inputs": [
436 | {
437 | "name": "meta_batch",
438 | "type": "VHS_BatchManager",
439 | "link": null
440 | },
441 | {
442 | "name": "vae",
443 | "type": "VAE",
444 | "link": null
445 | }
446 | ],
447 | "outputs": [
448 | {
449 | "name": "IMAGE",
450 | "type": "IMAGE",
451 | "links": [
452 | 115,
453 | 165
454 | ],
455 | "slot_index": 0,
456 | "shape": 3
457 | },
458 | {
459 | "name": "frame_count",
460 | "type": "INT",
461 | "links": null,
462 | "shape": 3
463 | },
464 | {
465 | "name": "audio",
466 | "type": "AUDIO",
467 | "links": null,
468 | "shape": 3
469 | },
470 | {
471 | "name": "video_info",
472 | "type": "VHS_VIDEOINFO",
473 | "links": null,
474 | "shape": 3
475 | }
476 | ],
477 | "properties": {
478 | "Node name for S&R": "VHS_LoadVideo"
479 | },
480 | "widgets_values": {
481 | "video": "🏴_☠️⚓️.mp4",
482 | "force_rate": 0,
483 | "force_size": "Disabled",
484 | "custom_width": 512,
485 | "custom_height": 512,
486 | "frame_load_cap": 0,
487 | "skip_first_frames": 0,
488 | "select_every_nth": 30,
489 | "choose video to upload": "image",
490 | "videopreview": {
491 | "hidden": false,
492 | "paused": false,
493 | "params": {
494 | "frame_load_cap": 0,
495 | "skip_first_frames": 0,
496 | "force_rate": 0,
497 | "filename": "🏴_☠️⚓️.mp4",
498 | "type": "input",
499 | "format": "video/mp4",
500 | "select_every_nth": 30
501 | },
502 | "muted": false
503 | }
504 | }
505 | },
506 | {
507 | "id": 60,
508 | "type": "VHS_VideoCombine",
509 | "pos": [
510 | 1648,
511 | 48
512 | ],
513 | "size": [
514 | 295.00213623046875,
515 | 811.688517453048
516 | ],
517 | "flags": {},
518 | "order": 8,
519 | "mode": 0,
520 | "inputs": [
521 | {
522 | "name": "images",
523 | "type": "IMAGE",
524 | "link": 169
525 | },
526 | {
527 | "name": "audio",
528 | "type": "AUDIO",
529 | "link": null
530 | },
531 | {
532 | "name": "meta_batch",
533 | "type": "VHS_BatchManager",
534 | "link": null
535 | },
536 | {
537 | "name": "vae",
538 | "type": "VAE",
539 | "link": null
540 | }
541 | ],
542 | "outputs": [
543 | {
544 | "name": "Filenames",
545 | "type": "VHS_FILENAMES",
546 | "links": null,
547 | "shape": 3
548 | }
549 | ],
550 | "properties": {
551 | "Node name for S&R": "VHS_VideoCombine"
552 | },
553 | "widgets_values": {
554 | "frame_rate": 1,
555 | "loop_count": 0,
556 | "filename_prefix": "AnimateDiff",
557 | "format": "video/h264-mp4",
558 | "pix_fmt": "yuv420p",
559 | "crf": 19,
560 | "save_metadata": false,
561 | "pingpong": false,
562 | "save_output": false,
563 | "videopreview": {
564 | "hidden": false,
565 | "paused": false,
566 | "params": {
567 | "filename": "AnimateDiff_00031.mp4",
568 | "subfolder": "",
569 | "type": "temp",
570 | "format": "video/h264-mp4",
571 | "frame_rate": 15
572 | },
573 | "muted": false
574 | }
575 | }
576 | }
577 | ],
578 | "links": [
579 | [
580 | 115,
581 | 47,
582 | 0,
583 | 51,
584 | 0,
585 | "IMAGE"
586 | ],
587 | [
588 | 116,
589 | 51,
590 | 0,
591 | 52,
592 | 0,
593 | "IMAGE"
594 | ],
595 | [
596 | 117,
597 | 51,
598 | 1,
599 | 52,
600 | 1,
601 | "MASK"
602 | ],
603 | [
604 | 139,
605 | 52,
606 | 0,
607 | 59,
608 | 0,
609 | "IMAGE"
610 | ],
611 | [
612 | 154,
613 | 52,
614 | 0,
615 | 48,
616 | 0,
617 | "IMAGE"
618 | ],
619 | [
620 | 157,
621 | 59,
622 | 0,
623 | 43,
624 | 1,
625 | "IMAGE"
626 | ],
627 | [
628 | 164,
629 | 43,
630 | 0,
631 | 49,
632 | 0,
633 | "IMAGE"
634 | ],
635 | [
636 | 165,
637 | 47,
638 | 0,
639 | 43,
640 | 0,
641 | "IMAGE"
642 | ],
643 | [
644 | 168,
645 | 59,
646 | 0,
647 | 61,
648 | 1,
649 | "IMAGE"
650 | ],
651 | [
652 | 169,
653 | 61,
654 | 0,
655 | 60,
656 | 0,
657 | "IMAGE"
658 | ],
659 | [
660 | 170,
661 | 52,
662 | 0,
663 | 61,
664 | 0,
665 | "IMAGE"
666 | ]
667 | ],
668 | "groups": [],
669 | "config": {},
670 | "extra": {
671 | "ds": {
672 | "scale": 1.0152559799477316,
673 | "offset": [
674 | 269.18602284028617,
675 | 120.51538396615277
676 | ]
677 | }
678 | },
679 | "version": 0.4
680 | }
--------------------------------------------------------------------------------