Text-to-Image
flux
lora
style
kohya-ss
kirusanth08 commited on
Commit
add2822
·
verified ·
1 Parent(s): de9a776

v1: 5 checkpoints, samples, workflow, model card

Browse files
.gitattributes CHANGED
@@ -33,3 +33,24 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ samples/best_grid.jpg filter=lfs diff=lfs merge=lfs -text
37
+ samples/checkpoint_grid.jpg filter=lfs diff=lfs merge=lfs -text
38
+ samples/step1200_portrait_s10.png filter=lfs diff=lfs merge=lfs -text
39
+ samples/step1200_portrait_s15.png filter=lfs diff=lfs merge=lfs -text
40
+ samples/step1200_scene_s10.png filter=lfs diff=lfs merge=lfs -text
41
+ samples/step1200_scene_s15.png filter=lfs diff=lfs merge=lfs -text
42
+ samples/step1600_portrait_s10.png filter=lfs diff=lfs merge=lfs -text
43
+ samples/step1600_portrait_s15.png filter=lfs diff=lfs merge=lfs -text
44
+ samples/step1600_scene_s10.png filter=lfs diff=lfs merge=lfs -text
45
+ samples/step1600_scene_s15.png filter=lfs diff=lfs merge=lfs -text
46
+ samples/step2000_portrait_s10.png filter=lfs diff=lfs merge=lfs -text
47
+ samples/step2000_portrait_s15.png filter=lfs diff=lfs merge=lfs -text
48
+ samples/step2000_portrait_s20.png filter=lfs diff=lfs merge=lfs -text
49
+ samples/step2000_scene_s10.png filter=lfs diff=lfs merge=lfs -text
50
+ samples/step2000_scene_s15.png filter=lfs diff=lfs merge=lfs -text
51
+ samples/step2000_scene_s20.png filter=lfs diff=lfs merge=lfs -text
52
+ samples/step400_portrait_s10.png filter=lfs diff=lfs merge=lfs -text
53
+ samples/step400_scene_s10.png filter=lfs diff=lfs merge=lfs -text
54
+ samples/step800_portrait_s10.png filter=lfs diff=lfs merge=lfs -text
55
+ samples/step800_scene_s10.png filter=lfs diff=lfs merge=lfs -text
56
+ samples/strength_grid.jpg filter=lfs diff=lfs merge=lfs -text
README.md ADDED
@@ -0,0 +1,101 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ base_model: black-forest-labs/FLUX.1-dev
3
+ tags:
4
+ - flux
5
+ - lora
6
+ - text-to-image
7
+ - style
8
+ - kohya-ss
9
+ license: other
10
+ license_name: flux-1-dev-non-commercial-license
11
+ license_link: https://huggingface.co/black-forest-labs/FLUX.1-dev/blob/main/LICENSE.md
12
+ instance_prompt: sty1ref
13
+ pipeline_tag: text-to-image
14
+ ---
15
+
16
+ # sty1ref — FLUX.1-dev style LoRA (v1)
17
+
18
+ A stylised portrait-illustration LoRA: hard-edged planar shading, flat colour blocking
19
+ across the face, visible geometric facets in skin and hair, muted palette.
20
+
21
+ **Trigger word: `sty1ref`** — put it at the front of the prompt.
22
+
23
+ ## Recommended settings
24
+
25
+ | Setting | Value |
26
+ |---|---|
27
+ | Checkpoint | `sty1ref-step00002000.safetensors` |
28
+ | **LoRA strength** | **1.4 – 1.6** (not 1.0 — see below) |
29
+ | Base | `flux1-dev` (fp8_e4m3fn is fine) |
30
+ | Sampler / scheduler | euler / beta, 28 steps |
31
+ | FluxGuidance | 3.0 |
32
+ | CFG | 1.0 (Flux dev is CFG-distilled; negatives do nothing) |
33
+
34
+ ## Read this before using it
35
+
36
+ **Strength 1.0 is too weak.** This LoRA is undertrained at unit strength — a prompt
37
+ rendered at 1.0 comes back looking like base Flux with a light stylisation pass. The
38
+ faceted planar shading only appears clearly from about 1.4 upward. 1.5 is the sweet
39
+ spot; 2.0 works but muddies the midtones.
40
+
41
+ **It is portrait-biased.** All 12 training images are head-and-shoulders portraits, so
42
+ the trigger has only ever co-occurred with faces. Consequences:
43
+
44
+ - Portraits of unseen subjects: works well at 1.5.
45
+ - Scenes without people (streets, landscapes, objects): the output becomes *painterly*
46
+ but does not pick up the hard faceted planes. At 1.0 it is essentially unstyled.
47
+
48
+ If you need this texture on arbitrary scenes, retrain with non-portrait references in
49
+ the same style — full figures, architecture, objects, landscapes. That is the fix; no
50
+ strength value substitutes for it.
51
+
52
+ ## Checkpoints
53
+
54
+ | File | Steps | Notes |
55
+ |---|---|---|
56
+ | `sty1ref-step00000400.safetensors` | 400 | barely stylised |
57
+ | `sty1ref-step00000800.safetensors` | 800 | faint |
58
+ | `sty1ref-step00001200.safetensors` | 1200 | usable at 1.5 |
59
+ | `sty1ref-step00001600.safetensors` | 1600 | close second |
60
+ | `sty1ref-step00002000.safetensors` | 2000 | **recommended** |
61
+
62
+ `samples/` holds two renders per checkpoint at a fixed seed (42) — one portrait of an
63
+ unseen subject, one people-free scene — plus the comparison grids.
64
+
65
+ ## Training recipe
66
+
67
+ kohya-ss `sd-scripts` (sd3 branch), `flux_train_network.py`, on one RTX 5090 (32 GB),
68
+ ~1 hour for 2000 steps.
69
+
70
+ ```
71
+ --network_module networks.lora_flux --network_dim 24 --network_alpha 24
72
+ --network_train_unet_only
73
+ --optimizer_type adamw8bit --learning_rate 1e-4
74
+ --lr_scheduler constant_with_warmup --lr_warmup_steps 40
75
+ --max_train_steps 2000 --save_every_n_steps 400
76
+ --gradient_checkpointing --mixed_precision bf16 --fp8_base --sdpa --highvram
77
+ --timestep_sampling shift --discrete_flow_shift 3.1582
78
+ --model_prediction_type raw --guidance_scale 1.0 --loss_type l2
79
+ ```
80
+
81
+ Dataset: 12 images, aspect-ratio bucketing at 1024 base with `bucket_no_upscale`,
82
+ `keep_tokens = 1`. Captions describe **content only** (subject, clothing, framing,
83
+ background) so that everything constant across the set collapses onto the trigger token
84
+ rather than scattering across style adjectives.
85
+
86
+ Known cause of the weak transfer: 12 images at lr 1e-4 for 2000 steps undercooks this
87
+ style. A v2 should use more images and/or lr 2e-4.
88
+
89
+ ## Dataset
90
+
91
+ `kirusanth08/sty1ref-dataset` (private) — the 12 cleaned images and their caption files.
92
+
93
+ ## Usage (ComfyUI)
94
+
95
+ `workflow/workflow_api.json` is a working API-format graph at the recommended settings.
96
+ `workflow/workflow.json` drags onto the canvas.
97
+
98
+ ## Licence
99
+
100
+ Inherits the FLUX.1-dev non-commercial licence. The training references were collected
101
+ from the web and are not owned by the author of this LoRA; treat outputs accordingly.
samples/best_grid.jpg ADDED

Git LFS Details

  • SHA256: 56c53eb0803d5c97045cc88db0d312b2a587ee324d4c8300f57d2c3f631b96ad
  • Pointer size: 131 Bytes
  • Size of remote file: 220 kB
samples/checkpoint_grid.jpg ADDED

Git LFS Details

  • SHA256: 993fe99a701fc062a416af4cabb4ba8bfed29eb62bb2c1378c5de56540a2e5b6
  • Pointer size: 131 Bytes
  • Size of remote file: 320 kB
samples/step1200_portrait_s10.png ADDED

Git LFS Details

  • SHA256: 94f3de588d030a8873dbb2080ac47c0d1114d2c005b6cfee7c791e44c3a89dfd
  • Pointer size: 132 Bytes
  • Size of remote file: 1.32 MB
samples/step1200_portrait_s15.png ADDED

Git LFS Details

  • SHA256: a3b23760fa38e67f1a6aa858190b0710ffab233fa8f86e5848b03a74a474a579
  • Pointer size: 132 Bytes
  • Size of remote file: 1.36 MB
samples/step1200_scene_s10.png ADDED

Git LFS Details

  • SHA256: c03b40779a58afca4a8d1a4fb1ddc4ebacf89e51e6bea16b313cb808ba7aa402
  • Pointer size: 132 Bytes
  • Size of remote file: 1.5 MB
samples/step1200_scene_s15.png ADDED

Git LFS Details

  • SHA256: d3f538bdc2cf474beebe7d2b17ffb44c319baca54907cc72af08f0f031813b4a
  • Pointer size: 132 Bytes
  • Size of remote file: 1.4 MB
samples/step1600_portrait_s10.png ADDED

Git LFS Details

  • SHA256: 5de498457a6dbd00fe437ae93c1c9eea6cf7aa7c1116d2fa3fe3b3a03f9c25e2
  • Pointer size: 132 Bytes
  • Size of remote file: 1.23 MB
samples/step1600_portrait_s15.png ADDED

Git LFS Details

  • SHA256: b3f1ce18b4141426a11da38fb9ba32da2a223f313cdbb7536a3022af0ba6a5fa
  • Pointer size: 132 Bytes
  • Size of remote file: 1.32 MB
samples/step1600_scene_s10.png ADDED

Git LFS Details

  • SHA256: 56486a3bf83b0d5b82f60987a69ba6548be66f16ee49c4631bb9470319c5d1de
  • Pointer size: 132 Bytes
  • Size of remote file: 1.52 MB
samples/step1600_scene_s15.png ADDED

Git LFS Details

  • SHA256: f7de611b9b515def929cf8e3b096a93cad49829db25de18eadf659f01d2ae22f
  • Pointer size: 132 Bytes
  • Size of remote file: 1.48 MB
samples/step2000_portrait_s10.png ADDED

Git LFS Details

  • SHA256: 4a85f41db82fdfdeeb706d567147d6b9d3c20afc0e85c34007a56432414d1ada
  • Pointer size: 132 Bytes
  • Size of remote file: 1.22 MB
samples/step2000_portrait_s15.png ADDED

Git LFS Details

  • SHA256: d6fc3e846c03787df516cb14a4a4f273a4a6596418c1b41c0bcb2028a8e7770a
  • Pointer size: 132 Bytes
  • Size of remote file: 1.24 MB
samples/step2000_portrait_s20.png ADDED

Git LFS Details

  • SHA256: 207cec48e747cdd5a3cf81fd307e1be9247c304d25651cb58cc57361ac981988
  • Pointer size: 132 Bytes
  • Size of remote file: 1.23 MB
samples/step2000_scene_s10.png ADDED

Git LFS Details

  • SHA256: 6a49f06281c32471ca118e9162b4205518b34c8fce98614f1c64959762acd727
  • Pointer size: 132 Bytes
  • Size of remote file: 1.53 MB
samples/step2000_scene_s15.png ADDED

Git LFS Details

  • SHA256: 781ed110eb70db74c8622b7d6a4f4267bbe10f06016f95f0435819d6a2ad3554
  • Pointer size: 132 Bytes
  • Size of remote file: 1.52 MB
samples/step2000_scene_s20.png ADDED

Git LFS Details

  • SHA256: 224037dfdfc030bae8443bfabb2050c2de82ec81104681e9da5bb45dec0db218
  • Pointer size: 132 Bytes
  • Size of remote file: 1.51 MB
samples/step400_portrait_s10.png ADDED

Git LFS Details

  • SHA256: 2e15c20ac14204de01f07d3f8e9083b365114e00982ce044634ed6a10d502259
  • Pointer size: 132 Bytes
  • Size of remote file: 1.08 MB
samples/step400_scene_s10.png ADDED

Git LFS Details

  • SHA256: c7b62ba349d2706c774674ee507913b6302bf7d01ef6a27087662936bf651b2c
  • Pointer size: 132 Bytes
  • Size of remote file: 1.5 MB
samples/step800_portrait_s10.png ADDED

Git LFS Details

  • SHA256: 3291cfd3a8768f1dd62ee474478ef1842ec922a8bdd907d7a56aa8218df0baf3
  • Pointer size: 132 Bytes
  • Size of remote file: 1.24 MB
samples/step800_scene_s10.png ADDED

Git LFS Details

  • SHA256: 56868947f1d39e2e1d032e4ad30bd81e890d47e68a0cca118b7fc5c4dcac175d
  • Pointer size: 132 Bytes
  • Size of remote file: 1.61 MB
samples/strength_grid.jpg ADDED

Git LFS Details

  • SHA256: 79e59dafc1e63f5403983e11607de68e0708eee74f8fb41861a6ef8a4907f640
  • Pointer size: 131 Bytes
  • Size of remote file: 211 kB
sty1ref-step00000400.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:dc3af6670ee57338fa8ab2a22e8d335da3d65af10456102463c25535c9a8c7dd
3
+ size 229855896
sty1ref-step00000800.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:363df8326d2e6fdac7f5c7dc177c5969df22f8fe760662f06fc29e09961dc210
3
+ size 229855896
sty1ref-step00001200.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:68a3aef8bff4230340ff408bf829129b9fdc1354b145fe296d684f9827e92ddf
3
+ size 229855904
sty1ref-step00001600.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:14d820ccf154ebba0a7c6279715c3a1948b7a143dc6cf50aa12b2c1121f31c46
3
+ size 229855896
sty1ref-step00002000.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:39b232035417eedf2b657e5f422f889d7f98d4c56e27494f5b8a33cf5bfa38a7
3
+ size 229855904
workflow/workflow.json ADDED
@@ -0,0 +1,524 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "last_node_id": 11,
3
+ "last_link_id": 12,
4
+ "nodes": [
5
+ {
6
+ "id": 1,
7
+ "type": "UNETLoader",
8
+ "pos": [
9
+ 40,
10
+ 40
11
+ ],
12
+ "size": [
13
+ 380,
14
+ 82
15
+ ],
16
+ "flags": {},
17
+ "order": 0,
18
+ "mode": 0,
19
+ "inputs": [],
20
+ "outputs": [
21
+ {
22
+ "name": "MODEL",
23
+ "type": "MODEL",
24
+ "links": [
25
+ 1
26
+ ],
27
+ "slot_index": 0
28
+ }
29
+ ],
30
+ "properties": {
31
+ "Node name for S&R": "UNETLoader"
32
+ },
33
+ "widgets_values": [
34
+ "flux1-dev.safetensors",
35
+ "fp8_e4m3fn"
36
+ ],
37
+ "title": "Load Flux dev UNET"
38
+ },
39
+ {
40
+ "id": 2,
41
+ "type": "LoraLoaderModelOnly",
42
+ "pos": [
43
+ 40,
44
+ 180
45
+ ],
46
+ "size": [
47
+ 380,
48
+ 82
49
+ ],
50
+ "flags": {},
51
+ "order": 0,
52
+ "mode": 0,
53
+ "inputs": [
54
+ {
55
+ "name": "model",
56
+ "type": "MODEL",
57
+ "link": 1
58
+ }
59
+ ],
60
+ "outputs": [
61
+ {
62
+ "name": "MODEL",
63
+ "type": "MODEL",
64
+ "links": [
65
+ 2
66
+ ],
67
+ "slot_index": 0
68
+ }
69
+ ],
70
+ "properties": {
71
+ "Node name for S&R": "LoraLoaderModelOnly"
72
+ },
73
+ "widgets_values": [
74
+ "sk3tchref.safetensors",
75
+ 1.0
76
+ ],
77
+ "title": "Style LoRA (strength 0.8-1.0)"
78
+ },
79
+ {
80
+ "id": 3,
81
+ "type": "DualCLIPLoader",
82
+ "pos": [
83
+ 40,
84
+ 320
85
+ ],
86
+ "size": [
87
+ 380,
88
+ 130
89
+ ],
90
+ "flags": {},
91
+ "order": 0,
92
+ "mode": 0,
93
+ "inputs": [],
94
+ "outputs": [
95
+ {
96
+ "name": "CLIP",
97
+ "type": "CLIP",
98
+ "links": [
99
+ 3
100
+ ],
101
+ "slot_index": 0
102
+ }
103
+ ],
104
+ "properties": {
105
+ "Node name for S&R": "DualCLIPLoader"
106
+ },
107
+ "widgets_values": [
108
+ "clip_l.safetensors",
109
+ "t5xxl_fp16.safetensors",
110
+ "flux",
111
+ "default"
112
+ ],
113
+ "title": "Text encoders"
114
+ },
115
+ {
116
+ "id": 4,
117
+ "type": "VAELoader",
118
+ "pos": [
119
+ 40,
120
+ 500
121
+ ],
122
+ "size": [
123
+ 380,
124
+ 58
125
+ ],
126
+ "flags": {},
127
+ "order": 0,
128
+ "mode": 0,
129
+ "inputs": [],
130
+ "outputs": [
131
+ {
132
+ "name": "VAE",
133
+ "type": "VAE",
134
+ "links": [
135
+ 5
136
+ ],
137
+ "slot_index": 0
138
+ }
139
+ ],
140
+ "properties": {
141
+ "Node name for S&R": "VAELoader"
142
+ },
143
+ "widgets_values": [
144
+ "ae.safetensors"
145
+ ],
146
+ "title": "Flux VAE"
147
+ },
148
+ {
149
+ "id": 5,
150
+ "type": "CLIPTextEncode",
151
+ "pos": [
152
+ 470,
153
+ 40
154
+ ],
155
+ "size": [
156
+ 520,
157
+ 240
158
+ ],
159
+ "flags": {},
160
+ "order": 0,
161
+ "mode": 0,
162
+ "inputs": [
163
+ {
164
+ "name": "clip",
165
+ "type": "CLIP",
166
+ "link": 3
167
+ }
168
+ ],
169
+ "outputs": [
170
+ {
171
+ "name": "CONDITIONING",
172
+ "type": "CONDITIONING",
173
+ "links": [
174
+ 6,
175
+ 7
176
+ ],
177
+ "slot_index": 0
178
+ }
179
+ ],
180
+ "properties": {
181
+ "Node name for S&R": "CLIPTextEncode"
182
+ },
183
+ "widgets_values": [
184
+ "sk3tchref, a full body character illustration of a heavy-set adult man with deep dark brown skin, thick dark beard with grey streaks, short silver-grey buzz cut, gold hoop earring and thin gold chain, slouched and disinterested, holding a half-empty wine bottle low in one hand, wearing a faded olive-green oversized delivery jacket with cracked white TOONCITY lettering on the chest, grey undershirt, baggy dark work trousers, scuffed brown boots and a crumpled canvas bag over one shoulder, hand-painted character concept art, broad flat brush shapes, hard-edged colour blocking, muted desaturated palette, flat off-white background, thin grey shadow smear under the feet"
185
+ ],
186
+ "title": "Prompt - must start with sk3tchref"
187
+ },
188
+ {
189
+ "id": 6,
190
+ "type": "FluxGuidance",
191
+ "pos": [
192
+ 470,
193
+ 330
194
+ ],
195
+ "size": [
196
+ 520,
197
+ 58
198
+ ],
199
+ "flags": {},
200
+ "order": 0,
201
+ "mode": 0,
202
+ "inputs": [
203
+ {
204
+ "name": "conditioning",
205
+ "type": "CONDITIONING",
206
+ "link": 6
207
+ }
208
+ ],
209
+ "outputs": [
210
+ {
211
+ "name": "CONDITIONING",
212
+ "type": "CONDITIONING",
213
+ "links": [
214
+ 8
215
+ ],
216
+ "slot_index": 0
217
+ }
218
+ ],
219
+ "properties": {
220
+ "Node name for S&R": "FluxGuidance"
221
+ },
222
+ "widgets_values": [
223
+ 3.0
224
+ ],
225
+ "title": "FluxGuidance (adherence knob)"
226
+ },
227
+ {
228
+ "id": 7,
229
+ "type": "ConditioningZeroOut",
230
+ "pos": [
231
+ 470,
232
+ 430
233
+ ],
234
+ "size": [
235
+ 520,
236
+ 40
237
+ ],
238
+ "flags": {},
239
+ "order": 0,
240
+ "mode": 0,
241
+ "inputs": [
242
+ {
243
+ "name": "conditioning",
244
+ "type": "CONDITIONING",
245
+ "link": 7
246
+ }
247
+ ],
248
+ "outputs": [
249
+ {
250
+ "name": "CONDITIONING",
251
+ "type": "CONDITIONING",
252
+ "links": [
253
+ 9
254
+ ],
255
+ "slot_index": 0
256
+ }
257
+ ],
258
+ "properties": {
259
+ "Node name for S&R": "ConditioningZeroOut"
260
+ },
261
+ "widgets_values": [],
262
+ "title": "Empty negative (Flux dev is CFG-distilled)"
263
+ },
264
+ {
265
+ "id": 8,
266
+ "type": "EmptySD3LatentImage",
267
+ "pos": [
268
+ 470,
269
+ 520
270
+ ],
271
+ "size": [
272
+ 520,
273
+ 106
274
+ ],
275
+ "flags": {},
276
+ "order": 0,
277
+ "mode": 0,
278
+ "inputs": [],
279
+ "outputs": [
280
+ {
281
+ "name": "LATENT",
282
+ "type": "LATENT",
283
+ "links": [
284
+ 10
285
+ ],
286
+ "slot_index": 0
287
+ }
288
+ ],
289
+ "properties": {
290
+ "Node name for S&R": "EmptySD3LatentImage"
291
+ },
292
+ "widgets_values": [
293
+ 832,
294
+ 1216,
295
+ 1
296
+ ],
297
+ "title": "Canvas"
298
+ },
299
+ {
300
+ "id": 9,
301
+ "type": "KSampler",
302
+ "pos": [
303
+ 1040,
304
+ 40
305
+ ],
306
+ "size": [
307
+ 380,
308
+ 262
309
+ ],
310
+ "flags": {},
311
+ "order": 0,
312
+ "mode": 0,
313
+ "inputs": [
314
+ {
315
+ "name": "model",
316
+ "type": "MODEL",
317
+ "link": 2
318
+ },
319
+ {
320
+ "name": "positive",
321
+ "type": "CONDITIONING",
322
+ "link": 8
323
+ },
324
+ {
325
+ "name": "negative",
326
+ "type": "CONDITIONING",
327
+ "link": 9
328
+ },
329
+ {
330
+ "name": "latent_image",
331
+ "type": "LATENT",
332
+ "link": 10
333
+ }
334
+ ],
335
+ "outputs": [
336
+ {
337
+ "name": "LATENT",
338
+ "type": "LATENT",
339
+ "links": [
340
+ 11
341
+ ],
342
+ "slot_index": 0
343
+ }
344
+ ],
345
+ "properties": {
346
+ "Node name for S&R": "KSampler"
347
+ },
348
+ "widgets_values": [
349
+ 4242,
350
+ "randomize",
351
+ 28,
352
+ 1.0,
353
+ "euler",
354
+ "beta",
355
+ 1.0
356
+ ],
357
+ "title": "KSampler - cfg MUST stay 1.0"
358
+ },
359
+ {
360
+ "id": 10,
361
+ "type": "VAEDecode",
362
+ "pos": [
363
+ 1040,
364
+ 350
365
+ ],
366
+ "size": [
367
+ 380,
368
+ 46
369
+ ],
370
+ "flags": {},
371
+ "order": 0,
372
+ "mode": 0,
373
+ "inputs": [
374
+ {
375
+ "name": "samples",
376
+ "type": "LATENT",
377
+ "link": 11
378
+ },
379
+ {
380
+ "name": "vae",
381
+ "type": "VAE",
382
+ "link": 5
383
+ }
384
+ ],
385
+ "outputs": [
386
+ {
387
+ "name": "IMAGE",
388
+ "type": "IMAGE",
389
+ "links": [
390
+ 12
391
+ ],
392
+ "slot_index": 0
393
+ }
394
+ ],
395
+ "properties": {
396
+ "Node name for S&R": "VAEDecode"
397
+ },
398
+ "widgets_values": []
399
+ },
400
+ {
401
+ "id": 11,
402
+ "type": "SaveImage",
403
+ "pos": [
404
+ 1040,
405
+ 440
406
+ ],
407
+ "size": [
408
+ 440,
409
+ 450
410
+ ],
411
+ "flags": {},
412
+ "order": 0,
413
+ "mode": 0,
414
+ "inputs": [
415
+ {
416
+ "name": "images",
417
+ "type": "IMAGE",
418
+ "link": 12
419
+ }
420
+ ],
421
+ "outputs": [],
422
+ "properties": {
423
+ "Node name for S&R": "SaveImage"
424
+ },
425
+ "widgets_values": [
426
+ "sk3tchref"
427
+ ]
428
+ }
429
+ ],
430
+ "links": [
431
+ [
432
+ 1,
433
+ 1,
434
+ 0,
435
+ 2,
436
+ 0,
437
+ "MODEL"
438
+ ],
439
+ [
440
+ 2,
441
+ 2,
442
+ 0,
443
+ 9,
444
+ 0,
445
+ "MODEL"
446
+ ],
447
+ [
448
+ 3,
449
+ 3,
450
+ 0,
451
+ 5,
452
+ 0,
453
+ "CLIP"
454
+ ],
455
+ [
456
+ 5,
457
+ 4,
458
+ 0,
459
+ 10,
460
+ 1,
461
+ "VAE"
462
+ ],
463
+ [
464
+ 6,
465
+ 5,
466
+ 0,
467
+ 6,
468
+ 0,
469
+ "CONDITIONING"
470
+ ],
471
+ [
472
+ 7,
473
+ 5,
474
+ 0,
475
+ 7,
476
+ 0,
477
+ "CONDITIONING"
478
+ ],
479
+ [
480
+ 8,
481
+ 6,
482
+ 0,
483
+ 9,
484
+ 1,
485
+ "CONDITIONING"
486
+ ],
487
+ [
488
+ 9,
489
+ 7,
490
+ 0,
491
+ 9,
492
+ 2,
493
+ "CONDITIONING"
494
+ ],
495
+ [
496
+ 10,
497
+ 8,
498
+ 0,
499
+ 9,
500
+ 3,
501
+ "LATENT"
502
+ ],
503
+ [
504
+ 11,
505
+ 9,
506
+ 0,
507
+ 10,
508
+ 0,
509
+ "LATENT"
510
+ ],
511
+ [
512
+ 12,
513
+ 10,
514
+ 0,
515
+ 11,
516
+ 0,
517
+ "IMAGE"
518
+ ]
519
+ ],
520
+ "groups": [],
521
+ "config": {},
522
+ "extra": {},
523
+ "version": 0.4
524
+ }
workflow/workflow_api.json ADDED
@@ -0,0 +1,121 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "1": {
3
+ "class_type": "UNETLoader",
4
+ "inputs": {
5
+ "unet_name": "flux1-dev.safetensors",
6
+ "weight_dtype": "fp8_e4m3fn"
7
+ }
8
+ },
9
+ "1b": {
10
+ "class_type": "LoraLoaderModelOnly",
11
+ "inputs": {
12
+ "model": [
13
+ "1",
14
+ 0
15
+ ],
16
+ "lora_name": "sty1ref-step00002000.safetensors",
17
+ "strength_model": 1.5
18
+ }
19
+ },
20
+ "2": {
21
+ "class_type": "DualCLIPLoader",
22
+ "inputs": {
23
+ "clip_name1": "clip_l.safetensors",
24
+ "clip_name2": "t5xxl_fp16.safetensors",
25
+ "type": "flux"
26
+ }
27
+ },
28
+ "3": {
29
+ "class_type": "VAELoader",
30
+ "inputs": {
31
+ "vae_name": "ae.safetensors"
32
+ }
33
+ },
34
+ "4": {
35
+ "class_type": "CLIPTextEncode",
36
+ "inputs": {
37
+ "clip": [
38
+ "2",
39
+ 0
40
+ ],
41
+ "text": "sty1ref, an old fisherman with a thick white beard and a navy knitted cap, facing the viewer, muted grey green background"
42
+ }
43
+ },
44
+ "5": {
45
+ "class_type": "FluxGuidance",
46
+ "inputs": {
47
+ "conditioning": [
48
+ "4",
49
+ 0
50
+ ],
51
+ "guidance": 3.0
52
+ }
53
+ },
54
+ "11": {
55
+ "class_type": "ConditioningZeroOut",
56
+ "inputs": {
57
+ "conditioning": [
58
+ "4",
59
+ 0
60
+ ]
61
+ }
62
+ },
63
+ "12": {
64
+ "class_type": "EmptySD3LatentImage",
65
+ "inputs": {
66
+ "width": 896,
67
+ "height": 1152,
68
+ "batch_size": 1
69
+ }
70
+ },
71
+ "13": {
72
+ "class_type": "KSampler",
73
+ "inputs": {
74
+ "model": [
75
+ "1b",
76
+ 0
77
+ ],
78
+ "positive": [
79
+ "5",
80
+ 0
81
+ ],
82
+ "negative": [
83
+ "11",
84
+ 0
85
+ ],
86
+ "latent_image": [
87
+ "12",
88
+ 0
89
+ ],
90
+ "seed": 42,
91
+ "steps": 28,
92
+ "cfg": 1.0,
93
+ "sampler_name": "euler",
94
+ "scheduler": "beta",
95
+ "denoise": 1.0
96
+ }
97
+ },
98
+ "14": {
99
+ "class_type": "VAEDecode",
100
+ "inputs": {
101
+ "samples": [
102
+ "13",
103
+ 0
104
+ ],
105
+ "vae": [
106
+ "3",
107
+ 0
108
+ ]
109
+ }
110
+ },
111
+ "15": {
112
+ "class_type": "SaveImage",
113
+ "inputs": {
114
+ "images": [
115
+ "14",
116
+ 0
117
+ ],
118
+ "filename_prefix": "sty1ref"
119
+ }
120
+ }
121
+ }