added clip interrogator lookup table for validation tests and updated technical review and filepaths

This commit is contained in:
kentskooking
2026-03-24 17:13:26 -05:00
parent 3b91866a04
commit 98387decfb
12 changed files with 106636 additions and 6 deletions
+21
View File
@@ -0,0 +1,21 @@
MIT License
Copyright (c) 2026 Kentskooking
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
+6 -1
View File
@@ -27,5 +27,10 @@ This nodepack converts SD 1.5 embeddings and hypernetworks into usable SDXL vers
## Notes
- Alignment fitting is cached per SDXL checkpoint.
- Optional phrase validation expects CLIP Interrogator phrase files from `eden_comfy_pipelines/clip_utils/data`.
- Optional phrase validation uses bundled CLIP Interrogator phrase files from `data/clip_interrogator`.
- Bundled phrase files are attributed in `data/clip_interrogator/ATTRIBUTION.md`.
- Hypernetwork conversion is experimental and only supports classic linear payloads.
## License
MIT. See [LICENSE](LICENSE).
+23
View File
@@ -0,0 +1,23 @@
# Attribution
The text files in this directory are vendored for phrase-based validation used by `utils/validation.py`.
Source lineage:
- Copied into this repository from a local `eden_comfy_pipelines` installation for packaging stability.
- Originally derived from Clip Interrogator, developed by Pharmapsychotic.
License:
- Included under MIT-license terms, consistent with the upstream Clip Interrogator project and the local `eden_comfy_pipelines` installation from which these files were copied.
Files used by validation:
- `artists.txt`
- `flavors.txt`
- `mediums.txt`
- `movements.txt`
Additional vendored file:
- `negative.txt`
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+95
View File
@@ -0,0 +1,95 @@
a 3D render
a black and white photo
a bronze sculpture
a cartoon
a cave painting
a character portrait
a charcoal drawing
a child's drawing
a color pencil sketch
a colorized photo
a comic book panel
a computer rendering
a cross stitch
a cubist painting
a detailed drawing
a detailed matte painting
a detailed painting
a diagram
a digital painting
a digital rendering
a drawing
a fine art painting
a flemish Baroque
a gouache
a hologram
a hyperrealistic painting
a jigsaw puzzle
a low poly render
a macro photograph
a manga drawing
a marble sculpture
a matte painting
a microscopic photo
a mid-nineteenth century engraving
a minimalist painting
a mosaic
a painting
a pastel
a pencil sketch
a photo
a photocopy
a photorealistic painting
a picture
a pointillism painting
a polaroid photo
a pop art painting
a portrait
a poster
a raytraced image
a renaissance painting
a screenprint
a screenshot
a silk screen
a sketch
a statue
a still life
a stipple
a stock photo
a storybook illustration
a surrealist painting
a surrealist sculpture
a tattoo
a tilt shift photo
a watercolor painting
a wireframe diagram
a woodcut
an abstract drawing
an abstract painting
an abstract sculpture
an acrylic painting
an airbrush painting
an album cover
an ambient occlusion render
an anime drawing
an art deco painting
an art deco sculpture
an engraving
an etching
an illustration of
an impressionist painting
an ink drawing
an oil on canvas painting
an oil painting
an ultrafine detailed painting
chalk art
computer graphics
concept art
cyberpunk art
digital art
egyptian art
graffiti art
lineart
pixel art
poster art
vector art
+200
View File
@@ -0,0 +1,200 @@
abstract art
abstract expressionism
abstract illusionism
academic art
action painting
aestheticism
afrofuturism
altermodern
american barbizon school
american impressionism
american realism
american romanticism
american scene painting
analytical art
antipodeans
arabesque
arbeitsrat für kunst
art & language
art brut
art deco
art informel
art nouveau
art photography
arte povera
arts and crafts movement
ascii art
ashcan school
assemblage
australian tonalism
auto-destructive art
barbizon school
baroque
bauhaus
bengal school of art
berlin secession
black arts movement
brutalism
classical realism
cloisonnism
cobra
color field
computer art
conceptual art
concrete art
constructivism
context art
crayon art
crystal cubism
cubism
cubo-futurism
cynical realism
dada
danube school
dau-al-set
de stijl
deconstructivism
digital art
ecological art
environmental art
excessivism
expressionism
fantastic realism
fantasy art
fauvism
feminist art
figuration libre
figurative art
figurativism
fine art
fluxus
folk art
funk art
furry art
futurism
generative art
geometric abstract art
german romanticism
gothic art
graffiti
gutai group
happening
harlem renaissance
heidelberg school
holography
hudson river school
hurufiyya
hypermodernism
hyperrealism
impressionism
incoherents
institutional critique
interactive art
international gothic
international typographic style
kinetic art
kinetic pointillism
kitsch movement
land art
les automatistes
les nabis
letterism
light and space
lowbrow
lyco art
lyrical abstraction
magic realism
magical realism
mail art
mannerism
massurrealism
maximalism
metaphysical painting
mingei
minimalism
modern european ink painting
modernism
modular constructivism
naive art
naturalism
neo-dada
neo-expressionism
neo-fauvism
neo-figurative
neo-primitivism
neo-romanticism
neoclassicism
neogeo
neoism
neoplasticism
net art
new objectivity
new sculpture
northwest school
nuclear art
objective abstraction
op art
optical illusion
orphism
panfuturism
paris school
photorealism
pixel art
plasticien
plein air
pointillism
pop art
pop surrealism
post-impressionism
postminimalism
pre-raphaelitism
precisionism
primitivism
private press
process art
psychedelic art
purism
qajar art
quito school
rasquache
rayonism
realism
regionalism
remodernism
renaissance
retrofuturism
rococo
romanesque
romanticism
samikshavad
serial art
shin hanga
shock art
socialist realism
sots art
space art
street art
stuckism
sumatraism
superflat
suprematism
surrealism
symbolism
synchromism
synthetism
sōsaku hanga
tachisme
temporary art
tonalism
toyism
transgressive art
ukiyo-e
underground comix
unilalianism
vancouver school
vanitas
verdadism
video art
viennese actionism
visual art
vorticism
+41
View File
@@ -0,0 +1,41 @@
3d
b&w
bad anatomy
bad art
blur
blurry
cartoon
childish
close up
deformed
disconnected limbs
disfigured
disgusting
extra limb
extra limbs
floating limbs
grain
illustration
kitsch
long body
long neck
low quality
low-res
malformed hands
mangled
missing limb
mutated
mutation
mutilated
noisy
old
out of focus
over saturation
oversaturated
poorly drawn
poorly drawn face
poorly drawn hands
render
surreal
ugly
weird colors
+1 -1
View File
@@ -92,6 +92,6 @@ Behavior:
- The selected checkpoint does not expose both SDXL CLIP-L and CLIP-G token embedding tables.
- The source embedding is already SDXL or is not a standard SD 1.5 textual inversion embedding.
- Validation is enabled but the CLIP Interrogator phrase files are not present.
- Validation is enabled but the bundled CLIP Interrogator phrase files are missing.
- The output file already exists and `overwrite` is disabled.
- The hypernetwork payload uses unsupported features such as non-linear activation, layer norm, or dropout.
+6 -2
View File
@@ -56,9 +56,13 @@ The validation report exposes:
Phrase sampling comes from text files in:
`data/clip_interrogator`
The repo bundles the phrase files it needs for validation. For compatibility with older installs, the loader still falls back to:
`custom_nodes/eden_comfy_pipelines/clip_utils/data`
That dependency is external to this repo. If the phrase files are missing, validation will fail when enabled.
If neither location is present, validation will fail when enabled.
## Batch Conversion
@@ -107,5 +111,5 @@ Converted embeddings include metadata such as:
- Source textual inversion embeddings must be SD 1.5 style CLIP-L embeddings with width `768`.
- Existing SDXL embeddings are rejected rather than modified.
- Validation depends on another custom node's phrase data.
- Validation depends on the bundled phrase files being present in this repo.
- Hypernetwork support is narrow and should be treated as a best-effort conversion path, not a guaranteed faithful transfer.
+1 -1
View File
@@ -28,7 +28,7 @@ Documentation = "https://github.com/Kentskooking/ComfyUI-BridgeLab/wiki"
"Bug Tracker" = "https://github.com/Kentskooking/ComfyUI-BridgeLab/issues"
[tool.comfy]
PublisherId = ""
PublisherId = "kentskooking"
DisplayName = "ComfyUI-BridgeLab"
Icon = ""
includes = []
+7 -1
View File
@@ -208,8 +208,14 @@ def load_clip_interrogator_phrases() -> list[str]:
def clip_interrogator_data_path() -> str:
repo_root = os.path.dirname(os.path.dirname(__file__))
bundled_path = os.path.join(repo_root, "data", "clip_interrogator")
if os.path.isdir(bundled_path):
return bundled_path
custom_nodes_root = folder_paths.get_folder_paths("custom_nodes")[0]
return os.path.join(custom_nodes_root, "eden_comfy_pipelines", "clip_utils", "data")
fallback_path = os.path.join(custom_nodes_root, "eden_comfy_pipelines", "clip_utils", "data")
return fallback_path
def load_phrase_file(path: str) -> list[str]: