added clip interrogator lookup table for validation tests and updated technical review and filepaths
This commit is contained in:
@@ -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.
|
||||
@@ -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).
|
||||
|
||||
@@ -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
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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.
|
||||
|
||||
@@ -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
@@ -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
@@ -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]:
|
||||
|
||||
Reference in New Issue
Block a user