| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
feat(controlnet): add FLUX.2 [dev] Fun-ControlNet-Union with canvas control layers (#9924) | 3 天前 | |
feat(anima): support Anima-2.9B and Anima-3.8B finetunes - Read the DiT depth from the checkpoint instead of hard-coding 28 blocks (Anima-2.9B silently lost 12 of 40 blocks); load int8_tensorwise builds - Anima-3.8B v1.1: AnimaVariantType, bundled semantic connector recomputed per denoise step, new Qwen3.5 encoder model type with vendored tokenizer - Migration 2026_10_01_add_anima_variant for installed Anima records - webv2: Qwen3.5 encoder slot and graph wiring for the anima_qwen35 variant - Starter models, user guide, and integration guide section on extending an existing architecture; package-data guard test | 22 天前 | |
refactor(model_manager): split the starter catalogue into a package `starter_models.py` had reached 2707 lines and 240 top-level definitions: 201 starter models across seventeen architectures, thirteen bundles, and a block of provider presets for external models. It becomes a package of nineteen modules, none over 500 lines, named the same way as `architectures/defs/` — the base value with `-` replaced by `_`. Every block moved verbatim, by AST line range including the comments above it, so nothing was retyped and nothing could be mistyped. Verified against a snapshot taken beforehand: all 201 models identical field for field *and in the same order*, all thirteen bundles identical. That order is the point. `STARTER_MODELS` is the sequence the install dialog shows, decided by someone, reconstructible from nothing — so it stays written out in `__init__.py` rather than assembled from the per-architecture modules. Assembling it would be tidier and would silently destroy product data. A test asserts the list is *not* sorted, which is the only way to notice a later tidy-up that replaces the curation with something derivable. The dependency graph was derived before the split rather than assumed, and it is a clean DAG: `types` under everything, `common` under most, and exactly three edges between architecture modules — `krea_2 -> qwen_image`, `z_image -> flux`, `sdxl_refiner -> sdxl`. Those are the same three sharings the architecture registry already records: Krea-2 decodes with the Qwen-Image VAE, Z-Image with a FLUX-compatible one, and the refiner is an SDXL pass. Two independent derivations agreeing is worth more than either alone. Every name is re-exported from `__init__.py`, so the nine names other modules import — including `clip_vit_l_image_encoder` and `siglip`, imported by individual nodes — keep resolving unchanged. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> | 2 个月前 | |
feat(models): add Qwen-Image-2.1 text-to-image and canvas support Adds the qwen-image-2-1 base (Base/Turbo) with Diffusers, single-file and GGUF transformers, the RGBA VAE and webv2 generate/canvas graphs. Bit-identical to QwenImage21Pipeline; img2img starts by noise level, large encodes and decodes tile automatically, unsupported quantizations are refused at install. Shares the Qwen3-VL 8B encoder starter with Ideogram 4 and documents the model. | 14 天前 | |
feat(ernie-image): load GGUF transformers Add Main_GGUF_ErnieImage_Config and a GGUF loader; identification rests on the keys, since the published files name another architecture in their header. Move unpack_ggml_at_load into the GGUF package as its second caller; the ERNIE node accepts GGUF as a single file and the denoise reserves its dequantization transient. Add unsloth Q4_K_M and Q8_0 starters for ERNIE-Image and ERNIE-Image Turbo, pinned to their commits. | 14 天前 | |
fix(external): make Atlas Cloud models reachable and sized correctly Register atlascloud_image_generation in both frontends so the starter models can run. Nano Banana 2 keeps only resolution presets and infers its tier from pixel area; off-ratio sizes snap to the nearest allowed ratio. MAI-Image-2.5 gets buckets within its pixel cap. | 19 天前 | |
fix(pid): make PiD 1.5 usable for FLUX.1 and FLUX.2 Add pinned PiD 1.5 starters for FLUX.1 and FLUX.2 (bf16 and int8) and pin the Qwen-Image ones to the same commit. Calibrate the decode working-memory estimate to the device-level peak, per allocator, so the cache evicts enough. Show the PiD Decode mode in Generate for every PiD base, not only SDXL. | 14 天前 | |
feat(controlnet): add FLUX.2 [dev] Fun-ControlNet-Union with canvas control layers (#9924) | 3 天前 | |
feat(models): add Qwen-Image-2.1 text-to-image and canvas support Adds the qwen-image-2-1 base (Base/Turbo) with Diffusers, single-file and GGUF transformers, the RGBA VAE and webv2 generate/canvas graphs. Bit-identical to QwenImage21Pipeline; img2img starts by noise level, large encodes and decodes tile automatically, unsupported quantizations are refused at install. Shares the Qwen3-VL 8B encoder starter with Ideogram 4 and documents the model. | 14 天前 | |
feat(quantization): keep Comfy nvfp4 Krea-2 transformers packed - The Krea-2 checkpoint loader keeps header-named nvfp4 layers as NVFP4Linear: Comfy's Turbo build loads at 7.2 GiB instead of 24.5 GiB in bf16. - Adds Krea-2 Turbo (NVFP4) as a starter model, with the Qwen-Image VAE and Qwen3-VL encoder as dependencies. | 1 个月前 | |
feat(ltx2): add the official NVFP4 distilled transformer starter model Lists Lightricks' gated nvfp4 distilled transformer outside the bundle, and documents it with its measured speed on a 16 GB card. | 20 天前 | |
Merge branch 'main' into refactor/invocations-by-architecture Moved upstream's LightX2V Ref2V turbo LoRA, which replaces the 4-step v0.1 repack, into the split starter-model package at its curated position. Repointed three silently-broken references at their post-refactor paths: a new _ResolvedVideoRange import, two mock.patch strings naming minimax_h3_reference, and seven flux2 references in upstream's new test_flux2_working_memory.py. Regenerated openapi.json and schema.ts. | 1 个月前 | |
feat(controlnet): add FLUX.2 [dev] Fun-ControlNet-Union with canvas control layers (#9924) | 3 天前 | |
feat(models): add Qwen-Image-2.1 text-to-image and canvas support Adds the qwen-image-2-1 base (Base/Turbo) with Diffusers, single-file and GGUF transformers, the RGBA VAE and webv2 generate/canvas graphs. Bit-identical to QwenImage21Pipeline; img2img starts by noise level, large encodes and decodes tile automatically, unsupported quantizations are refused at install. Shares the Qwen3-VL 8B encoder starter with Ideogram 4 and documents the model. | 14 天前 | |
refactor(model_manager): split the starter catalogue into a package `starter_models.py` had reached 2707 lines and 240 top-level definitions: 201 starter models across seventeen architectures, thirteen bundles, and a block of provider presets for external models. It becomes a package of nineteen modules, none over 500 lines, named the same way as `architectures/defs/` — the base value with `-` replaced by `_`. Every block moved verbatim, by AST line range including the comments above it, so nothing was retyped and nothing could be mistyped. Verified against a snapshot taken beforehand: all 201 models identical field for field *and in the same order*, all thirteen bundles identical. That order is the point. `STARTER_MODELS` is the sequence the install dialog shows, decided by someone, reconstructible from nothing — so it stays written out in `__init__.py` rather than assembled from the per-architecture modules. Assembling it would be tidier and would silently destroy product data. A test asserts the list is *not* sorted, which is the only way to notice a later tidy-up that replaces the curation with something derivable. The dependency graph was derived before the split rather than assumed, and it is a clean DAG: `types` under everything, `common` under most, and exactly three edges between architecture modules — `krea_2 -> qwen_image`, `z_image -> flux`, `sdxl_refiner -> sdxl`. Those are the same three sharings the architecture registry already records: Krea-2 decodes with the Qwen-Image VAE, Z-Image with a FLUX-compatible one, and the refiner is an SDXL pass. Two independent derivations agreeing is worth more than either alone. Every name is re-exported from `__init__.py`, so the nine names other modules import — including `clip_vit_l_image_encoder` and `siglip`, imported by individual nodes — keep resolving unchanged. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> | 2 个月前 | |
refactor(model_manager): split the starter catalogue into a package `starter_models.py` had reached 2707 lines and 240 top-level definitions: 201 starter models across seventeen architectures, thirteen bundles, and a block of provider presets for external models. It becomes a package of nineteen modules, none over 500 lines, named the same way as `architectures/defs/` — the base value with `-` replaced by `_`. Every block moved verbatim, by AST line range including the comments above it, so nothing was retyped and nothing could be mistyped. Verified against a snapshot taken beforehand: all 201 models identical field for field *and in the same order*, all thirteen bundles identical. That order is the point. `STARTER_MODELS` is the sequence the install dialog shows, decided by someone, reconstructible from nothing — so it stays written out in `__init__.py` rather than assembled from the per-architecture modules. Assembling it would be tidier and would silently destroy product data. A test asserts the list is *not* sorted, which is the only way to notice a later tidy-up that replaces the curation with something derivable. The dependency graph was derived before the split rather than assumed, and it is a clean DAG: `types` under everything, `common` under most, and exactly three edges between architecture modules — `krea_2 -> qwen_image`, `z_image -> flux`, `sdxl_refiner -> sdxl`. Those are the same three sharings the architecture registry already records: Krea-2 decodes with the Qwen-Image VAE, Z-Image with a FLUX-compatible one, and the refiner is an SDXL pass. Two independent derivations agreeing is worth more than either alone. Every name is re-exported from `__init__.py`, so the nine names other modules import — including `clip_vit_l_image_encoder` and `siglip`, imported by individual nodes — keep resolving unchanged. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> | 2 个月前 | |
refactor(model_manager): split the starter catalogue into a package `starter_models.py` had reached 2707 lines and 240 top-level definitions: 201 starter models across seventeen architectures, thirteen bundles, and a block of provider presets for external models. It becomes a package of nineteen modules, none over 500 lines, named the same way as `architectures/defs/` — the base value with `-` replaced by `_`. Every block moved verbatim, by AST line range including the comments above it, so nothing was retyped and nothing could be mistyped. Verified against a snapshot taken beforehand: all 201 models identical field for field *and in the same order*, all thirteen bundles identical. That order is the point. `STARTER_MODELS` is the sequence the install dialog shows, decided by someone, reconstructible from nothing — so it stays written out in `__init__.py` rather than assembled from the per-architecture modules. Assembling it would be tidier and would silently destroy product data. A test asserts the list is *not* sorted, which is the only way to notice a later tidy-up that replaces the curation with something derivable. The dependency graph was derived before the split rather than assumed, and it is a clean DAG: `types` under everything, `common` under most, and exactly three edges between architecture modules — `krea_2 -> qwen_image`, `z_image -> flux`, `sdxl_refiner -> sdxl`. Those are the same three sharings the architecture registry already records: Krea-2 decodes with the Qwen-Image VAE, Z-Image with a FLUX-compatible one, and the refiner is an SDXL pass. Two independent derivations agreeing is worth more than either alone. Every name is re-exported from `__init__.py`, so the nine names other modules import — including `clip_vit_l_image_encoder` and `siglip`, imported by individual nodes — keep resolving unchanged. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> | 2 个月前 | |
refactor(model_manager): split the starter catalogue into a package `starter_models.py` had reached 2707 lines and 240 top-level definitions: 201 starter models across seventeen architectures, thirteen bundles, and a block of provider presets for external models. It becomes a package of nineteen modules, none over 500 lines, named the same way as `architectures/defs/` — the base value with `-` replaced by `_`. Every block moved verbatim, by AST line range including the comments above it, so nothing was retyped and nothing could be mistyped. Verified against a snapshot taken beforehand: all 201 models identical field for field *and in the same order*, all thirteen bundles identical. That order is the point. `STARTER_MODELS` is the sequence the install dialog shows, decided by someone, reconstructible from nothing — so it stays written out in `__init__.py` rather than assembled from the per-architecture modules. Assembling it would be tidier and would silently destroy product data. A test asserts the list is *not* sorted, which is the only way to notice a later tidy-up that replaces the curation with something derivable. The dependency graph was derived before the split rather than assumed, and it is a clean DAG: `types` under everything, `common` under most, and exactly three edges between architecture modules — `krea_2 -> qwen_image`, `z_image -> flux`, `sdxl_refiner -> sdxl`. Those are the same three sharings the architecture registry already records: Krea-2 decodes with the Qwen-Image VAE, Z-Image with a FLUX-compatible one, and the refiner is an SDXL pass. Two independent derivations agreeing is worth more than either alone. Every name is re-exported from `__init__.py`, so the nine names other modules import — including `clip_vit_l_image_encoder` and `siglip`, imported by individual nodes — keep resolving unchanged. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> | 2 个月前 | |
refactor(model_manager): split the starter catalogue into a package `starter_models.py` had reached 2707 lines and 240 top-level definitions: 201 starter models across seventeen architectures, thirteen bundles, and a block of provider presets for external models. It becomes a package of nineteen modules, none over 500 lines, named the same way as `architectures/defs/` — the base value with `-` replaced by `_`. Every block moved verbatim, by AST line range including the comments above it, so nothing was retyped and nothing could be mistyped. Verified against a snapshot taken beforehand: all 201 models identical field for field *and in the same order*, all thirteen bundles identical. That order is the point. `STARTER_MODELS` is the sequence the install dialog shows, decided by someone, reconstructible from nothing — so it stays written out in `__init__.py` rather than assembled from the per-architecture modules. Assembling it would be tidier and would silently destroy product data. A test asserts the list is *not* sorted, which is the only way to notice a later tidy-up that replaces the curation with something derivable. The dependency graph was derived before the split rather than assumed, and it is a clean DAG: `types` under everything, `common` under most, and exactly three edges between architecture modules — `krea_2 -> qwen_image`, `z_image -> flux`, `sdxl_refiner -> sdxl`. Those are the same three sharings the architecture registry already records: Krea-2 decodes with the Qwen-Image VAE, Z-Image with a FLUX-compatible one, and the refiner is an SDXL pass. Two independent derivations agreeing is worth more than either alone. Every name is re-exported from `__init__.py`, so the nine names other modules import — including `clip_vit_l_image_encoder` and `siglip`, imported by individual nodes — keep resolving unchanged. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> | 2 个月前 | |
refactor(model_manager): split the starter catalogue into a package `starter_models.py` had reached 2707 lines and 240 top-level definitions: 201 starter models across seventeen architectures, thirteen bundles, and a block of provider presets for external models. It becomes a package of nineteen modules, none over 500 lines, named the same way as `architectures/defs/` — the base value with `-` replaced by `_`. Every block moved verbatim, by AST line range including the comments above it, so nothing was retyped and nothing could be mistyped. Verified against a snapshot taken beforehand: all 201 models identical field for field *and in the same order*, all thirteen bundles identical. That order is the point. `STARTER_MODELS` is the sequence the install dialog shows, decided by someone, reconstructible from nothing — so it stays written out in `__init__.py` rather than assembled from the per-architecture modules. Assembling it would be tidier and would silently destroy product data. A test asserts the list is *not* sorted, which is the only way to notice a later tidy-up that replaces the curation with something derivable. The dependency graph was derived before the split rather than assumed, and it is a clean DAG: `types` under everything, `common` under most, and exactly three edges between architecture modules — `krea_2 -> qwen_image`, `z_image -> flux`, `sdxl_refiner -> sdxl`. Those are the same three sharings the architecture registry already records: Krea-2 decodes with the Qwen-Image VAE, Z-Image with a FLUX-compatible one, and the refiner is an SDXL pass. Two independent derivations agreeing is worth more than either alone. Every name is re-exported from `__init__.py`, so the nine names other modules import — including `clip_vit_l_image_encoder` and `siglip`, imported by individual nodes — keep resolving unchanged. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> | 2 个月前 | |
feat(quantization): keep Comfy fp4_mixed Qwen3 encoders packed - The single-file Qwen3 loader keeps nvfp4 projections as NVFP4Linear and reserves before folding scaled fp8: Z-Image's 4B encoder loads at 4.3 GB instead of 7.5 GB. - Z-Image, FLUX.2 Klein and Anima text encoders reserve the dequant transient and apply LoRA to packed, GGUF and SDNQ encoders as sidecars. - Adds Z-Image Turbo (NVFP4) and its FP4-mixed Qwen3 encoder as starters; any installed 4B encoder satisfies that dependency. | 1 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 3 天前 | ||
| 22 天前 | ||
| 2 个月前 | ||
| 14 天前 | ||
| 14 天前 | ||
| 19 天前 | ||
| 14 天前 | ||
| 3 天前 | ||
| 14 天前 | ||
| 1 个月前 | ||
| 20 天前 | ||
| 1 个月前 | ||
| 3 天前 | ||
| 14 天前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 2 个月前 | ||
| 1 个月前 |