aleph65 commited on
Commit
00bef6c
·
verified ·
1 Parent(s): b6d16c5

Upload workflows/api/outpaint-flux-fill.json with huggingface_hub

Browse files
Files changed (1) hide show
  1. workflows/api/outpaint-flux-fill.json +477 -0
workflows/api/outpaint-flux-fill.json ADDED
@@ -0,0 +1,477 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "1": {
3
+ "_meta": {
4
+ "title": "Source Image"
5
+ },
6
+ "class_type": "LoadImage",
7
+ "inputs": {
8
+ "image": "example.png"
9
+ }
10
+ },
11
+ "10": {
12
+ "_meta": {
13
+ "title": "Resize to fit target"
14
+ },
15
+ "class_type": "ImageScale",
16
+ "inputs": {
17
+ "crop": "disabled",
18
+ "height": [
19
+ "9",
20
+ 0
21
+ ],
22
+ "image": [
23
+ "1",
24
+ 0
25
+ ],
26
+ "upscale_method": "lanczos",
27
+ "width": [
28
+ "8",
29
+ 0
30
+ ]
31
+ }
32
+ },
33
+ "11": {
34
+ "_meta": {
35
+ "title": "pad left"
36
+ },
37
+ "class_type": "MathExpression|pysssss",
38
+ "inputs": {
39
+ "a": [
40
+ "10",
41
+ 0
42
+ ],
43
+ "b": [
44
+ "2",
45
+ 0
46
+ ],
47
+ "c": [
48
+ "4",
49
+ 0
50
+ ],
51
+ "expression": "max(floor((b - a.width) * c), 0)"
52
+ }
53
+ },
54
+ "12": {
55
+ "_meta": {
56
+ "title": "pad right"
57
+ },
58
+ "class_type": "MathExpression|pysssss",
59
+ "inputs": {
60
+ "a": [
61
+ "10",
62
+ 0
63
+ ],
64
+ "b": [
65
+ "2",
66
+ 0
67
+ ],
68
+ "c": [
69
+ "11",
70
+ 0
71
+ ],
72
+ "expression": "max(b - a.width - c, 0)"
73
+ }
74
+ },
75
+ "13": {
76
+ "_meta": {
77
+ "title": "pad top"
78
+ },
79
+ "class_type": "MathExpression|pysssss",
80
+ "inputs": {
81
+ "a": [
82
+ "10",
83
+ 0
84
+ ],
85
+ "b": [
86
+ "3",
87
+ 0
88
+ ],
89
+ "c": [
90
+ "5",
91
+ 0
92
+ ],
93
+ "expression": "max(floor((b - a.height) * c), 0)"
94
+ }
95
+ },
96
+ "14": {
97
+ "_meta": {
98
+ "title": "pad bottom"
99
+ },
100
+ "class_type": "MathExpression|pysssss",
101
+ "inputs": {
102
+ "a": [
103
+ "10",
104
+ 0
105
+ ],
106
+ "b": [
107
+ "3",
108
+ 0
109
+ ],
110
+ "c": [
111
+ "13",
112
+ 0
113
+ ],
114
+ "expression": "max(b - a.height - c, 0)"
115
+ }
116
+ },
117
+ "15": {
118
+ "_meta": {
119
+ "title": "Pad to exact target"
120
+ },
121
+ "class_type": "ImagePadForOutpaint",
122
+ "inputs": {
123
+ "bottom": [
124
+ "14",
125
+ 0
126
+ ],
127
+ "feathering": [
128
+ "6",
129
+ 0
130
+ ],
131
+ "image": [
132
+ "10",
133
+ 0
134
+ ],
135
+ "left": [
136
+ "11",
137
+ 0
138
+ ],
139
+ "right": [
140
+ "12",
141
+ 0
142
+ ],
143
+ "top": [
144
+ "13",
145
+ 0
146
+ ]
147
+ }
148
+ },
149
+ "16": {
150
+ "_meta": {
151
+ "title": "keep-region mask"
152
+ },
153
+ "class_type": "InvertMask",
154
+ "inputs": {
155
+ "mask": [
156
+ "15",
157
+ 1
158
+ ]
159
+ }
160
+ },
161
+ "17": {
162
+ "class_type": "UNETLoader",
163
+ "inputs": {
164
+ "unet_name": "flux1-fill-dev.safetensors",
165
+ "weight_dtype": "default"
166
+ }
167
+ },
168
+ "18": {
169
+ "_meta": {
170
+ "title": "Turbo-Alpha 8-step LoRA"
171
+ },
172
+ "class_type": "LoraLoaderModelOnly",
173
+ "inputs": {
174
+ "lora_name": "flux1-turbo-alpha.safetensors",
175
+ "model": [
176
+ "17",
177
+ 0
178
+ ],
179
+ "strength_model": 1.0
180
+ }
181
+ },
182
+ "19": {
183
+ "class_type": "DualCLIPLoader",
184
+ "inputs": {
185
+ "clip_name1": "clip_l.safetensors",
186
+ "clip_name2": "t5xxl_fp16.safetensors",
187
+ "device": "default",
188
+ "type": "flux"
189
+ }
190
+ },
191
+ "2": {
192
+ "_meta": {
193
+ "title": "target_width"
194
+ },
195
+ "class_type": "PrimitiveInt",
196
+ "inputs": {
197
+ "value": 1216
198
+ }
199
+ },
200
+ "20": {
201
+ "class_type": "VAELoader",
202
+ "inputs": {
203
+ "vae_name": "ae.safetensors"
204
+ }
205
+ },
206
+ "21": {
207
+ "_meta": {
208
+ "title": "Prompt"
209
+ },
210
+ "class_type": "PrimitiveStringMultiline",
211
+ "inputs": {
212
+ "value": "photo, seamless natural continuation of the scene, consistent lighting, high quality"
213
+ }
214
+ },
215
+ "22": {
216
+ "_meta": {
217
+ "title": "Positive"
218
+ },
219
+ "class_type": "CLIPTextEncode",
220
+ "inputs": {
221
+ "clip": [
222
+ "19",
223
+ 0
224
+ ],
225
+ "text": [
226
+ "21",
227
+ 0
228
+ ]
229
+ }
230
+ },
231
+ "23": {
232
+ "_meta": {
233
+ "title": "Fill guidance (keep high)"
234
+ },
235
+ "class_type": "FluxGuidance",
236
+ "inputs": {
237
+ "conditioning": [
238
+ "22",
239
+ 0
240
+ ],
241
+ "guidance": 30.0
242
+ }
243
+ },
244
+ "24": {
245
+ "_meta": {
246
+ "title": "Negative (unused, cfg 1)"
247
+ },
248
+ "class_type": "CLIPTextEncode",
249
+ "inputs": {
250
+ "clip": [
251
+ "19",
252
+ 0
253
+ ],
254
+ "text": ""
255
+ }
256
+ },
257
+ "25": {
258
+ "class_type": "InpaintModelConditioning",
259
+ "inputs": {
260
+ "mask": [
261
+ "15",
262
+ 1
263
+ ],
264
+ "negative": [
265
+ "24",
266
+ 0
267
+ ],
268
+ "noise_mask": true,
269
+ "pixels": [
270
+ "15",
271
+ 0
272
+ ],
273
+ "positive": [
274
+ "23",
275
+ 0
276
+ ],
277
+ "vae": [
278
+ "20",
279
+ 0
280
+ ]
281
+ }
282
+ },
283
+ "26": {
284
+ "class_type": "KSampler",
285
+ "inputs": {
286
+ "cfg": 1.0,
287
+ "denoise": 1.0,
288
+ "latent_image": [
289
+ "25",
290
+ 2
291
+ ],
292
+ "model": [
293
+ "18",
294
+ 0
295
+ ],
296
+ "negative": [
297
+ "25",
298
+ 1
299
+ ],
300
+ "positive": [
301
+ "25",
302
+ 0
303
+ ],
304
+ "sampler_name": "euler",
305
+ "scheduler": "simple",
306
+ "seed": 0,
307
+ "steps": 8
308
+ }
309
+ },
310
+ "27": {
311
+ "class_type": "VAEDecode",
312
+ "inputs": {
313
+ "samples": [
314
+ "26",
315
+ 0
316
+ ],
317
+ "vae": [
318
+ "20",
319
+ 0
320
+ ]
321
+ }
322
+ },
323
+ "28": {
324
+ "_meta": {
325
+ "title": "Snap to exact target dims"
326
+ },
327
+ "class_type": "ImageScale",
328
+ "inputs": {
329
+ "crop": "disabled",
330
+ "height": [
331
+ "3",
332
+ 0
333
+ ],
334
+ "image": [
335
+ "27",
336
+ 0
337
+ ],
338
+ "upscale_method": "lanczos",
339
+ "width": [
340
+ "2",
341
+ 0
342
+ ]
343
+ }
344
+ },
345
+ "29": {
346
+ "_meta": {
347
+ "title": "Paste original pixels back"
348
+ },
349
+ "class_type": "ImageCompositeMasked",
350
+ "inputs": {
351
+ "destination": [
352
+ "28",
353
+ 0
354
+ ],
355
+ "mask": [
356
+ "16",
357
+ 0
358
+ ],
359
+ "resize_source": false,
360
+ "source": [
361
+ "15",
362
+ 0
363
+ ],
364
+ "x": 0,
365
+ "y": 0
366
+ }
367
+ },
368
+ "3": {
369
+ "_meta": {
370
+ "title": "target_height"
371
+ },
372
+ "class_type": "PrimitiveInt",
373
+ "inputs": {
374
+ "value": 1216
375
+ }
376
+ },
377
+ "30": {
378
+ "class_type": "SaveImage",
379
+ "inputs": {
380
+ "filename_prefix": "outpaint/flux-fill",
381
+ "images": [
382
+ "29",
383
+ 0
384
+ ]
385
+ }
386
+ },
387
+ "4": {
388
+ "_meta": {
389
+ "title": "anchor_x (0=left 0.5=center 1=right)"
390
+ },
391
+ "class_type": "PrimitiveFloat",
392
+ "inputs": {
393
+ "value": 0.5
394
+ }
395
+ },
396
+ "5": {
397
+ "_meta": {
398
+ "title": "anchor_y (0=top 0.5=center 1=bottom)"
399
+ },
400
+ "class_type": "PrimitiveFloat",
401
+ "inputs": {
402
+ "value": 0.5
403
+ }
404
+ },
405
+ "6": {
406
+ "_meta": {
407
+ "title": "feathering (px)"
408
+ },
409
+ "class_type": "PrimitiveInt",
410
+ "inputs": {
411
+ "value": 40
412
+ }
413
+ },
414
+ "7": {
415
+ "_meta": {
416
+ "title": "fit scale"
417
+ },
418
+ "class_type": "MathExpression|pysssss",
419
+ "inputs": {
420
+ "a": [
421
+ "1",
422
+ 0
423
+ ],
424
+ "b": [
425
+ "2",
426
+ 0
427
+ ],
428
+ "c": [
429
+ "3",
430
+ 0
431
+ ],
432
+ "expression": "min(b / a.width, c / a.height)"
433
+ }
434
+ },
435
+ "8": {
436
+ "_meta": {
437
+ "title": "fit width"
438
+ },
439
+ "class_type": "MathExpression|pysssss",
440
+ "inputs": {
441
+ "a": [
442
+ "1",
443
+ 0
444
+ ],
445
+ "b": [
446
+ "7",
447
+ 1
448
+ ],
449
+ "c": [
450
+ "2",
451
+ 0
452
+ ],
453
+ "expression": "min(round(a.width * b), c)"
454
+ }
455
+ },
456
+ "9": {
457
+ "_meta": {
458
+ "title": "fit height"
459
+ },
460
+ "class_type": "MathExpression|pysssss",
461
+ "inputs": {
462
+ "a": [
463
+ "1",
464
+ 0
465
+ ],
466
+ "b": [
467
+ "7",
468
+ 1
469
+ ],
470
+ "c": [
471
+ "3",
472
+ 0
473
+ ],
474
+ "expression": "min(round(a.height * b), c)"
475
+ }
476
+ }
477
+ }