Repository navigation
Expand file tree
/
Copy path__init__.py
More file actions
166 lines (151 loc) · 6.05 KB
/
Copy path__init__.py
File metadata and controls
166 lines (151 loc) · 6.05 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
import logging
from typing_extensions import override
from comfy_api.latest import ComfyExtension, io
from .nkd_crop import NKDCrop, NKDCropStitch
from .nkd_crop_stitch import NKDInpaintCrop, NKDInpaintStitch
from .nkd_string_split import NKDStringSplit
from .nkd_prompt_variables import NKDPromptVariables
from .nkd_gradient_map import NKDGradientMap
from .nkd_gradient_generate import NKDGradientGenerate
from .nkd_film_grain import NKDFilmGrain
from .nkd_noise import NKDNoise
from .nkd_frequency import NKDFrequencySeparate, NKDFrequencyCombine
from .nkd_color_warp import NKDColorWarp
from .nkd_mask_ops import NKDMaskOps, NKDMaskOpsLean
from .nkd_alpha_matte import NKDAlphaMatte
from .nkd_merge import NKDMerge
from .nkd_av_latent import NKDAudioMask, NKDAVLatent, NKDAVLatentExtend
from .nkd_mask_painter import NKDMaskPainter
from .nkd_vector_mask import NKDVectorMask
from .nkd_field_blur import NKDFieldBlur
from .nkd_path_blur import NKDPathBlur
from .nkd_minimax_guides import NKDMiniMaxGuides
from .nkd_paint import NKDPaint
from .nkd_lora_control import NKDLoraControl
from .nkd_resolution import NKDResolutionSelector
from . import nkd_spline_preview # noqa: F401 — registers /nkd/spline/preview
try:
from .nkd_face_crop import NKDFaceCrop, NKDFaceMask, NKDFaceStitch
except Exception as exc: # onnxruntime and friends are optional
NKDFaceCrop = NKDFaceMask = NKDFaceStitch = None
logging.warning("[NKD Basic Tools] 😺NKD Face Crop unavailable: %s", exc)
try:
from .nkd_face_rig import NKDFaceRig
from . import nkd_face_rig_routes # noqa: F401 — registers /nkd/facerig/*
except Exception as exc: # onnxruntime and friends are optional
NKDFaceRig = None
logging.warning("[NKD Basic Tools] 😺NKD Face Rig unavailable: %s", exc)
logging.info("[NKD Basic Tools] loaded — Crop outputs: model, image, mask, latent, crop_data")
WEB_DIRECTORY = "./js"
class NKDBasicToolsExtension(ComfyExtension):
@override
async def get_node_list(self) -> list[type[io.ComfyNode]]:
nodes = [
NKDCrop,
NKDCropStitch,
NKDInpaintCrop,
NKDInpaintStitch,
NKDStringSplit,
NKDPromptVariables,
NKDGradientMap,
NKDGradientGenerate,
NKDFilmGrain,
NKDNoise,
NKDFrequencySeparate,
NKDFrequencyCombine,
NKDColorWarp,
NKDMaskOps,
NKDMaskOpsLean,
NKDAlphaMatte,
NKDMerge,
NKDAudioMask,
NKDAVLatent,
NKDAVLatentExtend,
NKDMaskPainter,
NKDVectorMask,
NKDFieldBlur,
NKDPathBlur,
NKDMiniMaxGuides,
NKDPaint,
NKDLoraControl,
NKDResolutionSelector,
]
if NKDFaceCrop is not None:
nodes += [NKDFaceCrop, NKDFaceMask, NKDFaceStitch]
if NKDFaceRig is not None:
nodes.append(NKDFaceRig)
return nodes
async def comfy_entrypoint() -> NKDBasicToolsExtension:
return NKDBasicToolsExtension()
# Legacy mappings required for custom_nodes/ discovery
NODE_CLASS_MAPPINGS = {
"NKDCrop": NKDCrop,
"NKDCropStitch": NKDCropStitch,
"NKDInpaintCrop": NKDInpaintCrop,
"NKDInpaintStitch": NKDInpaintStitch,
"NKDStringSplit": NKDStringSplit,
"NKDPromptVariables": NKDPromptVariables,
"NKDGradientMap": NKDGradientMap,
"NKDGradientGenerate": NKDGradientGenerate,
"NKDFilmGrain": NKDFilmGrain,
"NKDNoise": NKDNoise,
"NKDFrequencySeparate": NKDFrequencySeparate,
"NKDFrequencyCombine": NKDFrequencyCombine,
"NKDColorWarp": NKDColorWarp,
"NKDMaskOps": NKDMaskOps,
"NKDMaskOpsLean": NKDMaskOpsLean,
"NKDAlphaMatte": NKDAlphaMatte,
"NKDMerge": NKDMerge,
"NKDAudioMask": NKDAudioMask,
"NKDAVLatent": NKDAVLatent,
"NKDAVLatentExtend": NKDAVLatentExtend,
"NKDMaskPainter": NKDMaskPainter,
"NKDVectorMask": NKDVectorMask,
"NKDFieldBlur": NKDFieldBlur,
"NKDPathBlur": NKDPathBlur,
"NKDMiniMaxGuides": NKDMiniMaxGuides,
"NKDPaint": NKDPaint,
"NKDLoraControl": NKDLoraControl,
"NKDResolutionSelector": NKDResolutionSelector,
}
NODE_DISPLAY_NAME_MAPPINGS = {
"NKDCrop": "😺NKD Crop / Outpaint",
"NKDCropStitch": "😺NKD Crop / Outpaint Stitch",
"NKDInpaintCrop": "😺NKD Inpaint Crop",
"NKDInpaintStitch": "😺NKD Inpaint Stitch",
"NKDStringSplit": "😺NKD String Split",
"NKDPromptVariables": "😺NKD Prompt Variables",
"NKDGradientMap": "😺NKD Gradient Map",
"NKDGradientGenerate": "😺NKD Gradient Generate",
"NKDFilmGrain": "😺NKD Film Grain",
"NKDNoise": "😺NKD Noise",
"NKDFrequencySeparate": "😺NKD Frequency Separate",
"NKDFrequencyCombine": "😺NKD Frequency Combine",
"NKDColorWarp": "😺NKD Color Warp",
"NKDMaskOps": "😺NKD Mask Ops",
"NKDMaskOpsLean": "😺NKD Mask Ops Lean",
"NKDAlphaMatte": "😺NKD Alpha Matte",
"NKDMerge": "😺NKD Merge",
"NKDAudioMask": "😺NKD Audio Mask",
"NKDAVLatent": "😺NKD AV Latent",
"NKDAVLatentExtend": "😺NKD AV Latent Extend",
"NKDMaskPainter": "😺NKD Mask Painter",
"NKDVectorMask": "😺NKD Vector Mask",
"NKDFieldBlur": "😺NKD Field Blur",
"NKDPathBlur": "😺NKD Path Blur",
"NKDMiniMaxGuides": "😺NKD MiniMax Guides",
"NKDPaint": "😺NKD Painter Node",
"NKDLoraControl": "😺NKD LoRA Control",
"NKDResolutionSelector": "😺NKD Resolution Selector",
}
if NKDFaceCrop is not None:
NODE_CLASS_MAPPINGS["NKDFaceCrop"] = NKDFaceCrop
NODE_CLASS_MAPPINGS["NKDFaceMask"] = NKDFaceMask
NODE_CLASS_MAPPINGS["NKDFaceStitch"] = NKDFaceStitch
NODE_DISPLAY_NAME_MAPPINGS["NKDFaceCrop"] = "😺NKD Face Crop"
NODE_DISPLAY_NAME_MAPPINGS["NKDFaceMask"] = "😺NKD Face Mask"
NODE_DISPLAY_NAME_MAPPINGS["NKDFaceStitch"] = "😺NKD Face Stitch"
if NKDFaceRig is not None:
NODE_CLASS_MAPPINGS["NKDFaceRig"] = NKDFaceRig
NODE_DISPLAY_NAME_MAPPINGS["NKDFaceRig"] = "😺NKD Face Rig"
__all__ = ["NODE_CLASS_MAPPINGS", "NODE_DISPLAY_NAME_MAPPINGS", "WEB_DIRECTORY"]