工作流 /
图像工具 /
重打光: Beeble SwitchX

重打光: Beeble SwitchX
Relight: Beeble SwitchX
上传您的角色图像和参考风格/光照图像。生成将参考光照和风格应用于原始图像的编辑输出。
图像工具
9 个节点 2 个输入 14 次使用 ComfyUI ≥ 0.23.0 ComfyUI 8 KB
节点构成
SaveImage
× 2
LoadImage
× 2
BeebleSwitchXImageEdit
× 1
JoinImageWithAlpha
× 1
InvertMask
× 1
ImageCompare
× 1
MarkdownNote
× 1
官方标注的模型
SwitchX
工作流 JSON
和上面「下载工作流 JSON」是同一份文件。
1{
2 "id": "26d0d199-1925-4395-ac1f-57e3cbc6bcd4",
3 "revision": 0,
4 "last_node_id": 19,
5 "last_link_id": 24,
6 "nodes": [
7 {
8 "id": 7,
9 "type": "BeebleSwitchXImageEdit",
10 "pos": [
11 600,
12 1250
13 ],
14 "size": [
15 400,
16 265.328125
17 ],
18 "flags": [],
19 "order": 3,
20 "mode": 0,
21 "inputs": [
22 {
23 "name": "image",
24 "type": "IMAGE",
25 "link": 7
26 },
27 {
28 "name": "reference_image",
29 "shape": 7,
30 "type": "IMAGE",
31 "link": 24
32 }
33 ],
34 "outputs": [
35 {
36 "name": "image",
37 "type": "IMAGE",
38 "links": [
39 5,
40 19
41 ]
42 },
43 {
44 "name": "alpha",
45 "type": "MASK",
46 "links": [
47 11
48 ]
49 }
50 ],
51 "properties": {
52 "Node name for S&R": "BeebleSwitchXImageEdit"
53 },
54 "widgets_values": [
55 "Characters listening to music in the scene, product photography",
56 "auto",
57 "720p",
58 1784980040,
59 "randomize"
60 ],
61 "color": "#432",
62 "bgcolor": "#653"
63 },
64 {
65 "id": 8,
66 "type": "SaveImage",
67 "pos": [
68 1050,
69 1250
70 ],
71 "size": [
72 450,
73 470
74 ],
75 "flags": [],
76 "order": 4,
77 "mode": 0,
78 "inputs": [
79 {
80 "name": "images",
81 "type": "IMAGE",
82 "link": 5
83 }
84 ],
85 "outputs": [],
86 "properties": [],
87 "widgets_values": [
88 "Beeble_SwitchX"
89 ]
90 },
91 {
92 "id": 9,
93 "type": "JoinImageWithAlpha",
94 "pos": [
95 1070,
96 1840
97 ],
98 "size": [
99 225,
100 8
101 ],
102 "flags": {
103 "collapsed": true
104 },
105 "order": 7,
106 "mode": 0,
107 "inputs": [
108 {
109 "name": "image",
110 "type": "IMAGE",
111 "link": 8
112 },
113 {
114 "name": "alpha",
115 "type": "MASK",
116 "link": 12
117 }
118 ],
119 "outputs": [
120 {
121 "name": "IMAGE",
122 "type": "IMAGE",
123 "links": [
124 9
125 ]
126 }
127 ],
128 "properties": {
129 "Node name for S&R": "JoinImageWithAlpha"
130 },
131 "widgets_values": []
132 },
133 {
134 "id": 10,
135 "type": "LoadImage",
136 "pos": [
137 170,
138 1250
139 ],
140 "size": [
141 360,
142 490
143 ],
144 "flags": [],
145 "order": 0,
146 "mode": 0,
147 "inputs": [],
148 "outputs": [
149 {
150 "name": "IMAGE",
151 "type": "IMAGE",
152 "links": [
153 7,
154 8,
155 18
156 ]
157 },
158 {
159 "name": "MASK",
160 "type": "MASK",
161 "links": []
162 }
163 ],
164 "properties": {
165 "Node name for S&R": "LoadImage"
166 },
167 "widgets_values": [
168 "soft_light_headphones_man.png",
169 "image"
170 ]
171 },
172 {
173 "id": 11,
174 "type": "SaveImage",
175 "pos": [
176 1070,
177 1900
178 ],
179 "size": [
180 550,
181 460
182 ],
183 "flags": [],
184 "order": 8,
185 "mode": 0,
186 "inputs": [
187 {
188 "name": "images",
189 "type": "IMAGE",
190 "link": 9
191 }
192 ],
193 "outputs": [],
194 "properties": [],
195 "widgets_values": [
196 "Beeble_SX_cutout"
197 ]
198 },
199 {
200 "id": 13,
201 "type": "InvertMask",
202 "pos": [
203 1070,
204 1790
205 ],
206 "size": [
207 225,
208 8
209 ],
210 "flags": {
211 "collapsed": true
212 },
213 "order": 6,
214 "mode": 0,
215 "inputs": [
216 {
217 "name": "mask",
218 "type": "MASK",
219 "link": 11
220 }
221 ],
222 "outputs": [
223 {
224 "name": "MASK",
225 "type": "MASK",
226 "links": [
227 12
228 ]
229 }
230 ],
231 "properties": {
232 "Node name for S&R": "InvertMask"
233 },
234 "widgets_values": []
235 },
236 {
237 "id": 16,
238 "type": "ImageCompare",
239 "pos": [
240 1560,
241 1250
242 ],
243 "size": [
244 490,
245 470
246 ],
247 "flags": [],
248 "order": 5,
249 "mode": 0,
250 "inputs": [
251 {
252 "name": "image_a",
253 "shape": 7,
254 "type": "IMAGE",
255 "link": 18
256 },
257 {
258 "name": "image_b",
259 "shape": 7,
260 "type": "IMAGE",
261 "link": 19
262 }
263 ],
264 "outputs": [],
265 "properties": {
266 "Node name for S&R": "ImageCompare"
267 },
268 "widgets_values": []
269 },
270 {
271 "id": 17,
272 "type": "LoadImage",
273 "pos": [
274 180,
275 1820
276 ],
277 "size": [
278 350,
279 420
280 ],
281 "flags": [],
282 "order": 1,
283 "mode": 0,
284 "inputs": [],
285 "outputs": [
286 {
287 "name": "IMAGE",
288 "type": "IMAGE",
289 "links": [
290 24
291 ]
292 },
293 {
294 "name": "MASK",
295 "type": "MASK",
296 "links": null
297 }
298 ],
299 "title": "Load Image (Optional)",
300 "properties": {
301 "Node name for S&R": "LoadImage"
302 },
303 "widgets_values": [
304 "simple_modern_living_space.png",
305 "image"
306 ]
307 },
308 {
309 "id": 19,
310 "type": "MarkdownNote",
311 "pos": [
312 -460,
313 1250
314 ],
315 "size": [
316 550,
317 1066.53125
318 ],
319 "flags": [],
320 "order": 2,
321 "mode": 0,
322 "inputs": [],
323 "outputs": [],
324 "title": "Beeble SwitchX Image Edit",
325 "properties": [],
326 "widgets_values": [
327 "## Beeble SwitchX — Image Edit\n\n**Switch anything, keep what matters.** Masked regions follow your prompt and reference; unmasked regions keep the source pixels and are relit to match.\n\n---\n\n### What this graph does\n\n1. **Source image** — the still SwitchX edits.\n2. **Reference image** (optional) — visual blueprint for background, lighting, mood, and costumes. Masked areas are filled from it; the subject adopts its look without replacing unmasked pixels.\n3. **Beeble API** — uploads both, runs SwitchX, then downloads the **render** and the **alpha matte** Beeble used.\n4. **Outputs you get:** the composited result, a before/after compare, and (via alpha) a transparent cutout PNG.\n\nAt least one of **prompt** or **reference_image** is required.\n\n---\n\n### Alpha modes\n\n| Comfy | Beeble | Best for |\n|-------|--------|----------|\n| **auto** | Auto | Background swap, relighting, virtual production |\n| **select** | Select | Targeted edits (outfit, inpainting); connect your mask |\n| **fill** | Fill | Full-frame relight/restyle; no separate alpha output |\n| **custom** | Upload | Custom matte from Nuke, After Effects, etc. |\n\n---\n\n### Prompting \n\nBe specific — environment, lighting, mood:\n\n*\"A dramatic cliff in Ireland, soft overcast lighting, highly detailed props.\"*\n\nAvoid vague prompts (e.g. *\"Take me to heaven\"*).\n\n**Reference image:** does not need to match the source perfectly; SwitchX keeps your real pixels outside the mask and only pulls style/lighting from the reference.\n\nVideo: use **Beeble SwitchX Video Edit** (max 240 frames)."
328 ],
329 "color": "#222",
330 "bgcolor": "#000"
331 }
332 ],
333 "links": [
334 [
335 5,
336 7,
337 0,
338 8,
339 0,
340 "IMAGE"
341 ],
342 [
343 7,
344 10,
345 0,
346 7,
347 0,
348 "IMAGE"
349 ],
350 [
351 8,
352 10,
353 0,
354 9,
355 0,
356 "IMAGE"
357 ],
358 [
359 9,
360 9,
361 0,
362 11,
363 0,
364 "IMAGE"
365 ],
366 [
367 11,
368 7,
369 1,
370 13,
371 0,
372 "MASK"
373 ],
374 [
375 12,
376 13,
377 0,
378 9,
379 1,
380 "MASK"
381 ],
382 [
383 18,
384 10,
385 0,
386 16,
387 0,
388 "IMAGE"
389 ],
390 [
391 19,
392 7,
393 0,
394 16,
395 1,
396 "IMAGE"
397 ],
398 [
399 24,
400 17,
401 0,
402 7,
403 1,
404 "IMAGE"
405 ]
406 ],
407 "groups": [],
408 "config": [],
409 "extra": {
410 "ds": {
411 "scale": 0.22598469443037644,
412 "offset": [
413 3709.0954069031814,
414 613.1346540992765
415 ]
416 },
417 "frontendVersion": "1.44.19"
418 },
419 "version": 0.4
420}