feat: add sams and ultralytics model categories
Add support for Two new model categories with full frontend and backend integration: - sams: maps sam, sam_model, sam_models → sams category - ultralytics: maps ultralytics, ultralytics_bbox, ultralytics_segm, yolo → ultralytics category Covers CATEGORY_MAP, settings templates/aliases, workflow_analyzer node hints, download target resolution (JS), and folder detection.
This commit is contained in:
@@ -788,6 +788,14 @@ class ModelResolverExtension:
|
||||
"gligen": "gligen",
|
||||
"diffusers": "diffusers",
|
||||
"vae_approx": "vae_approx",
|
||||
"sam": "sams",
|
||||
"sam_model": "sams",
|
||||
"sam_models": "sams",
|
||||
"sams": "sams",
|
||||
"ultralytics": "ultralytics",
|
||||
"ultralytics_bbox": "ultralytics",
|
||||
"ultralytics_segm": "ultralytics",
|
||||
"yolo": "ultralytics",
|
||||
"audio_encoder": "audio_encoders",
|
||||
"audio_encoders": "audio_encoders",
|
||||
"background_removal": "background_removal",
|
||||
@@ -1943,6 +1951,7 @@ class ModelResolverExtension:
|
||||
"text_encoders",
|
||||
"ipadapter",
|
||||
"sams",
|
||||
"ultralytics",
|
||||
]
|
||||
skip_categories = {"custom_nodes", "configs"}
|
||||
categories = []
|
||||
|
||||
@@ -63,6 +63,14 @@ CATEGORY_MAP = {
|
||||
"gligen": "gligen",
|
||||
"diffusers": "diffusers",
|
||||
"vae_approx": "vae_approx",
|
||||
"sam": "sams",
|
||||
"sam_model": "sams",
|
||||
"sam_models": "sams",
|
||||
"sams": "sams",
|
||||
"ultralytics": "ultralytics",
|
||||
"ultralytics_bbox": "ultralytics",
|
||||
"ultralytics_segm": "ultralytics",
|
||||
"yolo": "ultralytics",
|
||||
"audio_encoder": "audio_encoders",
|
||||
"audio_encoders": "audio_encoders",
|
||||
"background_removal": "background_removal",
|
||||
|
||||
@@ -39,6 +39,14 @@ CATEGORY_MAP = {
|
||||
"gligen": "gligen",
|
||||
"diffusers": "diffusers",
|
||||
"vae_approx": "vae_approx",
|
||||
"sam": "sams",
|
||||
"sam_model": "sams",
|
||||
"sam_models": "sams",
|
||||
"sams": "sams",
|
||||
"ultralytics": "ultralytics",
|
||||
"ultralytics_bbox": "ultralytics",
|
||||
"ultralytics_segm": "ultralytics",
|
||||
"yolo": "ultralytics",
|
||||
"audio_encoder": "audio_encoders",
|
||||
"audio_encoders": "audio_encoders",
|
||||
"background_removal": "background_removal",
|
||||
@@ -64,6 +72,8 @@ DEFAULT_DOWNLOAD_PATH_TEMPLATES: Dict[str, str] = {
|
||||
"controlnet": "{base_model}",
|
||||
"vae": "",
|
||||
"upscale_models": "",
|
||||
"sams": "",
|
||||
"ultralytics": "",
|
||||
}
|
||||
|
||||
DEFAULT_ROOT_KEYS = {
|
||||
@@ -85,6 +95,8 @@ TEMPLATE_KEY_ALIASES = {
|
||||
"controlnet": ("controlnet", "control_net"),
|
||||
"vae": ("vae",),
|
||||
"upscale_models": ("upscale_models", "upscale_model", "upscaler"),
|
||||
"sams": ("sams", "sam", "sam_model", "sam_models"),
|
||||
"ultralytics": ("ultralytics", "ultralytics_bbox", "ultralytics_segm", "yolo"),
|
||||
}
|
||||
|
||||
PRIORITY_TAGS = (
|
||||
|
||||
@@ -108,6 +108,8 @@ NODE_TYPE_TO_CATEGORY_HINTS = {
|
||||
"StyleModelLoader": "style_models",
|
||||
"GLIGENLoader": "gligen",
|
||||
"UpscaleModelLoader": "upscale_models",
|
||||
"SAMLoader": "sams",
|
||||
"UltralyticsDetectorProvider": "ultralytics",
|
||||
"AudioEncoderLoader": "audio_encoders",
|
||||
"LoadBackgroundRemovalModel": "background_removal",
|
||||
"LoadDA3Model": "geometry_estimation",
|
||||
@@ -209,6 +211,8 @@ NODE_TYPE_MODEL_WIDGET_CATEGORIES = {
|
||||
"StyleModelLoader": {0: "style_models"},
|
||||
"GLIGENLoader": {0: "gligen"},
|
||||
"UpscaleModelLoader": {0: "upscale_models"},
|
||||
"SAMLoader": {0: "sams"},
|
||||
"UltralyticsDetectorProvider": {0: "ultralytics"},
|
||||
"AudioEncoderLoader": {0: "audio_encoders"},
|
||||
"LoadBackgroundRemovalModel": {0: "background_removal"},
|
||||
"LoadDA3Model": {0: "geometry_estimation"},
|
||||
@@ -251,6 +255,7 @@ MODEL_WIDGET_NAME_TO_CATEGORY = {
|
||||
"audio_encoder_name": "audio_encoders",
|
||||
"bg_removal_name": "background_removal",
|
||||
"photomaker_model_name": "photomaker",
|
||||
"sam_model_name": "sams",
|
||||
"text_encoder": "text_encoders",
|
||||
"hypernetwork_name": "hypernetworks",
|
||||
}
|
||||
@@ -316,6 +321,7 @@ MODEL_WIDGET_PLACEHOLDERS = {
|
||||
"included",
|
||||
"(use same)",
|
||||
"select the lora to add to the text",
|
||||
"esam",
|
||||
"pixel_space",
|
||||
"taesd",
|
||||
"taesdxl",
|
||||
|
||||
@@ -122,6 +122,12 @@ export const downloadTargetMethods = {
|
||||
style_model: 'style_models',
|
||||
audio_encoder: 'audio_encoders',
|
||||
model_patch: 'model_patches',
|
||||
sam: 'sams',
|
||||
sam_model: 'sams',
|
||||
sam_models: 'sams',
|
||||
ultralytics_bbox: 'ultralytics',
|
||||
ultralytics_segm: 'ultralytics',
|
||||
yolo: 'ultralytics',
|
||||
background_removal_model: 'background_removal',
|
||||
frame_interpolation_model: 'frame_interpolation',
|
||||
geometry_estimation_model: 'geometry_estimation',
|
||||
@@ -157,7 +163,9 @@ export const downloadTargetMethods = {
|
||||
'detection': 'detection',
|
||||
'model_patches': 'model patch',
|
||||
'photomaker': 'PhotoMaker',
|
||||
'optical_flow': 'optical flow'
|
||||
'optical_flow': 'optical flow',
|
||||
'sams': 'SAM',
|
||||
'ultralytics': 'Ultralytics'
|
||||
};
|
||||
return displayNames[category] || category || 'unknown';
|
||||
},
|
||||
@@ -229,6 +237,13 @@ export const downloadTargetMethods = {
|
||||
model_patch: 'model',
|
||||
photomaker: 'clip-vision',
|
||||
optical_flow: 'image',
|
||||
sams: 'controlnet',
|
||||
sam: 'controlnet',
|
||||
sam_model: 'controlnet',
|
||||
ultralytics: 'controlnet',
|
||||
ultralytics_bbox: 'controlnet',
|
||||
ultralytics_segm: 'controlnet',
|
||||
yolo: 'controlnet',
|
||||
image: 'image',
|
||||
images: 'image',
|
||||
mask: 'mask',
|
||||
@@ -269,7 +284,9 @@ export const downloadTargetMethods = {
|
||||
'detection': 'detection',
|
||||
'model_patches': 'model_patch',
|
||||
'photomaker': 'photomaker',
|
||||
'optical_flow': 'optical_flow'
|
||||
'optical_flow': 'optical_flow',
|
||||
'sams': 'sam_model',
|
||||
'ultralytics': 'ultralytics'
|
||||
};
|
||||
return tokenNames[category] || category || 'unknown';
|
||||
},
|
||||
@@ -298,7 +315,8 @@ export const downloadTargetMethods = {
|
||||
'photomaker',
|
||||
'optical_flow',
|
||||
'ipadapter',
|
||||
'sams'
|
||||
'sams',
|
||||
'ultralytics'
|
||||
];
|
||||
},
|
||||
|
||||
|
||||
@@ -42,6 +42,7 @@ export const workflowStateMethods = {
|
||||
'audio_encoder_name',
|
||||
'bg_removal_name',
|
||||
'photomaker_model_name',
|
||||
'sam_model_name',
|
||||
'text_encoder',
|
||||
'existing_lora',
|
||||
'hypernetwork_name',
|
||||
@@ -111,6 +112,8 @@ export const workflowStateMethods = {
|
||||
StyleModelLoader: [0],
|
||||
GLIGENLoader: [0],
|
||||
UpscaleModelLoader: [0],
|
||||
SAMLoader: [0],
|
||||
UltralyticsDetectorProvider: [0],
|
||||
AudioEncoderLoader: [0],
|
||||
LoadBackgroundRemovalModel: [0],
|
||||
LoadDA3Model: [0],
|
||||
|
||||
Reference in New Issue
Block a user