mirror of
https://github.com/Comfy-Org/ComfyUI-Manager.git
synced 2026-07-12 09:27:09 +08:00
Compare commits
19 Commits
7585fb9ebb
...
f6c673ed42
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f6c673ed42 | ||
|
|
037987b917 | ||
|
|
8076c200fc | ||
|
|
69bad851e0 | ||
|
|
47df9c702c | ||
|
|
d6df033a21 | ||
|
|
d72007d1a8 | ||
|
|
396308854d | ||
|
|
85a189e225 | ||
|
|
c09c86e7c5 | ||
|
|
30b99df8bc | ||
|
|
edb0918fb8 | ||
|
|
439aeaed3b | ||
|
|
8f1b4ea47b | ||
|
|
e75889b445 | ||
|
|
91bfd8e6d3 | ||
|
|
4a84ec185b | ||
|
|
fd8d458eaf | ||
|
|
336a945ff8 |
@ -40995,6 +40995,46 @@
|
||||
"install_type": "git-clone",
|
||||
"description": "Click-to-refine sampler. Generate, then click or paint regions to refine them in place. First-class support for FLUX 2 Klein 9B and Qwen-Image-Edit (Smart Inpaint / Smart Guided Inpaint / Xtra-Fine), works with any sampler-compatible model for Refine + Area Prompt. Optional SAM 3 Detect for text-prompted segmentation, and a companion Overrides node for custom samplers (power-sigma, Flux 2 scheduler, NAG)."
|
||||
},
|
||||
{
|
||||
"author": "shootthesound",
|
||||
"title": "Lighthouse",
|
||||
"reference": "https://github.com/shootthesound/comfyui-lighthouse",
|
||||
"files": [
|
||||
"https://github.com/shootthesound/comfyui-lighthouse"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "A non-destructive overlay that lights up every node by graph distance from the one you click. Diagnostic for big workflows, educational for understanding workflows others built, and surgical when you need to focus on one neighbourhood at a time."
|
||||
},
|
||||
{
|
||||
"author": "shootthesound",
|
||||
"title": "CleanFreak",
|
||||
"reference": "https://github.com/shootthesound/comfyui-CleanFreak",
|
||||
"files": [
|
||||
"https://github.com/shootthesound/comfyui-CleanFreak"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "One-click tidy-by-role for any ComfyUI workflow — loaders, encoders, samplers, decoders, and outputs each sorted into their own column with coloured group cards and connections preserved. 1200+ node classes pre-classified out of the box."
|
||||
},
|
||||
{
|
||||
"author": "shootthesound",
|
||||
"title": "Finding LoRA",
|
||||
"reference": "https://github.com/shootthesound/comfyui-lora-FindingLora",
|
||||
"files": [
|
||||
"https://github.com/shootthesound/comfyui-lora-FindingLora"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "A LoRA loader with bookmarks, trigger-word storage and click-to-copy, fuzzy search, and a one-click button to drop another loader inline and wire it into the model chain automatically."
|
||||
},
|
||||
{
|
||||
"author": "shootthesound",
|
||||
"title": "Image of the Day",
|
||||
"reference": "https://github.com/shootthesound/comfyui-image-of-the-day",
|
||||
"files": [
|
||||
"https://github.com/shootthesound/comfyui-image-of-the-day"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "Fetch a fresh image straight into your workflow from 8 daily/random sources. Useful for prompt testing, style references, daily-image automations, or just kicking off a workflow with something interesting."
|
||||
},
|
||||
{
|
||||
"author": "HackAfterDark",
|
||||
"title": "AfterDark Film AR Selector",
|
||||
@ -54093,6 +54133,46 @@
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "A soft, Anima-friendly Perturbed Attention Guidance node for ComfyUI."
|
||||
},
|
||||
{
|
||||
"author": "TechnoWarrior2",
|
||||
"title": "ComfyUI Image Picker",
|
||||
"reference": "https://github.com/TechnoWarrior2/comfyui-image-picker",
|
||||
"files": [
|
||||
"https://github.com/TechnoWarrior2/comfyui-image-picker"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "Pauses your workflow and opens a popup window to manually pick which generated images pass through to the rest of the graph."
|
||||
},
|
||||
{
|
||||
"author": "TechnoWarrior2",
|
||||
"title": "ComfyUI Live Preview",
|
||||
"reference": "https://github.com/TechnoWarrior2/comfyui-live-preview",
|
||||
"files": [
|
||||
"https://github.com/TechnoWarrior2/comfyui-live-preview"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "Displays a large draggable floating window with live denoising step previews as your image generates, similar to A1111 and Forge."
|
||||
},
|
||||
{
|
||||
"author": "Moon-NE",
|
||||
"title": "MoonNe_Nodes",
|
||||
"reference": "https://github.com/Moon-NE/MoonNe_Nodes",
|
||||
"files": [
|
||||
"https://github.com/Moon-NE/MoonNe_Nodes"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "Custom nodes for text operations, including concatenation, horizontal-to-vertical conversion, and batch processing."
|
||||
},
|
||||
{
|
||||
"author": "younestft",
|
||||
"title": "Comfy EverAnimate",
|
||||
"reference": "https://github.com/younestft/Comfy_EverAnimate",
|
||||
"files": [
|
||||
"https://github.com/younestft/Comfy_EverAnimate"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "Native ComfyUI nodes for EverAnimate-style chunked WanAnimate workflows, including master/chunk settings, chunk calculation, image carry-over, and boundary color correction."
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@ -3876,6 +3876,7 @@
|
||||
"Beaufort",
|
||||
"Bifid",
|
||||
"Binary2String",
|
||||
"BitsCounter",
|
||||
"BitwiseAND",
|
||||
"BitwiseLS",
|
||||
"BitwiseNOT",
|
||||
@ -3897,6 +3898,11 @@
|
||||
"ConcatKDFHash_Derive",
|
||||
"ConcatKDFHash_Verify",
|
||||
"ConstantTimeCompare",
|
||||
"DERPrivateKey",
|
||||
"DERPublicKey",
|
||||
"ECPrivateKey",
|
||||
"ECPublicKey",
|
||||
"ECSign",
|
||||
"EdDSAPrivateKeyFormat",
|
||||
"EdDSAPublicKeyFormat",
|
||||
"EdDSASignature",
|
||||
@ -3921,6 +3927,8 @@
|
||||
"Nihilist",
|
||||
"PBKDF2HMAC_Derive",
|
||||
"PBKDF2HMAC_Verify",
|
||||
"PEMPrivateKey",
|
||||
"PEMPublicKey",
|
||||
"Padding",
|
||||
"Playfair",
|
||||
"Polybius",
|
||||
@ -3956,6 +3964,7 @@
|
||||
"X963KDF_Derive",
|
||||
"X963KDF_Verify",
|
||||
"XExchange",
|
||||
"XOFHash",
|
||||
"XPrivateKeyFormat",
|
||||
"XPublicKeyFormat",
|
||||
"Zigzag"
|
||||
@ -26816,6 +26825,7 @@
|
||||
"XB_AutoBubbleTextRenderer",
|
||||
"XB_BatchFolderLoader",
|
||||
"XB_BerniniConditioning",
|
||||
"XB_BerniniPromptRouter",
|
||||
"XB_CLIPNameBroadcaster",
|
||||
"XB_CanvasLabel",
|
||||
"XB_CheckpointBlockSwap",
|
||||
@ -26827,6 +26837,7 @@
|
||||
"XB_HumanSegModelLoader",
|
||||
"XB_HumanSegmentation",
|
||||
"XB_ImageParamsMaster",
|
||||
"XB_K2StyleRouter",
|
||||
"XB_KSampler",
|
||||
"XB_KSamplerAdvanced",
|
||||
"XB_MSR",
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -1,4 +1,9 @@
|
||||
import { $el } from "../../scripts/ui.js";
|
||||
// === SHIM FOR NEW COMFYUI (removes ui.js warning) ===
|
||||
let $el;
|
||||
if (window?.comfyAPI?.ui) {
|
||||
({ $el } = window.comfyAPI.ui);
|
||||
} else {
|
||||
({ $el } = await import("../../scripts/ui.js"));
|
||||
|
||||
function normalizeContent(content) {
|
||||
const tmp = document.createElement('div');
|
||||
@ -224,4 +229,4 @@ export function buildGuiFrameCustomHeader(dialogId, customHeader, content, owner
|
||||
});
|
||||
|
||||
return dialog_mask;
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,6 +1,5 @@
|
||||
import { api } from "../../scripts/api.js";
|
||||
import { app } from "../../scripts/app.js";
|
||||
import { $el, ComfyDialog } from "../../scripts/ui.js";
|
||||
import {
|
||||
SUPPORTED_OUTPUT_NODE_TYPES,
|
||||
ShareDialog,
|
||||
@ -22,6 +21,27 @@ import { ModelManager } from "./model-manager.js";
|
||||
import { SnapshotManager } from "./snapshot.js";
|
||||
import { buildGuiFrame, createSettingsCombo } from "./comfyui-gui-builder.js";
|
||||
|
||||
// === SHIM FOR NEW COMFYUI (removes ui.js, button.js + buttonGroup.js warnings) ===
|
||||
let $el, ComfyDialog, ComfyButton, ComfyButtonGroup;
|
||||
|
||||
if (window?.comfyAPI?.ui) {
|
||||
({ $el, ComfyDialog } = window.comfyAPI.ui);
|
||||
} else {
|
||||
({ $el, ComfyDialog } = await import("../../scripts/ui.js"));
|
||||
}
|
||||
|
||||
if (window?.comfyAPI?.button) {
|
||||
ComfyButton = window.comfyAPI.button.ComfyButton;
|
||||
} else {
|
||||
ComfyButton = (await import("../../scripts/ui/components/button.js")).ComfyButton;
|
||||
}
|
||||
|
||||
if (window?.comfyAPI?.buttonGroup?.ComfyButtonGroup) {
|
||||
ComfyButtonGroup = window.comfyAPI.buttonGroup.ComfyButtonGroup;
|
||||
} else {
|
||||
ComfyButtonGroup = (await import("../../scripts/ui/components/buttonGroup.js")).ComfyButtonGroup;
|
||||
}
|
||||
|
||||
let manager_version = await getVersion();
|
||||
|
||||
var docStyle = document.createElement('style');
|
||||
@ -1567,8 +1587,9 @@ app.registerExtension({
|
||||
try {
|
||||
// new style Manager buttons
|
||||
// unload models button into new style Manager button
|
||||
let cmGroup = new (await import("../../scripts/ui/components/buttonGroup.js")).ComfyButtonGroup(
|
||||
new(await import("../../scripts/ui/components/button.js")).ComfyButton({
|
||||
// Use hoisted ComfyButton + ComfyButtonGroup from shim at top of file
|
||||
let cmGroup = new ComfyButtonGroup(
|
||||
new ComfyButton({
|
||||
icon: "puzzle",
|
||||
action: () => {
|
||||
if(!manager_instance)
|
||||
@ -1579,7 +1600,7 @@ app.registerExtension({
|
||||
content: "Manager",
|
||||
classList: "comfyui-button comfyui-menu-mobile-collapse primary"
|
||||
}).element,
|
||||
new(await import("../../scripts/ui/components/button.js")).ComfyButton({
|
||||
new ComfyButton({
|
||||
icon: "star",
|
||||
action: () => {
|
||||
if(!manager_instance)
|
||||
@ -1592,21 +1613,21 @@ app.registerExtension({
|
||||
},
|
||||
tooltip: "Show favorite custom node list"
|
||||
}).element,
|
||||
new(await import("../../scripts/ui/components/button.js")).ComfyButton({
|
||||
new ComfyButton({
|
||||
icon: "vacuum-outline",
|
||||
action: () => {
|
||||
free_models();
|
||||
},
|
||||
tooltip: "Unload Models"
|
||||
}).element,
|
||||
new(await import("../../scripts/ui/components/button.js")).ComfyButton({
|
||||
new ComfyButton({
|
||||
icon: "vacuum",
|
||||
action: () => {
|
||||
free_models(true);
|
||||
},
|
||||
tooltip: "Free model and node cache"
|
||||
}).element,
|
||||
new(await import("../../scripts/ui/components/button.js")).ComfyButton({
|
||||
new ComfyButton({
|
||||
icon: "share",
|
||||
action: () => {
|
||||
if (share_option === 'openart') {
|
||||
|
||||
@ -1,11 +1,18 @@
|
||||
import { api } from "../../scripts/api.js";
|
||||
import { app } from "../../scripts/app.js";
|
||||
import { $el, ComfyDialog } from "../../scripts/ui.js";
|
||||
import { CopusShareDialog } from "./comfyui-share-copus.js";
|
||||
import { OpenArtShareDialog } from "./comfyui-share-openart.js";
|
||||
import { YouMLShareDialog } from "./comfyui-share-youml.js";
|
||||
import { customAlert } from "./common.js";
|
||||
|
||||
// === SHIM FOR NEW COMFYUI (removes ui.js warning) ===
|
||||
let $el, ComfyDialog;
|
||||
if (window?.comfyAPI?.ui) {
|
||||
({ $el, ComfyDialog } = window.comfyAPI.ui);
|
||||
} else {
|
||||
({ $el, ComfyDialog } = await import("../../scripts/ui.js"));
|
||||
}
|
||||
|
||||
export const SUPPORTED_OUTPUT_NODE_TYPES = [
|
||||
"PreviewImage",
|
||||
"SaveImage",
|
||||
|
||||
@ -1,7 +1,14 @@
|
||||
import { app } from "../../scripts/app.js";
|
||||
import { $el, ComfyDialog } from "../../scripts/ui.js";
|
||||
import { customAlert } from "./common.js";
|
||||
|
||||
// === SHIM FOR NEW COMFYUI (removes ui.js warning) ===
|
||||
let $el, ComfyDialog;
|
||||
if (window?.comfyAPI?.ui) {
|
||||
({ $el, ComfyDialog } = window.comfyAPI.ui);
|
||||
} else {
|
||||
({ $el, ComfyDialog } = await import("../../scripts/ui.js"));
|
||||
}
|
||||
|
||||
const env = "prod";
|
||||
|
||||
let DEFAULT_HOMEPAGE_URL = "https://copus.io";
|
||||
|
||||
@ -1,8 +1,15 @@
|
||||
import {app} from "../../scripts/app.js";
|
||||
import {api} from "../../scripts/api.js";
|
||||
import {ComfyDialog, $el} from "../../scripts/ui.js";
|
||||
import { customAlert } from "./common.js";
|
||||
|
||||
// === SHIM FOR NEW COMFYUI (removes ui.js warning) ===
|
||||
let $el, ComfyDialog;
|
||||
if (window?.comfyAPI?.ui) {
|
||||
({ $el, ComfyDialog } = window.comfyAPI.ui);
|
||||
} else {
|
||||
({ $el, ComfyDialog } = await import("../../scripts/ui.js"));
|
||||
}
|
||||
|
||||
const LOCAL_STORAGE_KEY = "openart_comfy_workflow_key";
|
||||
const DEFAULT_HOMEPAGE_URL = "https://openart.ai/workflows/dev?developer=true";
|
||||
//const DEFAULT_HOMEPAGE_URL = "http://localhost:8080/workflows/dev?developer=true";
|
||||
|
||||
@ -1,8 +1,15 @@
|
||||
import {app} from "../../scripts/app.js";
|
||||
import {api} from "../../scripts/api.js";
|
||||
import {ComfyDialog, $el} from "../../scripts/ui.js";
|
||||
import { customAlert } from "./common.js";
|
||||
|
||||
// === SHIM FOR NEW COMFYUI (removes ui.js warning) ===
|
||||
let $el, ComfyDialog;
|
||||
if (window?.comfyAPI?.ui) {
|
||||
({ $el, ComfyDialog } = window.comfyAPI.ui);
|
||||
} else {
|
||||
({ $el, ComfyDialog } = await import("../../scripts/ui.js"));
|
||||
}
|
||||
|
||||
const BASE_URL = "https://youml.com";
|
||||
//const BASE_URL = "http://localhost:3000";
|
||||
const DEFAULT_HOMEPAGE_URL = `${BASE_URL}/?from=comfyui`;
|
||||
|
||||
11
js/common.js
11
js/common.js
@ -1,8 +1,15 @@
|
||||
import { app } from "../../scripts/app.js";
|
||||
import { api } from "../../scripts/api.js";
|
||||
import { $el, ComfyDialog } from "../../scripts/ui.js";
|
||||
import { getBestPosition, getPositionStyle, getRect } from './popover-helper.js';
|
||||
|
||||
// === SHIM FOR NEW COMFYUI (removes ui.js warning) ===
|
||||
let $el, ComfyDialog;
|
||||
if (window?.comfyAPI?.ui) {
|
||||
({ $el, ComfyDialog } = window.comfyAPI.ui);
|
||||
} else {
|
||||
({ $el, ComfyDialog } = await import("../../scripts/ui.js"));
|
||||
}
|
||||
|
||||
|
||||
function internalCustomConfirm(message, confirmMessage, cancelMessage) {
|
||||
return new Promise((resolve) => {
|
||||
@ -671,4 +678,4 @@ function initTooltip () {
|
||||
document.body.addEventListener('mouseleave', mouseleaveHandler, true);
|
||||
}
|
||||
|
||||
initTooltip();
|
||||
initTooltip();
|
||||
|
||||
@ -1,8 +1,22 @@
|
||||
import { app } from "../../scripts/app.js";
|
||||
import { api } from "../../scripts/api.js"
|
||||
import { sleep, show_message, customConfirm, customAlert } from "./common.js";
|
||||
import { GroupNodeConfig, GroupNodeHandler } from "../../extensions/core/groupNode.js";
|
||||
import { ComfyDialog, $el } from "../../scripts/ui.js";
|
||||
|
||||
// === SHIM FOR NEW COMFYUI (removes groupNode.js warning) ===
|
||||
let GroupNodeConfig, GroupNodeHandler;
|
||||
if (window?.comfyAPI?.groupNode) {
|
||||
({ GroupNodeConfig, GroupNodeHandler } = window.comfyAPI.groupNode);
|
||||
} else {
|
||||
({ GroupNodeConfig, GroupNodeHandler } = await import("../../extensions/core/groupNode.js"));
|
||||
}
|
||||
|
||||
// === SHIM FOR NEW COMFYUI (removes ui.js warning) ===
|
||||
let ComfyDialog, $el;
|
||||
if (window?.comfyAPI?.ui) {
|
||||
({ ComfyDialog, $el } = window.comfyAPI.ui);
|
||||
} else {
|
||||
({ ComfyDialog, $el } = await import("../../scripts/ui.js"));
|
||||
}
|
||||
|
||||
const SEPARATOR = ">"
|
||||
|
||||
|
||||
@ -1,5 +1,4 @@
|
||||
import { app } from "../../scripts/app.js";
|
||||
import { ComfyDialog, $el } from "../../scripts/ui.js";
|
||||
import { api } from "../../scripts/api.js";
|
||||
import { buildGuiFrameCustomHeader, createSettingsCombo } from "./comfyui-gui-builder.js";
|
||||
|
||||
@ -14,6 +13,14 @@ import {
|
||||
// https://cenfun.github.io/turbogrid/api.html
|
||||
import TG from "./turbogrid.esm.js";
|
||||
|
||||
// === SHIM FOR NEW COMFYUI (removes ui.js warning) ===
|
||||
let ComfyDialog, $el;
|
||||
if (window?.comfyAPI?.ui) {
|
||||
({ ComfyDialog, $el } = window.comfyAPI.ui);
|
||||
} else {
|
||||
({ ComfyDialog, $el } = await import("../../scripts/ui.js"));
|
||||
}
|
||||
|
||||
loadCss("./custom-nodes-manager.css");
|
||||
|
||||
const gridId = "node";
|
||||
@ -2245,4 +2252,4 @@ export class CustomNodesManager {
|
||||
get isVisible() {
|
||||
return this.element?.style?.display !== "none";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,5 +1,4 @@
|
||||
import { app } from "../../scripts/app.js";
|
||||
import { $el } from "../../scripts/ui.js";
|
||||
import {
|
||||
manager_instance, rebootAPI,
|
||||
fetchData, md5, icons, show_message, customAlert, infoToast, showTerminal,
|
||||
@ -11,6 +10,14 @@ import { api } from "../../scripts/api.js";
|
||||
import TG from "./turbogrid.esm.js";
|
||||
import { buildGuiFrameCustomHeader, createSettingsCombo } from "./comfyui-gui-builder.js";
|
||||
|
||||
// === SHIM FOR NEW COMFYUI (removes ui.js warning) ===
|
||||
let $el;
|
||||
if (window?.comfyAPI?.ui) {
|
||||
({ $el } = window.comfyAPI.ui);
|
||||
} else {
|
||||
({ $el } = await import("../../scripts/ui.js"));
|
||||
}
|
||||
|
||||
loadCss("./model-manager.css");
|
||||
|
||||
const gridId = "model";
|
||||
|
||||
@ -1,9 +1,16 @@
|
||||
import { app } from "../../scripts/app.js";
|
||||
import { api } from "../../scripts/api.js"
|
||||
import { ComfyDialog, $el } from "../../scripts/ui.js";
|
||||
import { manager_instance, rebootAPI, show_message, handle403Response, loadCss } from "./common.js";
|
||||
import { buildGuiFrame } from "./comfyui-gui-builder.js";
|
||||
|
||||
// === SHIM FOR NEW COMFYUI (removes ui.js warning) ===
|
||||
let ComfyDialog, $el;
|
||||
if (window?.comfyAPI?.ui) {
|
||||
({ ComfyDialog, $el } = window.comfyAPI.ui);
|
||||
} else {
|
||||
({ ComfyDialog, $el } = await import("../../scripts/ui.js"));
|
||||
}
|
||||
|
||||
loadCss("./snapshot.css");
|
||||
|
||||
async function restore_snapshot(target) {
|
||||
|
||||
@ -1874,9 +1874,14 @@
|
||||
"DonutSave",
|
||||
"DonutTiledUpscale",
|
||||
"DonutUniversalDetailer",
|
||||
"DonutWeightVectorScale",
|
||||
"DonutWidenMergeCLIP",
|
||||
"DonutWidenMergeUNet",
|
||||
"DonutZitConditioningRebalance",
|
||||
"DonutZitHybridApply",
|
||||
"DonutZitHybridLoader",
|
||||
"DonutZitHybridOverride",
|
||||
"DonutZitHybridSave",
|
||||
"DonutZitLayerBlendEncode",
|
||||
"LoadLBW //Inspire",
|
||||
"LoraBlockInfo //Inspire",
|
||||
@ -3484,6 +3489,7 @@
|
||||
"MpiReroute",
|
||||
"MpiRoundToMultiple",
|
||||
"MpiRoundToMultipleRes",
|
||||
"MpiSaveVideo",
|
||||
"MpiScaledDimensions",
|
||||
"MpiSimpleBoolean",
|
||||
"MpiString",
|
||||
@ -7217,7 +7223,10 @@
|
||||
"WanMoveSVI_FLF_Mask",
|
||||
"WanMoveSVI_FLF_Stitch",
|
||||
"WanMoveSVI_FLF_Visualize",
|
||||
"WanMoveSVI_FLF_v2"
|
||||
"WanMoveSVI_FLF_v2",
|
||||
"Wan_Float",
|
||||
"Wan_Integer",
|
||||
"Wan_Length"
|
||||
],
|
||||
{
|
||||
"title_aux": "ComfyUI-WanMoveSVI_FLF_v2"
|
||||
@ -8889,6 +8898,7 @@
|
||||
"ETNodes-Color-Selector",
|
||||
"ETNodes-Gemini-API-Image",
|
||||
"ETNodes-Gemini-API-Text",
|
||||
"ETNodes-Gemini-API-Video",
|
||||
"ETNodes-List-Items",
|
||||
"ETNodes-List-Selector",
|
||||
"ETNodes-Text-Preview"
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -1,5 +1,85 @@
|
||||
{
|
||||
"custom_nodes": [
|
||||
{
|
||||
"author": "younestft",
|
||||
"title": "Comfy EverAnimate",
|
||||
"reference": "https://github.com/younestft/Comfy_EverAnimate",
|
||||
"files": [
|
||||
"https://github.com/younestft/Comfy_EverAnimate"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "Native ComfyUI nodes for EverAnimate-style chunked WanAnimate workflows, including master/chunk settings, chunk calculation, image carry-over, and boundary color correction."
|
||||
},
|
||||
{
|
||||
"author": "Moon-NE",
|
||||
"title": "MoonNe_Nodes",
|
||||
"reference": "https://github.com/Moon-NE/MoonNe_Nodes",
|
||||
"files": [
|
||||
"https://github.com/Moon-NE/MoonNe_Nodes"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "Custom nodes for text operations, including concatenation, horizontal-to-vertical conversion, and batch processing."
|
||||
},
|
||||
{
|
||||
"author": "TechnoWarrior2",
|
||||
"title": "ComfyUI Image Picker",
|
||||
"reference": "https://github.com/TechnoWarrior2/comfyui-image-picker",
|
||||
"files": [
|
||||
"https://github.com/TechnoWarrior2/comfyui-image-picker"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "Pauses your workflow and opens a popup window to manually pick which generated images pass through to the rest of the graph."
|
||||
},
|
||||
{
|
||||
"author": "TechnoWarrior2",
|
||||
"title": "ComfyUI Live Preview",
|
||||
"reference": "https://github.com/TechnoWarrior2/comfyui-live-preview",
|
||||
"files": [
|
||||
"https://github.com/TechnoWarrior2/comfyui-live-preview"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "Displays a large draggable floating window with live denoising step previews as your image generates, similar to A1111 and Forge."
|
||||
},
|
||||
{
|
||||
"author": "shootthesound",
|
||||
"title": "Lighthouse",
|
||||
"reference": "https://github.com/shootthesound/comfyui-lighthouse",
|
||||
"files": [
|
||||
"https://github.com/shootthesound/comfyui-lighthouse"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "A non-destructive overlay that lights up every node by graph distance from the one you click. Diagnostic for big workflows, educational for understanding workflows others built, and surgical when you need to focus on one neighbourhood at a time."
|
||||
},
|
||||
{
|
||||
"author": "shootthesound",
|
||||
"title": "CleanFreak",
|
||||
"reference": "https://github.com/shootthesound/comfyui-CleanFreak",
|
||||
"files": [
|
||||
"https://github.com/shootthesound/comfyui-CleanFreak"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "One-click tidy-by-role for any ComfyUI workflow — loaders, encoders, samplers, decoders, and outputs each sorted into their own column with coloured group cards and connections preserved. 1200+ node classes pre-classified out of the box."
|
||||
},
|
||||
{
|
||||
"author": "shootthesound",
|
||||
"title": "Finding LoRA",
|
||||
"reference": "https://github.com/shootthesound/comfyui-lora-FindingLora",
|
||||
"files": [
|
||||
"https://github.com/shootthesound/comfyui-lora-FindingLora"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "A LoRA loader with bookmarks, trigger-word storage and click-to-copy, fuzzy search, and a one-click button to drop another loader inline and wire it into the model chain automatically."
|
||||
},
|
||||
{
|
||||
"author": "shootthesound",
|
||||
"title": "Image of the Day",
|
||||
"reference": "https://github.com/shootthesound/comfyui-image-of-the-day",
|
||||
"files": [
|
||||
"https://github.com/shootthesound/comfyui-image-of-the-day"
|
||||
],
|
||||
"install_type": "git-clone",
|
||||
"description": "Fetch a fresh image straight into your workflow from 8 daily/random sources. Useful for prompt testing, style references, daily-image automations, or just kicking off a workflow with something interesting."
|
||||
},
|
||||
{
|
||||
"author": "boobkake22",
|
||||
"title": "Sampling Planner",
|
||||
|
||||
@ -3876,6 +3876,7 @@
|
||||
"Beaufort",
|
||||
"Bifid",
|
||||
"Binary2String",
|
||||
"BitsCounter",
|
||||
"BitwiseAND",
|
||||
"BitwiseLS",
|
||||
"BitwiseNOT",
|
||||
@ -3897,6 +3898,11 @@
|
||||
"ConcatKDFHash_Derive",
|
||||
"ConcatKDFHash_Verify",
|
||||
"ConstantTimeCompare",
|
||||
"DERPrivateKey",
|
||||
"DERPublicKey",
|
||||
"ECPrivateKey",
|
||||
"ECPublicKey",
|
||||
"ECSign",
|
||||
"EdDSAPrivateKeyFormat",
|
||||
"EdDSAPublicKeyFormat",
|
||||
"EdDSASignature",
|
||||
@ -3921,6 +3927,8 @@
|
||||
"Nihilist",
|
||||
"PBKDF2HMAC_Derive",
|
||||
"PBKDF2HMAC_Verify",
|
||||
"PEMPrivateKey",
|
||||
"PEMPublicKey",
|
||||
"Padding",
|
||||
"Playfair",
|
||||
"Polybius",
|
||||
@ -3956,6 +3964,7 @@
|
||||
"X963KDF_Derive",
|
||||
"X963KDF_Verify",
|
||||
"XExchange",
|
||||
"XOFHash",
|
||||
"XPrivateKeyFormat",
|
||||
"XPublicKeyFormat",
|
||||
"Zigzag"
|
||||
@ -26816,6 +26825,7 @@
|
||||
"XB_AutoBubbleTextRenderer",
|
||||
"XB_BatchFolderLoader",
|
||||
"XB_BerniniConditioning",
|
||||
"XB_BerniniPromptRouter",
|
||||
"XB_CLIPNameBroadcaster",
|
||||
"XB_CanvasLabel",
|
||||
"XB_CheckpointBlockSwap",
|
||||
@ -26827,6 +26837,7 @@
|
||||
"XB_HumanSegModelLoader",
|
||||
"XB_HumanSegmentation",
|
||||
"XB_ImageParamsMaster",
|
||||
"XB_K2StyleRouter",
|
||||
"XB_KSampler",
|
||||
"XB_KSamplerAdvanced",
|
||||
"XB_MSR",
|
||||
|
||||
Loading…
Reference in New Issue
Block a user