ComfyPilotComfyPilot
工作流 / 图像 / 照片转模型风格
照片转模型风格

照片转模型风格

Photo to Blueprint to Model

将真实建筑照片转化为建筑蓝图,再转化为精致的实体比例模型。实现从照片到微缩模型的完整建筑可视化流程。

图像 6 个节点 1 个输入 33 次使用 ComfyUI ≥ 0.8.0 ComfyUI 8 KB

下载工作流 JSON 查看官方来源

下载后把文件拖进 ComfyUI 窗口即可打开。

节点构成

GeminiImage2Node × 2
SaveImage × 2
LoadImage × 1
BatchImagesNode × 1

官方标注的模型

Gemini3 Pro Image PreviewNano Banana ProGoogle

工作流 JSON

和上面「下载工作流 JSON」是同一份文件。

1{
2 "id": "d2a78457-e57e-448b-a5dc-b1c4edbf74a0",
3 "revision": 3,
4 "last_node_id": 40,
5 "last_link_id": 64,
6 "nodes": [
7 {
8 "id": 38,
9 "type": "GeminiImage2Node",
10 "pos": [
11 -1303.6666541075379,
12 491.66666828853806
13 ],
14 "size": [
15 430,
16 575
17 ],
18 "flags": [],
19 "order": 1,
20 "mode": 0,
21 "inputs": [
22 {
23 "name": "images",
24 "shape": 7,
25 "type": "IMAGE",
26 "link": 55
27 },
28 {
29 "name": "files",
30 "shape": 7,
31 "type": "GEMINI_INPUT_FILES",
32 "link": null
33 }
34 ],
35 "outputs": [
36 {
37 "name": "IMAGE",
38 "type": "IMAGE",
39 "links": [
40 56,
41 64
42 ]
43 },
44 {
45 "name": "STRING",
46 "type": "STRING",
47 "links": []
48 }
49 ],
50 "properties": {
51 "Node name for S&R": "GeminiImage2Node"
52 },
53 "widgets_values": [
54 "Create an orthographic blueprint that describes this building in plan, elevation and section.\n\n\n\n\n",
55 "gemini-3-pro-image-preview",
56 42,
57 "randomize",
58 "16:9",
59 "1K",
60 "IMAGE",
61 "You are an expert image-generation engine. You must ALWAYS produce an image.\nInterpret all user input—regardless of format, intent, or abstraction—as literal visual directives for image composition.\nIf a prompt is conversational or lacks specific visual details, you must creatively invent a concrete visual scenario that depicts the concept.\nPrioritize generating the visual representation above any text, formatting, or conversational requests."
62 ],
63 "color": "#432",
64 "bgcolor": "#653"
65 },
66 {
67 "id": 11,
68 "type": "LoadImage",
69 "pos": [
70 -1770,
71 490
72 ],
73 "size": [
74 420,
75 590
76 ],
77 "flags": [],
78 "order": 0,
79 "mode": 0,
80 "inputs": [],
81 "outputs": [
82 {
83 "name": "IMAGE",
84 "type": "IMAGE",
85 "links": [
86 55,
87 63
88 ]
89 },
90 {
91 "name": "MASK",
92 "type": "MASK",
93 "links": null
94 }
95 ],
96 "properties": {
97 "Node name for S&R": "LoadImage",
98 "cnr_id": "comfy-core",
99 "ver": "0.3.52",
100 "ue_properties": {
101 "widget_ue_connectable": [],
102 "version": "7.1",
103 "input_ue_unconnectable": []
104 }
105 },
106 "widgets_values": [
107 "api_from_photo_2_miniature_input_image.png",
108 "image"
109 ]
110 },
111 {
112 "id": 30,
113 "type": "SaveImage",
114 "pos": [
115 -830,
116 500
117 ],
118 "size": [
119 470,
120 585
121 ],
122 "flags": [],
123 "order": 2,
124 "mode": 0,
125 "inputs": [
126 {
127 "name": "images",
128 "type": "IMAGE",
129 "link": 56
130 }
131 ],
132 "outputs": [],
133 "properties": {
134 "cnr_id": "comfy-core",
135 "ver": "0.3.56",
136 "ue_properties": {
137 "widget_ue_connectable": [],
138 "version": "7.1",
139 "input_ue_unconnectable": []
140 }
141 },
142 "widgets_values": [
143 "nano_banana_pro"
144 ]
145 },
146 {
147 "id": 39,
148 "type": "GeminiImage2Node",
149 "pos": [
150 -590,
151 1150
152 ],
153 "size": [
154 460,
155 580
156 ],
157 "flags": [],
158 "order": 4,
159 "mode": 0,
160 "inputs": [
161 {
162 "name": "images",
163 "shape": 7,
164 "type": "IMAGE",
165 "link": 62
166 },
167 {
168 "name": "files",
169 "shape": 7,
170 "type": "GEMINI_INPUT_FILES",
171 "link": null
172 }
173 ],
174 "outputs": [
175 {
176 "name": "IMAGE",
177 "type": "IMAGE",
178 "links": [
179 60
180 ]
181 },
182 {
183 "name": "STRING",
184 "type": "STRING",
185 "links": []
186 }
187 ],
188 "properties": {
189 "Node name for S&R": "GeminiImage2Node"
190 },
191 "widgets_values": [
192 "A miniature architectural scale model of a purple house, carefully crafted with clean edges and subtle textures. The model sits on an architect’s wooden work desk surrounded by design tools: cutting mats, rulers, pencils, foam board scraps, and a soft warm desk lamp. Behind the desk, pinned on the wall, is the blueprint shown in the reference image—detailed elevation lines, structural markings, and measurements clearly visible. The scene feels like a real architect’s workspace, with natural daylight from the side, a professional, realistic photography style, shallow depth of field, and high detail.\n",
193 "gemini-3-pro-image-preview",
194 42,
195 "randomize",
196 "16:9",
197 "1K",
198 "IMAGE",
199 "You are an expert image-generation engine. You must ALWAYS produce an image.\nInterpret all user input—regardless of format, intent, or abstraction—as literal visual directives for image composition.\nIf a prompt is conversational or lacks specific visual details, you must creatively invent a concrete visual scenario that depicts the concept.\nPrioritize generating the visual representation above any text, formatting, or conversational requests."
200 ],
201 "color": "#432",
202 "bgcolor": "#653"
203 },
204 {
205 "id": 37,
206 "type": "SaveImage",
207 "pos": [
208 -100,
209 1160
210 ],
211 "size": [
212 460,
213 565
214 ],
215 "flags": [],
216 "order": 5,
217 "mode": 0,
218 "inputs": [
219 {
220 "name": "images",
221 "type": "IMAGE",
222 "link": 60
223 }
224 ],
225 "outputs": [],
226 "properties": {
227 "cnr_id": "comfy-core",
228 "ver": "0.3.56",
229 "ue_properties": {
230 "widget_ue_connectable": [],
231 "version": "7.1",
232 "input_ue_unconnectable": []
233 }
234 },
235 "widgets_values": [
236 "nano_banana_pro"
237 ]
238 },
239 {
240 "id": 40,
241 "type": "BatchImagesNode",
242 "pos": [
243 -830,
244 1160
245 ],
246 "size": [
247 187.5,
248 66
249 ],
250 "flags": [],
251 "order": 3,
252 "mode": 0,
253 "inputs": [
254 {
255 "label": "image0",
256 "name": "images.image0",
257 "type": "IMAGE",
258 "link": 63
259 },
260 {
261 "label": "image1",
262 "name": "images.image1",
263 "type": "IMAGE",
264 "link": 64
265 },
266 {
267 "label": "image2",
268 "name": "images.image2",
269 "shape": 7,
270 "type": "IMAGE",
271 "link": null
272 }
273 ],
274 "outputs": [
275 {
276 "name": "IMAGE",
277 "type": "IMAGE",
278 "links": [
279 62
280 ]
281 }
282 ],
283 "properties": {
284 "Node name for S&R": "BatchImagesNode"
285 },
286 "widgets_values": []
287 }
288 ],
289 "links": [
290 [
291 55,
292 11,
293 0,
294 38,
295 0,
296 "IMAGE"
297 ],
298 [
299 56,
300 38,
301 0,
302 30,
303 0,
304 "IMAGE"
305 ],
306 [
307 60,
308 39,
309 0,
310 37,
311 0,
312 "IMAGE"
313 ],
314 [
315 62,
316 40,
317 0,
318 39,
319 0,
320 "IMAGE"
321 ],
322 [
323 63,
324 11,
325 0,
326 40,
327 0,
328 "IMAGE"
329 ],
330 [
331 64,
332 38,
333 0,
334 40,
335 1,
336 "IMAGE"
337 ]
338 ],
339 "groups": [],
340 "config": [],
341 "extra": {
342 "ds": {
343 "scale": 0.4727977960010264,
344 "offset": [
345 2306.021870681925,
346 -60.96226230171996
347 ]
348 },
349 "frontendVersion": "1.38.6",
350 "workflowRendererVersion": "LG",
351 "VHS_latentpreview": false,
352 "VHS_latentpreviewrate": 0,
353 "VHS_MetadataImage": true,
354 "VHS_KeepIntermediate": true,
355 "ue_links": [],
356 "links_added_by_ue": []
357 },
358 "version": 0.4
359}