{"id":"874ebe02-188f-4758-beb2-c7461467dd73","revision":0,"last_node_id":18,"last_link_id":56,"nodes":[{"id":1,"type":"LoadVideo","pos":[100,130],"size":[282.798828125,82],"flags":{},"order":0,"mode":0,"inputs":[{"localized_name":"file","name":"file","type":"COMBO","widget":{"name":"file"},"link":null},{"localized_name":"choose file to upload","name":"upload","type":"IMAGEUPLOAD","widget":{"name":"upload"},"link":null}],"outputs":[{"localized_name":"VIDEO","name":"VIDEO","type":"VIDEO","links":[29]}],"title":"Source shot","properties":{"Node name for S&R":"LoadVideo"},"widgets_values":["source_shot.mp4","image"],"widgets_values_named":{"file":"source_shot.mp4","upload":"image"}},{"id":2,"type":"GetVideoComponents","pos":[482.798828125,130],"size":[193.530859375,106],"flags":{},"order":2,"mode":0,"inputs":[{"localized_name":"video","name":"video","type":"VIDEO","link":29}],"outputs":[{"localized_name":"images","name":"images","type":"IMAGE","links":[32,36,42,48]},{"localized_name":"audio","name":"audio","type":"AUDIO","links":null},{"localized_name":"fps","name":"fps","type":"FLOAT","links":[55]},{"localized_name":"bit_depth","name":"bit_depth","type":"COMBO","links":null},{"localized_name":"color_space","name":"color_space","type":"COMBO","links":null}],"properties":{"Node name for S&R":"GetVideoComponents"}},{"id":3,"type":"CheckpointLoaderSimple","pos":[100,342],"size":[270,98],"flags":{},"order":1,"mode":0,"inputs":[{"localized_name":"ckpt_name","name":"ckpt_name","type":"COMBO","widget":{"name":"ckpt_name"},"link":null}],"outputs":[{"localized_name":"MODEL","name":"MODEL","type":"MODEL","links":[31,35,41,47]},{"localized_name":"CLIP","name":"CLIP","type":"CLIP","links":[30,34,40,46]},{"localized_name":"VAE","name":"VAE","type":"VAE","links":null}],"title":"SAM 3.1","properties":{"Node name for S&R":"CheckpointLoaderSimple"},"widgets_values":["sam3.1_multiplex_fp16.safetensors"],"widgets_values_named":{"ckpt_name":"sam3.1_multiplex_fp16.safetensors"}},{"id":4,"type":"CLIPTextEncode","pos":[482.798828125,366],"size":[400,200],"flags":{},"order":3,"mode":0,"inputs":[{"localized_name":"clip","name":"clip","type":"CLIP","link":30},{"localized_name":"text","name":"text","type":"STRING","widget":{"name":"text"},"link":null}],"outputs":[{"localized_name":"CONDITIONING","name":"CONDITIONING","type":"CONDITIONING","links":[33]}],"title":"What to mark 1 - if unused, repeat word 1 (a blank slot finds the whole person)","properties":{"Node name for S&R":"CLIPTextEncode"},"widgets_values":["dinosaur"],"widgets_values_named":{"text":"dinosaur"}},{"id":5,"type":"SAM3_Detect","pos":[982.798828125,130],"size":[270,206],"flags":{},"order":7,"mode":0,"inputs":[{"localized_name":"model","name":"model","type":"MODEL","link":31},{"localized_name":"image","name":"image","type":"IMAGE","link":32},{"localized_name":"conditioning","name":"conditioning","shape":7,"type":"CONDITIONING","link":33},{"localized_name":"bboxes","name":"bboxes","shape":7,"type":"BOUNDING_BOX","link":null},{"localized_name":"positive_coords","name":"positive_coords","shape":7,"type":"STRING","link":null},{"localized_name":"negative_coords","name":"negative_coords","shape":7,"type":"STRING","link":null},{"localized_name":"threshold","name":"threshold","type":"FLOAT","widget":{"name":"threshold"},"link":null},{"localized_name":"refine_iterations","name":"refine_iterations","type":"INT","widget":{"name":"refine_iterations"},"link":null},{"localized_name":"individual_masks","name":"individual_masks","type":"BOOLEAN","widget":{"name":"individual_masks"},"link":null}],"outputs":[{"localized_name":"masks","name":"masks","type":"MASK","links":[38]},{"localized_name":"bboxes","name":"bboxes","type":"BOUNDING_BOX","links":null}],"title":"Find word 1 on every frame","properties":{"Node name for S&R":"SAM3_Detect"},"widgets_values":[0.3,2,false],"widgets_values_named":{"threshold":0.3,"refine_iterations":2,"individual_masks":false}},{"id":6,"type":"CLIPTextEncode","pos":[482.798828125,696],"size":[400,200],"flags":{},"order":4,"mode":0,"inputs":[{"localized_name":"clip","name":"clip","type":"CLIP","link":34},{"localized_name":"text","name":"text","type":"STRING","widget":{"name":"text"},"link":null}],"outputs":[{"localized_name":"CONDITIONING","name":"CONDITIONING","type":"CONDITIONING","links":[37]}],"title":"What to mark 2 - if unused, repeat word 1 (a blank slot finds the whole person)","properties":{"Node name for S&R":"CLIPTextEncode"},"widgets_values":["dinosaur"],"widgets_values_named":{"text":"dinosaur"}},{"id":7,"type":"SAM3_Detect","pos":[982.798828125,466],"size":[270,206],"flags":{},"order":8,"mode":0,"inputs":[{"localized_name":"model","name":"model","type":"MODEL","link":35},{"localized_name":"image","name":"image","type":"IMAGE","link":36},{"localized_name":"conditioning","name":"conditioning","shape":7,"type":"CONDITIONING","link":37},{"localized_name":"bboxes","name":"bboxes","shape":7,"type":"BOUNDING_BOX","link":null},{"localized_name":"positive_coords","name":"positive_coords","shape":7,"type":"STRING","link":null},{"localized_name":"negative_coords","name":"negative_coords","shape":7,"type":"STRING","link":null},{"localized_name":"threshold","name":"threshold","type":"FLOAT","widget":{"name":"threshold"},"link":null},{"localized_name":"refine_iterations","name":"refine_iterations","type":"INT","widget":{"name":"refine_iterations"},"link":null},{"localized_name":"individual_masks","name":"individual_masks","type":"BOOLEAN","widget":{"name":"individual_masks"},"link":null}],"outputs":[{"localized_name":"masks","name":"masks","type":"MASK","links":[39]},{"localized_name":"bboxes","name":"bboxes","type":"BOUNDING_BOX","links":null}],"title":"Find word 2 on every frame","properties":{"Node name for S&R":"SAM3_Detect"},"widgets_values":[0.3,2,false],"widgets_values_named":{"threshold":0.3,"refine_iterations":2,"individual_masks":false}},{"id":8,"type":"MaskComposite","pos":[1352.798828125,130],"size":[270,126],"flags":{},"order":11,"mode":0,"inputs":[{"localized_name":"destination","name":"destination","type":"MASK","link":38},{"localized_name":"source","name":"source","type":"MASK","link":39},{"localized_name":"x","name":"x","type":"INT","widget":{"name":"x"},"link":null},{"localized_name":"y","name":"y","type":"INT","widget":{"name":"y"},"link":null},{"localized_name":"operation","name":"operation","type":"COMBO","widget":{"name":"operation"},"link":null}],"outputs":[{"localized_name":"MASK","name":"MASK","type":"MASK","links":[44]}],"title":"Join (or) word 2","properties":{"Node name for S&R":"MaskComposite"},"widgets_values":[0,0,"or"],"widgets_values_named":{"x":0,"y":0,"operation":"or"}},{"id":9,"type":"CLIPTextEncode","pos":[482.798828125,1026],"size":[400,200],"flags":{},"order":5,"mode":0,"inputs":[{"localized_name":"clip","name":"clip","type":"CLIP","link":40},{"localized_name":"text","name":"text","type":"STRING","widget":{"name":"text"},"link":null}],"outputs":[{"localized_name":"CONDITIONING","name":"CONDITIONING","type":"CONDITIONING","links":[43]}],"title":"What to mark 3 - if unused, repeat word 1 (a blank slot finds the whole person)","properties":{"Node name for S&R":"CLIPTextEncode"},"widgets_values":["dinosaur"],"widgets_values_named":{"text":"dinosaur"}},{"id":10,"type":"SAM3_Detect","pos":[982.798828125,802],"size":[270,206],"flags":{},"order":9,"mode":0,"inputs":[{"localized_name":"model","name":"model","type":"MODEL","link":41},{"localized_name":"image","name":"image","type":"IMAGE","link":42},{"localized_name":"conditioning","name":"conditioning","shape":7,"type":"CONDITIONING","link":43},{"localized_name":"bboxes","name":"bboxes","shape":7,"type":"BOUNDING_BOX","link":null},{"localized_name":"positive_coords","name":"positive_coords","shape":7,"type":"STRING","link":null},{"localized_name":"negative_coords","name":"negative_coords","shape":7,"type":"STRING","link":null},{"localized_name":"threshold","name":"threshold","type":"FLOAT","widget":{"name":"threshold"},"link":null},{"localized_name":"refine_iterations","name":"refine_iterations","type":"INT","widget":{"name":"refine_iterations"},"link":null},{"localized_name":"individual_masks","name":"individual_masks","type":"BOOLEAN","widget":{"name":"individual_masks"},"link":null}],"outputs":[{"localized_name":"masks","name":"masks","type":"MASK","links":[45]},{"localized_name":"bboxes","name":"bboxes","type":"BOUNDING_BOX","links":null}],"title":"Find word 3 on every frame","properties":{"Node name for S&R":"SAM3_Detect"},"widgets_values":[0.3,2,false],"widgets_values_named":{"threshold":0.3,"refine_iterations":2,"individual_masks":false}},{"id":11,"type":"MaskComposite","pos":[1722.798828125,130],"size":[270,126],"flags":{},"order":12,"mode":0,"inputs":[{"localized_name":"destination","name":"destination","type":"MASK","link":44},{"localized_name":"source","name":"source","type":"MASK","link":45},{"localized_name":"x","name":"x","type":"INT","widget":{"name":"x"},"link":null},{"localized_name":"y","name":"y","type":"INT","widget":{"name":"y"},"link":null},{"localized_name":"operation","name":"operation","type":"COMBO","widget":{"name":"operation"},"link":null}],"outputs":[{"localized_name":"MASK","name":"MASK","type":"MASK","links":[50]}],"title":"Join (or) word 3","properties":{"Node name for S&R":"MaskComposite"},"widgets_values":[0,0,"or"],"widgets_values_named":{"x":0,"y":0,"operation":"or"}},{"id":12,"type":"CLIPTextEncode","pos":[482.798828125,1356],"size":[400,200],"flags":{},"order":6,"mode":0,"inputs":[{"localized_name":"clip","name":"clip","type":"CLIP","link":46},{"localized_name":"text","name":"text","type":"STRING","widget":{"name":"text"},"link":null}],"outputs":[{"localized_name":"CONDITIONING","name":"CONDITIONING","type":"CONDITIONING","links":[49]}],"title":"What to mark 4 - if unused, repeat word 1 (a blank slot finds the whole person)","properties":{"Node name for S&R":"CLIPTextEncode"},"widgets_values":["dinosaur"],"widgets_values_named":{"text":"dinosaur"}},{"id":13,"type":"SAM3_Detect","pos":[982.798828125,1138],"size":[270,206],"flags":{},"order":10,"mode":0,"inputs":[{"localized_name":"model","name":"model","type":"MODEL","link":47},{"localized_name":"image","name":"image","type":"IMAGE","link":48},{"localized_name":"conditioning","name":"conditioning","shape":7,"type":"CONDITIONING","link":49},{"localized_name":"bboxes","name":"bboxes","shape":7,"type":"BOUNDING_BOX","link":null},{"localized_name":"positive_coords","name":"positive_coords","shape":7,"type":"STRING","link":null},{"localized_name":"negative_coords","name":"negative_coords","shape":7,"type":"STRING","link":null},{"localized_name":"threshold","name":"threshold","type":"FLOAT","widget":{"name":"threshold"},"link":null},{"localized_name":"refine_iterations","name":"refine_iterations","type":"INT","widget":{"name":"refine_iterations"},"link":null},{"localized_name":"individual_masks","name":"individual_masks","type":"BOOLEAN","widget":{"name":"individual_masks"},"link":null}],"outputs":[{"localized_name":"masks","name":"masks","type":"MASK","links":[51]},{"localized_name":"bboxes","name":"bboxes","type":"BOUNDING_BOX","links":null}],"title":"Find word 4 on every frame","properties":{"Node name for S&R":"SAM3_Detect"},"widgets_values":[0.3,2,false],"widgets_values_named":{"threshold":0.3,"refine_iterations":2,"individual_masks":false}},{"id":14,"type":"MaskComposite","pos":[2092.798828125,130],"size":[270,126],"flags":{},"order":13,"mode":0,"inputs":[{"localized_name":"destination","name":"destination","type":"MASK","link":50},{"localized_name":"source","name":"source","type":"MASK","link":51},{"localized_name":"x","name":"x","type":"INT","widget":{"name":"x"},"link":null},{"localized_name":"y","name":"y","type":"INT","widget":{"name":"y"},"link":null},{"localized_name":"operation","name":"operation","type":"COMBO","widget":{"name":"operation"},"link":null}],"outputs":[{"localized_name":"MASK","name":"MASK","type":"MASK","links":[52]}],"title":"Join (or) word 4","properties":{"Node name for S&R":"MaskComposite"},"widgets_values":[0,0,"or"],"widgets_values_named":{"x":0,"y":0,"operation":"or"}},{"id":15,"type":"GrowMask","pos":[2462.798828125,130],"size":[270,82],"flags":{},"order":14,"mode":0,"inputs":[{"localized_name":"mask","name":"mask","type":"MASK","link":52},{"localized_name":"expand","name":"expand","type":"INT","widget":{"name":"expand"},"link":null},{"localized_name":"tapered_corners","name":"tapered_corners","type":"BOOLEAN","widget":{"name":"tapered_corners"},"link":null}],"outputs":[{"localized_name":"MASK","name":"MASK","type":"MASK","links":[53]}],"title":"Grow (room for the new outline; 12 default)","properties":{"Node name for S&R":"GrowMask"},"widgets_values":[12,true],"widgets_values_named":{"expand":12,"tapered_corners":true}},{"id":16,"type":"MaskToImage","pos":[2832.798828125,130],"size":[193.2779296875,26],"flags":{},"order":15,"mode":0,"inputs":[{"localized_name":"mask","name":"mask","type":"MASK","link":53}],"outputs":[{"localized_name":"IMAGE","name":"IMAGE","type":"IMAGE","links":[54]}],"properties":{"Node name for S&R":"MaskToImage"}},{"id":17,"type":"CreateVideo","pos":[3126.0767578125,130],"size":[270,150],"flags":{},"order":16,"mode":0,"inputs":[{"localized_name":"images","name":"images","type":"IMAGE","link":54},{"localized_name":"audio","name":"audio","shape":7,"type":"AUDIO","link":null},{"localized_name":"fps","name":"fps","type":"FLOAT","widget":{"name":"fps"},"link":55},{"localized_name":"bit_depth","name":"bit_depth","shape":7,"type":"COMBO","widget":{"name":"bit_depth"},"link":null},{"localized_name":"color_space","name":"color_space","shape":7,"type":"COMBO","widget":{"name":"color_space"},"link":null},{"localized_name":"codec","name":"codec","shape":7,"type":"COMBO","widget":{"name":"codec"},"link":null}],"outputs":[{"localized_name":"VIDEO","name":"VIDEO","type":"VIDEO","links":[56]}],"properties":{"Node name for S&R":"CreateVideo"},"widgets_values":[30,"auto","sRGB","none"],"widgets_values_named":{"fps":30,"bit_depth":"auto","color_space":"sRGB","codec":"none"}},{"id":18,"type":"SaveVideo","pos":[3496.0767578125,130],"size":[270,154],"flags":{},"order":17,"mode":0,"inputs":[{"localized_name":"video","name":"video","type":"VIDEO","link":56},{"localized_name":"filename_prefix","name":"filename_prefix","type":"STRING","widget":{"name":"filename_prefix"},"link":null},{"localized_name":"format","name":"format","type":"COMFY_DYNAMICCOMBO_V3","widget":{"name":"format"},"link":null},{"localized_name":"codec","name":"format.codec","type":"COMFY_DYNAMICCOMBO_V3","widget":{"name":"format.codec"},"link":null},{"localized_name":"encoding","name":"format.codec.encoding","shape":7,"type":"COMFY_DYNAMICCOMBO_V3","widget":{"name":"format.codec.encoding"},"link":null},{"localized_name":"crf","name":"format.codec.encoding.crf","type":"FLOAT","widget":{"name":"format.codec.encoding.crf"},"link":null},{"localized_name":"codec","name":"codec","shape":7,"type":"COMFY_DYNAMICCOMBO_V3","widget":{"name":"codec"},"link":null}],"outputs":[{"localized_name":"video","name":"video","type":"VIDEO","links":null}],"title":"Mask video (white = replace)","properties":{},"widgets_values":["core/effects-mask","mp4","h264","re-encode",16,"auto"],"widgets_values_named":{"filename_prefix":"core/effects-mask","format":"mp4","format.codec":"h264","format.codec.encoding":"re-encode","format.codec.encoding.crf":16,"codec":"auto"}}],"links":[[29,1,0,2,0,"VIDEO"],[30,3,1,4,0,"CLIP"],[31,3,0,5,0,"MODEL"],[32,2,0,5,1,"IMAGE"],[33,4,0,5,2,"CONDITIONING"],[34,3,1,6,0,"CLIP"],[35,3,0,7,0,"MODEL"],[36,2,0,7,1,"IMAGE"],[37,6,0,7,2,"CONDITIONING"],[38,5,0,8,0,"MASK"],[39,7,0,8,1,"MASK"],[40,3,1,9,0,"CLIP"],[41,3,0,10,0,"MODEL"],[42,2,0,10,1,"IMAGE"],[43,9,0,10,2,"CONDITIONING"],[44,8,0,11,0,"MASK"],[45,10,0,11,1,"MASK"],[46,3,1,12,0,"CLIP"],[47,3,0,13,0,"MODEL"],[48,2,0,13,1,"IMAGE"],[49,12,0,13,2,"CONDITIONING"],[50,11,0,14,0,"MASK"],[51,13,0,14,1,"MASK"],[52,14,0,15,0,"MASK"],[53,15,0,16,0,"MASK"],[54,16,0,17,0,"IMAGE"],[55,2,2,17,2,"FLOAT"],[56,17,0,18,0,"VIDEO"]],"groups":[],"config":{},"extra":{"ds":{"scale":0.9,"offset":[416,110]}},"version":0.4}