工作流 /
视频工具 /
法线图: NormalCrafter

法线图: NormalCrafter
Normal Map: NormalCrafter
将视频转换为时序稳定的法线贴图
视频工具
5 个节点 1 个输入 15 次使用 ComfyUI ≥ 0.0.1 ComfyUI 8 KB
节点构成
VHS_LoadVideo
× 1
NormalCrafterNode
× 1
VHS_VideoInfo
× 1
VHS_VideoCombine
× 1
MarkdownNote
× 1
工作流 JSON
和上面「下载工作流 JSON」是同一份文件。
1{
2 "id": "11cae077-caf5-4ec3-a810-68d5c09f1838",
3 "revision": 0,
4 "last_node_id": 6,
5 "last_link_id": 5,
6 "nodes": [
7 {
8 "id": 3,
9 "type": "VHS_LoadVideo",
10 "pos": [
11 430.6760892509965,
12 -2038.478331663899
13 ],
14 "size": [
15 312.515625,
16 680.84375
17 ],
18 "flags": [],
19 "order": 0,
20 "mode": 0,
21 "inputs": [
22 {
23 "name": "meta_batch",
24 "shape": 7,
25 "type": "VHS_BatchManager",
26 "link": null
27 },
28 {
29 "name": "vae",
30 "shape": 7,
31 "type": "VAE",
32 "link": null
33 }
34 ],
35 "outputs": [
36 {
37 "name": "IMAGE",
38 "type": "IMAGE",
39 "links": [
40 2
41 ]
42 },
43 {
44 "name": "frame_count",
45 "type": "INT",
46 "links": null
47 },
48 {
49 "name": "audio",
50 "type": "AUDIO",
51 "links": null
52 },
53 {
54 "name": "video_info",
55 "type": "VHS_VIDEOINFO",
56 "links": [
57 4
58 ]
59 }
60 ],
61 "properties": {
62 "Node name for S&R": "VHS_LoadVideo"
63 },
64 "widgets_values": {
65 "video": "normals_input.mp4",
66 "force_rate": 0,
67 "custom_width": 0,
68 "custom_height": 0,
69 "frame_load_cap": 0,
70 "skip_first_frames": 0,
71 "select_every_nth": 1,
72 "format": "AnimateDiff",
73 "videopreview": {
74 "hidden": false,
75 "paused": false,
76 "params": {
77 "filename": "normals_input.mp4",
78 "type": "input",
79 "format": "video/mp4",
80 "force_rate": 0,
81 "custom_width": 0,
82 "custom_height": 0,
83 "frame_load_cap": 0,
84 "skip_first_frames": 0,
85 "select_every_nth": 1
86 }
87 }
88 }
89 },
90 {
91 "id": 1,
92 "type": "NormalCrafterNode",
93 "pos": [
94 806.5536348165997,
95 -2040.3059471446568
96 ],
97 "size": [
98 399.875,
99 294.65625
100 ],
101 "flags": [],
102 "order": 2,
103 "mode": 0,
104 "inputs": [
105 {
106 "name": "images",
107 "type": "IMAGE",
108 "link": 2
109 },
110 {
111 "name": "pipe_override",
112 "shape": 7,
113 "type": "NORMALCRAFTER_PIPE",
114 "link": null
115 }
116 ],
117 "outputs": [
118 {
119 "name": "IMAGE",
120 "type": "IMAGE",
121 "links": [
122 3
123 ]
124 }
125 ],
126 "properties": {
127 "Node name for S&R": "NormalCrafterNode"
128 },
129 "widgets_values": [
130 27624437574758,
131 "randomize",
132 1024,
133 14,
134 10,
135 4,
136 true,
137 "auto"
138 ]
139 },
140 {
141 "id": 5,
142 "type": "VHS_VideoInfo",
143 "pos": [
144 921.1162355329011,
145 -1672.010790721788
146 ],
147 "size": [
148 280.140625,
149 264
150 ],
151 "flags": [],
152 "order": 3,
153 "mode": 0,
154 "inputs": [
155 {
156 "name": "video_info",
157 "type": "VHS_VIDEOINFO",
158 "link": 4
159 }
160 ],
161 "outputs": [
162 {
163 "name": "source_fps🟨",
164 "type": "FLOAT",
165 "links": [
166 5
167 ]
168 },
169 {
170 "name": "source_frame_count🟨",
171 "type": "INT",
172 "links": null
173 },
174 {
175 "name": "source_duration🟨",
176 "type": "FLOAT",
177 "links": null
178 },
179 {
180 "name": "source_width🟨",
181 "type": "INT",
182 "links": null
183 },
184 {
185 "name": "source_height🟨",
186 "type": "INT",
187 "links": null
188 },
189 {
190 "name": "loaded_fps🟦",
191 "type": "FLOAT",
192 "links": null
193 },
194 {
195 "name": "loaded_frame_count🟦",
196 "type": "INT",
197 "links": null
198 },
199 {
200 "name": "loaded_duration🟦",
201 "type": "FLOAT",
202 "links": null
203 },
204 {
205 "name": "loaded_width🟦",
206 "type": "INT",
207 "links": null
208 },
209 {
210 "name": "loaded_height🟦",
211 "type": "INT",
212 "links": null
213 }
214 ],
215 "properties": {
216 "Node name for S&R": "VHS_VideoInfo"
217 },
218 "widgets_values": []
219 },
220 {
221 "id": 4,
222 "type": "VHS_VideoCombine",
223 "pos": [
224 1270.7227913193174,
225 -2044.4614792644074
226 ],
227 "size": [
228 270.390625,
229 678.71875
230 ],
231 "flags": [],
232 "order": 4,
233 "mode": 0,
234 "inputs": [
235 {
236 "name": "images",
237 "type": "IMAGE",
238 "link": 3
239 },
240 {
241 "name": "audio",
242 "shape": 7,
243 "type": "AUDIO",
244 "link": null
245 },
246 {
247 "name": "meta_batch",
248 "shape": 7,
249 "type": "VHS_BatchManager",
250 "link": null
251 },
252 {
253 "name": "vae",
254 "shape": 7,
255 "type": "VAE",
256 "link": null
257 },
258 {
259 "name": "frame_rate",
260 "type": "FLOAT",
261 "widget": {
262 "name": "frame_rate"
263 },
264 "link": 5
265 }
266 ],
267 "outputs": [
268 {
269 "name": "Filenames",
270 "type": "VHS_FILENAMES",
271 "links": null
272 }
273 ],
274 "properties": {
275 "Node name for S&R": "VHS_VideoCombine"
276 },
277 "widgets_values": {
278 "frame_rate": 8,
279 "loop_count": 0,
280 "filename_prefix": "AnimateDiff",
281 "format": "video/h264-mp4",
282 "pix_fmt": "yuv420p",
283 "crf": 12,
284 "save_metadata": true,
285 "trim_to_audio": false,
286 "pingpong": false,
287 "save_output": true,
288 "videopreview": {
289 "hidden": false,
290 "paused": false,
291 "params": {
292 "filename": "9d9afa477c22accb75aa422d58400649c8fc6d95dcc421784711b3662ba8d4cb.mp4",
293 "format": "video/h264-mp4",
294 "frame_rate": 24,
295 "fullpath": "",
296 "subfolder": "",
297 "type": "output",
298 "workflow": "AnimateDiff_00001.png"
299 }
300 }
301 }
302 },
303 {
304 "id": 6,
305 "type": "MarkdownNote",
306 "pos": [
307 -130,
308 -2040
309 ],
310 "size": [
311 510,
312 450
313 ],
314 "flags": [],
315 "order": 1,
316 "mode": 0,
317 "inputs": [],
318 "outputs": [],
319 "title": "For Local Users",
320 "properties": [],
321 "widgets_values": [
322 "## Custom Nodes\n\n- [ComfyUI-NormalCrafterWrapper](https://github.com/AIWarper/ComfyUI-NormalCrafterWrapper)\n- [Kosinkadink/ComfyUI-VideoHelperSuite](https://github.com/Kosinkadink/ComfyUI-VideoHelperSuite)\n\n## Report Issue\n\nNote: Please update ComfyUI first ([guide](https://docs.comfy.org/installation/update_comfyui)) and prepare required models. Desktop/Cloud will be updated after the stable release; nightly-supported models may not be included yet, please wait for the next stable release.\n\n- Cannot run / runtime errors: [ComfyUI/issues](https://github.com/Comfy-Org/ComfyUI/issues)\n- UI / frontend issues: [ComfyUI_frontend/issues](https://github.com/Comfy-Org/ComfyUI_frontend/issues)\n- Workflow issues: [workflow_templates/issues](https://github.com/Comfy-Org/workflow_templates/issues)\n"
323 ],
324 "color": "#222",
325 "bgcolor": "#000"
326 }
327 ],
328 "links": [
329 [
330 2,
331 3,
332 0,
333 1,
334 0,
335 "IMAGE"
336 ],
337 [
338 3,
339 1,
340 0,
341 4,
342 0,
343 "IMAGE"
344 ],
345 [
346 4,
347 3,
348 3,
349 5,
350 0,
351 "VHS_VIDEOINFO"
352 ],
353 [
354 5,
355 5,
356 0,
357 4,
358 4,
359 "FLOAT"
360 ]
361 ],
362 "groups": [],
363 "config": [],
364 "extra": {
365 "workflowRendererVersion": "Vue",
366 "ds": {
367 "scale": 0.552151801356552,
368 "offset": [
369 1191.7195840880431,
370 2516.268735810172
371 ]
372 },
373 "frontendVersion": "1.36.12",
374 "VHS_latentpreview": false,
375 "VHS_latentpreviewrate": 0,
376 "VHS_MetadataImage": true,
377 "VHS_KeepIntermediate": true
378 },
379 "version": 0.4
380}