工作流 /
3D 模型 /
SAM 3D 人体:从视频提取 3D 人体网格

SAM 3D 人体:从视频提取 3D 人体网格
SAM 3D Body: 3D Human Mesh Extraction From Video
使用SAM 3D Body从单个视频帧中提取完整的人体3D网格,并通过文本提示词来优化姿态和形状估计。该工作流加载一个视频和一个文本提示词,然后输出一个重建的视频,显示恢复的人体骨骼。非常适合动作捕捉原型设计、生物力学分析和角色动画预可视化。
3D 模型
25 个节点 1 个输入 169 次使用 ComfyUI ≥ 0.34.0 ComfyUI 34 KB
需要的权重
这个工作流引用了 4 个权重文件,其中 4 个能在本站模型库里找到。
moge_2_vitl_normal_fp16.safetensors
在模型库查看
rt_detr_v4-x-hgnet_fp32.safetensors
在模型库查看
sam3.1_multiplex_fp16.safetensors
在模型库查看
sam_3d_body_dinov3_bf16.safetensors
在模型库查看
节点构成
Note
× 4
CLIPTextEncode
× 1
SAM3_VideoTrack
× 1
CheckpointLoaderSimple
× 1
RTDETR_detect
× 1
SAM3DBody_FaceExpression
× 1
SAM3DBody_Predict
× 1
SAM3DBody_Smooth
× 1
SAM3DBody_Loader
× 1
MoGeGeometryToFOV
× 1
MoGeInference
× 1
LoadMoGeModel
× 1
BuildPoseFile
× 1
CreateVideo
× 1
SaveVideo
× 1
LoadVideo
× 1
官方标注的模型
SAM 3D Body
工作流 JSON
和上面「下载工作流 JSON」是同一份文件。
1{
2 "id": "76915793-04af-4b60-a2a2-9fd3ebbdc944",
3 "revision": 0,
4 "last_node_id": 143,
5 "last_link_id": 310,
6 "nodes": [
7 {
8 "id": 15,
9 "type": "CLIPTextEncode",
10 "pos": [
11 -1740,
12 5640
13 ],
14 "size": [
15 400,
16 200
17 ],
18 "flags": [],
19 "order": 10,
20 "mode": 0,
21 "inputs": [
22 {
23 "name": "clip",
24 "type": "CLIP",
25 "link": 15
26 }
27 ],
28 "outputs": [
29 {
30 "name": "CONDITIONING",
31 "type": "CONDITIONING",
32 "links": [
33 34
34 ]
35 }
36 ],
37 "properties": {
38 "Node name for S&R": "CLIPTextEncode",
39 "cnr_id": "comfy-core",
40 "ver": "0.33.0"
41 },
42 "widgets_values": [
43 "person"
44 ],
45 "widgets_values_named": {
46 "text": "person"
47 }
48 },
49 {
50 "id": 18,
51 "type": "SAM3_VideoTrack",
52 "pos": [
53 -1290,
54 5640
55 ],
56 "size": [
57 280,
58 240
59 ],
60 "flags": [],
61 "order": 13,
62 "mode": 0,
63 "inputs": [
64 {
65 "label": "images",
66 "name": "images",
67 "type": "IMAGE",
68 "link": 304
69 },
70 {
71 "label": "model",
72 "name": "model",
73 "type": "MODEL",
74 "link": 33
75 },
76 {
77 "label": "initial_mask",
78 "name": "initial_mask",
79 "shape": 7,
80 "type": "MASK",
81 "link": null
82 },
83 {
84 "label": "conditioning",
85 "name": "conditioning",
86 "shape": 7,
87 "type": "CONDITIONING",
88 "link": 34
89 }
90 ],
91 "outputs": [
92 {
93 "name": "track_data",
94 "type": "SAM3_TRACK_DATA",
95 "links": [
96 303
97 ]
98 }
99 ],
100 "properties": {
101 "Node name for S&R": "SAM3_VideoTrack",
102 "cnr_id": "comfy-core",
103 "ver": "0.33.0"
104 },
105 "widgets_values": [
106 0.5,
107 4,
108 1
109 ],
110 "widgets_values_named": {
111 "detection_threshold": 0.5,
112 "max_objects": 4,
113 "detect_interval": 1
114 }
115 },
116 {
117 "id": 14,
118 "type": "CheckpointLoaderSimple",
119 "pos": [
120 -2180,
121 5640
122 ],
123 "size": [
124 410,
125 150
126 ],
127 "flags": [],
128 "order": 0,
129 "mode": 0,
130 "inputs": [],
131 "outputs": [
132 {
133 "name": "MODEL",
134 "type": "MODEL",
135 "links": [
136 33
137 ]
138 },
139 {
140 "name": "CLIP",
141 "type": "CLIP",
142 "links": [
143 15
144 ]
145 },
146 {
147 "name": "VAE",
148 "type": "VAE",
149 "links": null
150 }
151 ],
152 "properties": {
153 "Node name for S&R": "CheckpointLoaderSimple",
154 "cnr_id": "comfy-core",
155 "ver": "0.33.0",
156 "models": [
157 {
158 "name": "sam3.1_multiplex_fp16.safetensors",
159 "url": "https://huggingface.co/Comfy-Org/sam3.1/resolve/main/checkpoints/sam3.1_multiplex_fp16.safetensors",
160 "directory": "checkpoints"
161 }
162 ]
163 },
164 "widgets_values": [
165 "sam3.1_multiplex_fp16.safetensors"
166 ],
167 "widgets_values_named": {
168 "ckpt_name": "sam3.1_multiplex_fp16.safetensors"
169 },
170 "color": "#223",
171 "bgcolor": "#335"
172 },
173 {
174 "id": 109,
175 "type": "RTDETR_detect",
176 "pos": [
177 -1580,
178 5200
179 ],
180 "size": [
181 280,
182 162
183 ],
184 "flags": [],
185 "order": 14,
186 "mode": 0,
187 "inputs": [
188 {
189 "label": "model",
190 "name": "model",
191 "type": "MODEL",
192 "link": 232
193 },
194 {
195 "label": "image",
196 "name": "image",
197 "type": "IMAGE",
198 "link": 305
199 }
200 ],
201 "outputs": [
202 {
203 "name": "bboxes",
204 "type": "BOUNDING_BOX",
205 "links": [
206 285
207 ]
208 }
209 ],
210 "properties": {
211 "Node name for S&R": "RTDETR_detect",
212 "cnr_id": "comfy-core",
213 "ver": "0.33.0"
214 },
215 "widgets_values": [
216 0.5,
217 "person",
218 100
219 ],
220 "widgets_values_named": {
221 "threshold": 0.5,
222 "class_name": "person",
223 "max_detections": 100
224 }
225 },
226 {
227 "id": 128,
228 "type": "SAM3DBody_FaceExpression",
229 "pos": [
230 -370,
231 5810
232 ],
233 "size": [
234 310,
235 220
236 ],
237 "flags": [],
238 "order": 18,
239 "mode": 0,
240 "showAdvanced": false,
241 "inputs": [
242 {
243 "name": "sam3d_body_model",
244 "type": "SAM3D_BODY_MODEL",
245 "link": 279
246 },
247 {
248 "name": "mhr_pose_data",
249 "type": "MHR_POSE_DATA",
250 "link": 287
251 },
252 {
253 "name": "image",
254 "type": "IMAGE",
255 "link": 307
256 }
257 ],
258 "outputs": [
259 {
260 "name": "mhr_pose_data",
261 "type": "MHR_POSE_DATA",
262 "links": [
263 288
264 ]
265 }
266 ],
267 "properties": {
268 "Node name for S&R": "SAM3DBody_FaceExpression",
269 "cnr_id": "comfy-core",
270 "ver": "0.33.0"
271 },
272 "widgets_values": [
273 1,
274 1,
275 2,
276 2,
277 0.02,
278 7
279 ],
280 "widgets_values_named": {
281 "strength": 1,
282 "mouth_strength": 1,
283 "eye_strength": 2,
284 "brow_strength": 2,
285 "input_threshold": 0.02,
286 "blendshape_smooth_window": 7
287 }
288 },
289 {
290 "id": 129,
291 "type": "SAM3DBody_Predict",
292 "pos": [
293 -730,
294 5830
295 ],
296 "size": [
297 280,
298 198
299 ],
300 "flags": [],
301 "order": 17,
302 "mode": 0,
303 "inputs": [
304 {
305 "name": "sam3d_body_model",
306 "type": "SAM3D_BODY_MODEL",
307 "link": 283
308 },
309 {
310 "name": "image",
311 "type": "IMAGE",
312 "link": 308
313 },
314 {
315 "name": "track_data",
316 "shape": 7,
317 "type": "SAM3_TRACK_DATA",
318 "link": 303
319 },
320 {
321 "name": "bboxes",
322 "shape": 7,
323 "type": "BOUNDING_BOX",
324 "link": 285
325 },
326 {
327 "name": "fov",
328 "type": "FLOAT",
329 "widget": {
330 "name": "fov"
331 },
332 "link": 286
333 }
334 ],
335 "outputs": [
336 {
337 "name": "mhr_pose_data",
338 "type": "MHR_POSE_DATA",
339 "links": [
340 287
341 ]
342 }
343 ],
344 "properties": {
345 "Node name for S&R": "SAM3DBody_Predict",
346 "cnr_id": "comfy-core",
347 "ver": "0.33.0"
348 },
349 "widgets_values": [
350 true,
351 0,
352 64
353 ],
354 "widgets_values_named": {
355 "run_hand_refinement": true,
356 "fov": 0,
357 "batch_size": 64
358 }
359 },
360 {
361 "id": 130,
362 "type": "SAM3DBody_Smooth",
363 "pos": [
364 330,
365 5790
366 ],
367 "size": [
368 330,
369 150
370 ],
371 "flags": [],
372 "order": 19,
373 "mode": 0,
374 "inputs": [
375 {
376 "name": "mhr_pose_data",
377 "type": "MHR_POSE_DATA",
378 "link": 288
379 }
380 ],
381 "outputs": [
382 {
383 "name": "mhr_pose_data",
384 "type": "MHR_POSE_DATA",
385 "links": [
386 290,
387 293
388 ]
389 }
390 ],
391 "properties": {
392 "Node name for S&R": "SAM3DBody_Smooth",
393 "cnr_id": "comfy-core",
394 "ver": "0.33.0"
395 },
396 "widgets_values": [
397 1,
398 "gaussian",
399 7,
400 15
401 ],
402 "widgets_values_named": {
403 "strength": 1,
404 "method": "gaussian",
405 "window": 7,
406 "rotation_threshold_degrees": 15
407 }
408 },
409 {
410 "id": 119,
411 "type": "SAM3DBody_Loader",
412 "pos": [
413 -740,
414 5510
415 ],
416 "size": [
417 510,
418 110
419 ],
420 "flags": [],
421 "order": 1,
422 "mode": 0,
423 "inputs": [],
424 "outputs": [
425 {
426 "name": "sam3d_body_model",
427 "type": "SAM3D_BODY_MODEL",
428 "links": [
429 274,
430 279,
431 283
432 ]
433 }
434 ],
435 "properties": {
436 "Node name for S&R": "SAM3DBody_Loader",
437 "cnr_id": "comfy-core",
438 "ver": "0.33.0",
439 "models": [
440 {
441 "name": "sam_3d_body_dinov3_bf16.safetensors",
442 "url": "https://huggingface.co/Comfy-Org/sam-3d-body/resolve/main/detection/sam_3d_body_dinov3_bf16.safetensors",
443 "directory": "detection"
444 }
445 ]
446 },
447 "widgets_values": [
448 "sam_3d_body_dinov3_bf16.safetensors"
449 ],
450 "widgets_values_named": {
451 "model_file": "sam_3d_body_dinov3_bf16.safetensors"
452 },
453 "color": "#223",
454 "bgcolor": "#335"
455 },
456 {
457 "id": 126,
458 "type": "MoGeGeometryToFOV",
459 "pos": [
460 -1380,
461 6110
462 ],
463 "size": [
464 300,
465 134
466 ],
467 "flags": [],
468 "order": 16,
469 "mode": 0,
470 "inputs": [
471 {
472 "name": "moge_geometry",
473 "type": "MOGE_GEOMETRY",
474 "link": 271
475 }
476 ],
477 "outputs": [
478 {
479 "name": "fov",
480 "type": "FLOAT",
481 "links": [
482 286
483 ]
484 },
485 {
486 "name": "focal_pixels",
487 "type": "FLOAT",
488 "links": null
489 }
490 ],
491 "properties": {
492 "Node name for S&R": "MoGeGeometryToFOV",
493 "cnr_id": "comfy-core",
494 "ver": "0.33.0"
495 },
496 "widgets_values": [
497 "vertical",
498 "degrees"
499 ],
500 "widgets_values_named": {
501 "axis": "vertical",
502 "unit": "degrees"
503 }
504 },
505 {
506 "id": 114,
507 "type": "MoGeInference",
508 "pos": [
509 -1700,
510 6110
511 ],
512 "size": [
513 270,
514 180
515 ],
516 "flags": [],
517 "order": 15,
518 "mode": 0,
519 "inputs": [
520 {
521 "name": "moge_model",
522 "type": "MOGE_MODEL",
523 "link": 242
524 },
525 {
526 "name": "image",
527 "type": "IMAGE",
528 "link": 306
529 }
530 ],
531 "outputs": [
532 {
533 "name": "moge_geometry",
534 "type": "MOGE_GEOMETRY",
535 "links": [
536 271
537 ]
538 }
539 ],
540 "properties": {
541 "Node name for S&R": "MoGeInference",
542 "cnr_id": "comfy-core",
543 "ver": "0.33.0"
544 },
545 "widgets_values": [
546 9,
547 0,
548 4,
549 true,
550 true
551 ],
552 "widgets_values_named": {
553 "resolution_level": 9,
554 "fov_x_degrees": 0,
555 "batch_size": 4,
556 "force_projection": true,
557 "apply_mask": true
558 }
559 },
560 {
561 "id": 115,
562 "type": "LoadMoGeModel",
563 "pos": [
564 -2160,
565 6110
566 ],
567 "size": [
568 410,
569 110
570 ],
571 "flags": [],
572 "order": 2,
573 "mode": 0,
574 "inputs": [],
575 "outputs": [
576 {
577 "name": "MOGE_MODEL",
578 "type": "MOGE_MODEL",
579 "links": [
580 242
581 ]
582 }
583 ],
584 "properties": {
585 "Node name for S&R": "LoadMoGeModel",
586 "cnr_id": "comfy-core",
587 "ver": "0.33.0",
588 "models": [
589 {
590 "name": "moge_2_vitl_normal_fp16.safetensors",
591 "url": "https://huggingface.co/Comfy-Org/MoGe/resolve/main/geometry_estimation/moge_2_vitl_normal_fp16.safetensors",
592 "directory": "geometry_estimation"
593 }
594 ]
595 },
596 "widgets_values": [
597 "moge_2_vitl_normal_fp16.safetensors"
598 ],
599 "widgets_values_named": {
600 "model_name": "moge_2_vitl_normal_fp16.safetensors"
601 },
602 "color": "#223",
603 "bgcolor": "#335"
604 },
605 {
606 "id": 127,
607 "type": "BuildPoseFile",
608 "pos": [
609 820,
610 6140
611 ],
612 "size": [
613 350,
614 370
615 ],
616 "flags": [],
617 "order": 20,
618 "mode": 0,
619 "inputs": [
620 {
621 "name": "pose_data",
622 "type": "MHR_POSE_DATA,KIMODO_POSE_DATA",
623 "link": 290
624 },
625 {
626 "name": "sam3d_body_model",
627 "shape": 7,
628 "type": "SAM3D_BODY_MODEL",
629 "link": 274
630 }
631 ],
632 "outputs": [
633 {
634 "name": "model_3d",
635 "type": "FILE_3D",
636 "links": [
637 310
638 ]
639 }
640 ],
641 "properties": {
642 "Node name for S&R": "BuildPoseFile",
643 "cnr_id": "comfy-core",
644 "ver": "0.33.0"
645 },
646 "widgets_values": [
647 "glb",
648 "scail",
649 0.022,
650 0,
651 0.3,
652 false,
653 0.005,
654 0.003,
655 "full",
656 0,
657 24,
658 "off",
659 -1
660 ],
661 "widgets_values_named": {
662 "format": "glb",
663 "format.mesh_style": "scail",
664 "format.mesh_style.stick_radius_m": 0.022,
665 "format.mesh_style.marker_radius_m": 0,
666 "format.mesh_style.material_roughness": 0.3,
667 "format.mesh_style.include_hands": false,
668 "format.mesh_style.hand_marker_radius_m": 0.005,
669 "format.mesh_style.hand_stick_radius_m": 0.003,
670 "format.mesh_style.face_style": "full",
671 "format.bone_smooth_window": 0,
672 "fps": 24,
673 "camera_translation": "off",
674 "track_index": -1
675 },
676 "color": "#322",
677 "bgcolor": "#533"
678 },
679 {
680 "id": 134,
681 "type": "CreateVideo",
682 "pos": [
683 1230,
684 5320
685 ],
686 "size": [
687 270,
688 162
689 ],
690 "flags": [],
691 "order": 23,
692 "mode": 0,
693 "inputs": [
694 {
695 "name": "images",
696 "type": "IMAGE",
697 "link": 298
698 },
699 {
700 "name": "audio",
701 "shape": 7,
702 "type": "AUDIO",
703 "link": null
704 },
705 {
706 "name": "fps",
707 "type": "FLOAT",
708 "widget": {
709 "name": "fps"
710 },
711 "link": 300
712 }
713 ],
714 "outputs": [
715 {
716 "name": "VIDEO",
717 "type": "VIDEO",
718 "links": [
719 299
720 ]
721 }
722 ],
723 "properties": {
724 "Node name for S&R": "CreateVideo",
725 "cnr_id": "comfy-core",
726 "ver": "0.33.0"
727 },
728 "widgets_values": [
729 30,
730 8,
731 "sRGB"
732 ],
733 "widgets_values_named": {
734 "fps": 30,
735 "bit_depth": 8,
736 "color_space": "sRGB"
737 }
738 },
739 {
740 "id": 135,
741 "type": "SaveVideo",
742 "pos": [
743 1600,
744 5320
745 ],
746 "size": [
747 570,
748 150
749 ],
750 "flags": [],
751 "order": 24,
752 "mode": 0,
753 "inputs": [
754 {
755 "name": "video",
756 "type": "VIDEO",
757 "link": 299
758 }
759 ],
760 "outputs": [
761 {
762 "name": "video",
763 "type": "VIDEO",
764 "links": null
765 }
766 ],
767 "properties": {
768 "cnr_id": "comfy-core",
769 "ver": "0.33.0"
770 },
771 "widgets_values": [
772 "video/SAM3D_body",
773 "auto",
774 "auto",
775 "auto"
776 ],
777 "widgets_values_named": {
778 "filename_prefix": "video/SAM3D_body",
779 "format": "auto",
780 "format.codec": "auto",
781 "codec": "auto"
782 }
783 },
784 {
785 "id": 85,
786 "type": "LoadVideo",
787 "pos": [
788 -3530,
789 5600
790 ],
791 "size": [
792 590,
793 860
794 ],
795 "flags": [],
796 "order": 3,
797 "mode": 0,
798 "inputs": [],
799 "outputs": [
800 {
801 "name": "VIDEO",
802 "type": "VIDEO",
803 "links": [
804 267
805 ]
806 }
807 ],
808 "properties": {
809 "Node name for S&R": "LoadVideo",
810 "cnr_id": "comfy-core",
811 "ver": "0.33.0"
812 },
813 "widgets_values": [
814 "woman_holding_water_glass.mp4",
815 "image"
816 ],
817 "widgets_values_named": {
818 "file": "woman_holding_water_glass.mp4",
819 "upload": "image"
820 }
821 },
822 {
823 "id": 125,
824 "type": "Video Slice",
825 "pos": [
826 -2840,
827 5640
828 ],
829 "size": [
830 270,
831 142
832 ],
833 "flags": [],
834 "order": 11,
835 "mode": 0,
836 "inputs": [
837 {
838 "name": "video",
839 "type": "VIDEO",
840 "link": 267
841 }
842 ],
843 "outputs": [
844 {
845 "name": "VIDEO",
846 "type": "VIDEO",
847 "links": [
848 268
849 ]
850 }
851 ],
852 "properties": {
853 "Node name for S&R": "Video Slice",
854 "cnr_id": "comfy-core",
855 "ver": "0.33.0"
856 },
857 "widgets_values": [
858 0,
859 5,
860 false
861 ],
862 "widgets_values_named": {
863 "start_time": 0,
864 "duration": 5,
865 "strict_duration": false
866 },
867 "color": "#322",
868 "bgcolor": "#533"
869 },
870 {
871 "id": 86,
872 "type": "GetVideoComponents",
873 "pos": [
874 -2520,
875 5640
876 ],
877 "size": [
878 230,
879 138
880 ],
881 "flags": [],
882 "order": 12,
883 "mode": 0,
884 "inputs": [
885 {
886 "name": "video",
887 "type": "VIDEO",
888 "link": 268
889 }
890 ],
891 "outputs": [
892 {
893 "name": "images",
894 "type": "IMAGE",
895 "links": [
896 304,
897 305,
898 306,
899 307,
900 308,
901 309
902 ]
903 },
904 {
905 "name": "audio",
906 "type": "AUDIO",
907 "links": null
908 },
909 {
910 "name": "fps",
911 "type": "FLOAT",
912 "links": [
913 300
914 ]
915 },
916 {
917 "name": "bit_depth",
918 "type": "COMBO",
919 "links": null
920 },
921 {
922 "name": "color_space",
923 "type": "COMBO",
924 "links": null
925 }
926 ],
927 "properties": {
928 "Node name for S&R": "GetVideoComponents",
929 "cnr_id": "comfy-core",
930 "ver": "0.33.0"
931 }
932 },
933 {
934 "id": 136,
935 "type": "Note",
936 "pos": [
937 -2160,
938 6230
939 ],
940 "size": [
941 340,
942 130
943 ],
944 "flags": [],
945 "order": 4,
946 "mode": 0,
947 "inputs": [],
948 "outputs": [],
949 "properties": [],
950 "widgets_values": [
951 "MoGe can be optionally used to detect FoV for more accurate alignment with source video."
952 ],
953 "widgets_values_named": {
954 "text": "MoGe can be optionally used to detect FoV for more accurate alignment with source video."
955 },
956 "color": "#222",
957 "bgcolor": "#000"
958 },
959 {
960 "id": 137,
961 "type": "Note",
962 "pos": [
963 -2180,
964 5810
965 ],
966 "size": [
967 410,
968 170
969 ],
970 "flags": [],
971 "order": 5,
972 "mode": 0,
973 "inputs": [],
974 "outputs": [],
975 "properties": [],
976 "widgets_values": [
977 "For multiple people in same clip SAM3 is practically required, otherwise optional but can improve detection"
978 ],
979 "widgets_values_named": {
980 "text": "For multiple people in same clip SAM3 is practically required, otherwise optional but can improve detection"
981 },
982 "color": "#222",
983 "bgcolor": "#000"
984 },
985 {
986 "id": 138,
987 "type": "Note",
988 "pos": [
989 -2170,
990 5370
991 ],
992 "size": [
993 340,
994 140
995 ],
996 "flags": [],
997 "order": 6,
998 "mode": 0,
999 "inputs": [],
1000 "outputs": [],
1001 "properties": [],
1002 "widgets_values": [
1003 "While bounding boxes are technically optional, depending on clip will improve detection accuracy drastically."
1004 ],
1005 "widgets_values_named": {
1006 "text": "While bounding boxes are technically optional, depending on clip will improve detection accuracy drastically."
1007 },
1008 "color": "#222",
1009 "bgcolor": "#000"
1010 },
1011 {
1012 "id": 139,
1013 "type": "Note",
1014 "pos": [
1015 -40,
1016 5820
1017 ],
1018 "size": [
1019 330,
1020 200
1021 ],
1022 "flags": [],
1023 "order": 7,
1024 "mode": 0,
1025 "inputs": [],
1026 "outputs": [],
1027 "properties": [],
1028 "widgets_values": [
1029 "Sam3d-body does not detect face expressions, this node adds them through MediaPipe face detection."
1030 ],
1031 "widgets_values_named": {
1032 "text": "Sam3d-body does not detect face expressions, this node adds them through MediaPipe face detection."
1033 },
1034 "color": "#222",
1035 "bgcolor": "#000"
1036 },
1037 {
1038 "id": 111,
1039 "type": "UNETLoader",
1040 "pos": [
1041 -2180,
1042 5200
1043 ],
1044 "size": [
1045 510,
1046 110
1047 ],
1048 "flags": [],
1049 "order": 8,
1050 "mode": 0,
1051 "inputs": [],
1052 "outputs": [
1053 {
1054 "name": "MODEL",
1055 "type": "MODEL",
1056 "links": [
1057 232
1058 ]
1059 }
1060 ],
1061 "properties": {
1062 "Node name for S&R": "UNETLoader",
1063 "cnr_id": "comfy-core",
1064 "ver": "0.33.0",
1065 "models": [
1066 {
1067 "name": "rt_detr_v4-x-hgnet_fp32.safetensors",
1068 "url": "https://huggingface.co/Comfy-Org/SDPose/resolve/main/diffusion_models/rt_detr_v4-x-hgnet_fp32.safetensors",
1069 "directory": "diffusion_models"
1070 }
1071 ]
1072 },
1073 "widgets_values": [
1074 "rt_detr_v4-x-hgnet_fp32.safetensors",
1075 "default"
1076 ],
1077 "widgets_values_named": {
1078 "unet_name": "rt_detr_v4-x-hgnet_fp32.safetensors",
1079 "weight_dtype": "default"
1080 },
1081 "color": "#223",
1082 "bgcolor": "#335"
1083 },
1084 {
1085 "id": 131,
1086 "type": "SAM3DBody_Render",
1087 "pos": [
1088 810,
1089 5310
1090 ],
1091 "size": [
1092 370,
1093 294
1094 ],
1095 "flags": [],
1096 "order": 21,
1097 "mode": 0,
1098 "inputs": [
1099 {
1100 "name": "pose_data",
1101 "type": "MHR_POSE_DATA,KIMODO_POSE_DATA",
1102 "link": 293
1103 },
1104 {
1105 "name": "background",
1106 "shape": 7,
1107 "type": "IMAGE",
1108 "link": 309
1109 },
1110 {
1111 "name": "camera_info",
1112 "shape": 7,
1113 "type": "LOAD3D_CAMERA",
1114 "link": null
1115 }
1116 ],
1117 "outputs": [
1118 {
1119 "name": "image",
1120 "type": "IMAGE",
1121 "links": [
1122 298
1123 ]
1124 }
1125 ],
1126 "properties": {
1127 "Node name for S&R": "SAM3DBody_Render",
1128 "cnr_id": "comfy-core",
1129 "ver": "0.33.0"
1130 },
1131 "widgets_values": [
1132 0,
1133 0,
1134 "mesh",
1135 "default",
1136 1,
1137 0.6,
1138 "full_body"
1139 ],
1140 "widgets_values_named": {
1141 "width": 0,
1142 "height": 0,
1143 "render_style": "mesh",
1144 "render_style.shader": "default",
1145 "render_style.opacity": 1,
1146 "render_style.person_palette_falloff": 0.6,
1147 "render_style.region": "full_body"
1148 },
1149 "color": "#322",
1150 "bgcolor": "#533"
1151 },
1152 {
1153 "id": 142,
1154 "type": "MarkdownNote",
1155 "pos": [
1156 -4150,
1157 5600
1158 ],
1159 "size": [
1160 550,
1161 930
1162 ],
1163 "flags": [],
1164 "order": 9,
1165 "mode": 0,
1166 "inputs": [],
1167 "outputs": [],
1168 "title": "Note: Model Link and Input Asset",
1169 "properties": [],
1170 "widgets_values": [
1171 "**Input Asset**\n\n- [woman_holding_water_glass.mp4](https://raw.githubusercontent.com/Comfy-Org/workflow_templates/refs/heads/main/input/woman_holding_water_glass.mp4) — required workflow input (`input/woman_holding_water_glass.mp4`)\n\n\n## Model Links\n\n- [Hugging Face:Comfy-Org/sam3.1](https://huggingface.co/Comfy-Org/sam3.1)\n- [ModelScope:Comfy-Org/sam3.1](https://modelscope.cn/models/Comfy-Org/sam3.1)\n- [Hugging Face:Comfy-Org/sam-3d-body](https://huggingface.co/Comfy-Org/sam-3d-body)\n- [ModelScope:Comfy-Org/sam-3d-body](https://modelscope.cn/models/Comfy-Org/sam-3d-body)\n- [Hugging Face:Comfy-Org/MoGe](https://huggingface.co/Comfy-Org/MoGe)\n- [ModelScope:Comfy-Org/MoGe](https://modelscope.cn/models/Comfy-Org/MoGe)\n- [Hugging Face:Comfy-Org/SDPose](https://huggingface.co/Comfy-Org/SDPose)\n- [ModelScope:Comfy-Org/SDPose](https://modelscope.cn/models/Comfy-Org/SDPose)\n\n**checkpoints**\n\n- [sam3.1_multiplex_fp16.safetensors](https://huggingface.co/Comfy-Org/sam3.1/resolve/main/checkpoints/sam3.1_multiplex_fp16.safetensors) (1.63 GB)\n\n**detection**\n\n- [sam_3d_body_dinov3_bf16.safetensors](https://huggingface.co/Comfy-Org/sam-3d-body/resolve/main/detection/sam_3d_body_dinov3_bf16.safetensors) (2.64 GB)\n\n**geometry_estimation**\n\n- [moge_2_vitl_normal_fp16.safetensors](https://huggingface.co/Comfy-Org/MoGe/resolve/main/geometry_estimation/moge_2_vitl_normal_fp16.safetensors) (631.2 MB)\n\n**diffusion_models**\n\n- [rt_detr_v4-x-hgnet_fp32.safetensors](https://huggingface.co/Comfy-Org/SDPose/resolve/main/diffusion_models/rt_detr_v4-x-hgnet_fp32.safetensors) (236.3 MB)\n\n\n## Model Storage Location\n\n```\n📂 ComfyUI/\n├── 📂 models/\n│ ├── 📂 checkpoints/\n│ │ └── sam3.1_multiplex_fp16.safetensors\n│ ├── 📂 detection/\n│ │ └── sam_3d_body_dinov3_bf16.safetensors\n│ ├── 📂 geometry_estimation/\n│ │ └── moge_2_vitl_normal_fp16.safetensors\n│ └── 📂 diffusion_models/\n│ └── rt_detr_v4-x-hgnet_fp32.safetensors\n```\n\n## Report Issue\n\nNote: Please update ComfyUI first ([guide](https://docs.comfy.org/installation/update_comfyui)) and prepare required models. Desktop/Cloud updates follow stable releases, so some nightly-supported models may not be available yet.\n\n- Cannot run / runtime errors: [ComfyUI/issues](https://github.com/comfyanonymous/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"
1172 ],
1173 "widgets_values_named": {
1174 "text": "**Input Asset**\n\n- [woman_holding_water_glass.mp4](https://raw.githubusercontent.com/Comfy-Org/workflow_templates/refs/heads/main/input/woman_holding_water_glass.mp4) — required workflow input (`input/woman_holding_water_glass.mp4`)\n\n\n## Model Links\n\n- [Hugging Face:Comfy-Org/sam3.1](https://huggingface.co/Comfy-Org/sam3.1)\n- [ModelScope:Comfy-Org/sam3.1](https://modelscope.cn/models/Comfy-Org/sam3.1)\n- [Hugging Face:Comfy-Org/sam-3d-body](https://huggingface.co/Comfy-Org/sam-3d-body)\n- [ModelScope:Comfy-Org/sam-3d-body](https://modelscope.cn/models/Comfy-Org/sam-3d-body)\n- [Hugging Face:Comfy-Org/MoGe](https://huggingface.co/Comfy-Org/MoGe)\n- [ModelScope:Comfy-Org/MoGe](https://modelscope.cn/models/Comfy-Org/MoGe)\n- [Hugging Face:Comfy-Org/SDPose](https://huggingface.co/Comfy-Org/SDPose)\n- [ModelScope:Comfy-Org/SDPose](https://modelscope.cn/models/Comfy-Org/SDPose)\n\n**checkpoints**\n\n- [sam3.1_multiplex_fp16.safetensors](https://huggingface.co/Comfy-Org/sam3.1/resolve/main/checkpoints/sam3.1_multiplex_fp16.safetensors) (1.63 GB)\n\n**detection**\n\n- [sam_3d_body_dinov3_bf16.safetensors](https://huggingface.co/Comfy-Org/sam-3d-body/resolve/main/detection/sam_3d_body_dinov3_bf16.safetensors) (2.64 GB)\n\n**geometry_estimation**\n\n- [moge_2_vitl_normal_fp16.safetensors](https://huggingface.co/Comfy-Org/MoGe/resolve/main/geometry_estimation/moge_2_vitl_normal_fp16.safetensors) (631.2 MB)\n\n**diffusion_models**\n\n- [rt_detr_v4-x-hgnet_fp32.safetensors](https://huggingface.co/Comfy-Org/SDPose/resolve/main/diffusion_models/rt_detr_v4-x-hgnet_fp32.safetensors) (236.3 MB)\n\n\n## Model Storage Location\n\n```\n📂 ComfyUI/\n├── 📂 models/\n│ ├── 📂 checkpoints/\n│ │ └── sam3.1_multiplex_fp16.safetensors\n│ ├── 📂 detection/\n│ │ └── sam_3d_body_dinov3_bf16.safetensors\n│ ├── 📂 geometry_estimation/\n│ │ └── moge_2_vitl_normal_fp16.safetensors\n│ └── 📂 diffusion_models/\n│ └── rt_detr_v4-x-hgnet_fp32.safetensors\n```\n\n## Report Issue\n\nNote: Please update ComfyUI first ([guide](https://docs.comfy.org/installation/update_comfyui)) and prepare required models. Desktop/Cloud updates follow stable releases, so some nightly-supported models may not be available yet.\n\n- Cannot run / runtime errors: [ComfyUI/issues](https://github.com/comfyanonymous/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"
1175 },
1176 "color": "#222",
1177 "bgcolor": "#000"
1178 },
1179 {
1180 "id": 143,
1181 "type": "Save3DAdvanced",
1182 "pos": [
1183 1600,
1184 6150
1185 ],
1186 "size": [
1187 400,
1188 550
1189 ],
1190 "flags": [],
1191 "order": 22,
1192 "mode": 0,
1193 "inputs": [
1194 {
1195 "name": "model_3d",
1196 "type": "FILE_3D_GLB,FILE_3D_GLTF,FILE_3D_FBX,FILE_3D_OBJ,FILE_3D_STL,FILE_3D_USDZ,FILE_3D",
1197 "link": 310
1198 },
1199 {
1200 "name": "model_3d_info",
1201 "shape": 7,
1202 "type": "LOAD3D_MODEL_INFO",
1203 "link": null
1204 },
1205 {
1206 "name": "camera_info",
1207 "shape": 7,
1208 "type": "LOAD3D_CAMERA",
1209 "link": null
1210 }
1211 ],
1212 "outputs": [
1213 {
1214 "name": "model_3d",
1215 "type": "FILE_3D",
1216 "links": null
1217 },
1218 {
1219 "name": "model_3d_info",
1220 "type": "LOAD3D_MODEL_INFO",
1221 "links": null
1222 },
1223 {
1224 "name": "camera_info",
1225 "type": "LOAD3D_CAMERA",
1226 "links": null
1227 },
1228 {
1229 "name": "width",
1230 "type": "INT",
1231 "links": null
1232 },
1233 {
1234 "name": "height",
1235 "type": "INT",
1236 "links": null
1237 }
1238 ],
1239 "properties": [],
1240 "widgets_values": [
1241 "3d/ComfyUI",
1242 "",
1243 1024,
1244 1024
1245 ],
1246 "widgets_values_named": {
1247 "filename_prefix": "3d/ComfyUI",
1248 "viewport_state": "",
1249 "width": 1024,
1250 "height": 1024
1251 }
1252 }
1253 ],
1254 "links": [
1255 [
1256 15,
1257 14,
1258 1,
1259 15,
1260 0,
1261 "CLIP"
1262 ],
1263 [
1264 33,
1265 14,
1266 0,
1267 18,
1268 1,
1269 "MODEL"
1270 ],
1271 [
1272 34,
1273 15,
1274 0,
1275 18,
1276 3,
1277 "CONDITIONING"
1278 ],
1279 [
1280 232,
1281 111,
1282 0,
1283 109,
1284 0,
1285 "MODEL"
1286 ],
1287 [
1288 242,
1289 115,
1290 0,
1291 114,
1292 0,
1293 "MOGE_MODEL"
1294 ],
1295 [
1296 267,
1297 85,
1298 0,
1299 125,
1300 0,
1301 "VIDEO"
1302 ],
1303 [
1304 268,
1305 125,
1306 0,
1307 86,
1308 0,
1309 "VIDEO"
1310 ],
1311 [
1312 271,
1313 114,
1314 0,
1315 126,
1316 0,
1317 "MOGE_GEOMETRY"
1318 ],
1319 [
1320 274,
1321 119,
1322 0,
1323 127,
1324 1,
1325 "SAM3D_BODY_MODEL"
1326 ],
1327 [
1328 279,
1329 119,
1330 0,
1331 128,
1332 0,
1333 "SAM3D_BODY_MODEL"
1334 ],
1335 [
1336 283,
1337 119,
1338 0,
1339 129,
1340 0,
1341 "SAM3D_BODY_MODEL"
1342 ],
1343 [
1344 285,
1345 109,
1346 0,
1347 129,
1348 3,
1349 "BOUNDING_BOX"
1350 ],
1351 [
1352 286,
1353 126,
1354 0,
1355 129,
1356 4,
1357 "FLOAT"
1358 ],
1359 [
1360 287,
1361 129,
1362 0,
1363 128,
1364 1,
1365 "MHR_POSE_DATA"
1366 ],
1367 [
1368 288,
1369 128,
1370 0,
1371 130,
1372 0,
1373 "MHR_POSE_DATA"
1374 ],
1375 [
1376 290,
1377 130,
1378 0,
1379 127,
1380 0,
1381 "MHR_POSE_DATA"
1382 ],
1383 [
1384 293,
1385 130,
1386 0,
1387 131,
1388 0,
1389 "MHR_POSE_DATA"
1390 ],
1391 [
1392 298,
1393 131,
1394 0,
1395 134,
1396 0,
1397 "IMAGE"
1398 ],
1399 [
1400 299,
1401 134,
1402 0,
1403 135,
1404 0,
1405 "VIDEO"
1406 ],
1407 [
1408 300,
1409 86,
1410 2,
1411 134,
1412 2,
1413 "FLOAT"
1414 ],
1415 [
1416 303,
1417 18,
1418 0,
1419 129,
1420 2,
1421 "SAM3_TRACK_DATA"
1422 ],
1423 [
1424 304,
1425 86,
1426 0,
1427 18,
1428 0,
1429 "IMAGE"
1430 ],
1431 [
1432 305,
1433 86,
1434 0,
1435 109,
1436 1,
1437 "IMAGE"
1438 ],
1439 [
1440 306,
1441 86,
1442 0,
1443 114,
1444 1,
1445 "IMAGE"
1446 ],
1447 [
1448 307,
1449 86,
1450 0,
1451 128,
1452 2,
1453 "IMAGE"
1454 ],
1455 [
1456 308,
1457 86,
1458 0,
1459 129,
1460 1,
1461 "IMAGE"
1462 ],
1463 [
1464 309,
1465 86,
1466 0,
1467 131,
1468 1,
1469 "IMAGE"
1470 ],
1471 [
1472 310,
1473 127,
1474 0,
1475 143,
1476 0,
1477 "FILE_3D"
1478 ]
1479 ],
1480 "groups": [
1481 {
1482 "id": 1,
1483 "title": "Detect Bounding Boxes",
1484 "bounding": [
1485 -2190,
1486 5130,
1487 1230,
1488 410
1489 ],
1490 "flags": []
1491 },
1492 {
1493 "id": 2,
1494 "title": "Multiple People Detection (Optional)",
1495 "bounding": [
1496 -2190,
1497 5570,
1498 1230,
1499 430
1500 ],
1501 "flags": []
1502 },
1503 {
1504 "id": 3,
1505 "title": "Video Preprocessing",
1506 "bounding": [
1507 -2850,
1508 5570,
1509 600,
1510 210
1511 ],
1512 "color": "#3f789e",
1513 "flags": []
1514 },
1515 {
1516 "id": 4,
1517 "title": "Get FoV",
1518 "bounding": [
1519 -2190,
1520 6030,
1521 1230,
1522 350
1523 ],
1524 "flags": []
1525 },
1526 {
1527 "id": 6,
1528 "title": "SAM 3D Body Detection",
1529 "bounding": [
1530 -770,
1531 5400,
1532 1450,
1533 810
1534 ],
1535 "color": "#3f789e",
1536 "flags": []
1537 },
1538 {
1539 "id": 5,
1540 "title": "Detect Face Expressions",
1541 "bounding": [
1542 -390,
1543 5750,
1544 680,
1545 290
1546 ],
1547 "color": "#3f789e",
1548 "flags": []
1549 },
1550 {
1551 "id": 7,
1552 "title": "Render Video",
1553 "bounding": [
1554 800,
1555 5240,
1556 760,
1557 760
1558 ],
1559 "flags": []
1560 },
1561 {
1562 "id": 8,
1563 "title": "Create 3D Animation File",
1564 "bounding": [
1565 800,
1566 6020,
1567 760,
1568 560
1569 ],
1570 "flags": []
1571 }
1572 ],
1573 "config": [],
1574 "extra": {
1575 "ds": {
1576 "scale": 0.7535135447392799,
1577 "offset": [
1578 -505.3361883407547,
1579 -5507.25102152414
1580 ]
1581 },
1582 "frontendVersion": "1.51.9",
1583 "VHS_latentpreview": false,
1584 "VHS_latentpreviewrate": 0,
1585 "VHS_MetadataImage": true,
1586 "VHS_KeepIntermediate": true
1587 },
1588 "version": 0.4
1589}