Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
75 commits
Select commit Hold shift + click to select a range
a9c75b2
tests: split phase2 tests; add metadata assertions & config fallback …
joonsoome Sep 16, 2025
82f768a
tests: mock save_images_with_metadata for node tests; add expanded me…
joonsoome Sep 16, 2025
0ead874
compat(upscale): restore legacy upload widgets; prefer IMAGE input; k…
joonsoome Sep 16, 2025
bf634f3
docs: add developer notes for extra nodes and tests (Upscale/Fill/Dep…
joonsoome Sep 16, 2025
ce34210
delete wrong file.
joonsoome Sep 18, 2025
40c35b9
initialize bug fix
joonsoome Sep 27, 2025
4819a1b
update download path from huggingface
joonsoome Oct 8, 2025
0decfea
first implementation update to work with mflux 0.13.1 and z-image-turbo
Dec 4, 2025
cc5a16c
update README.md
Dec 4, 2025
a7aff94
update README.md
Dec 4, 2025
fb2598e
update README.md
Dec 4, 2025
c0e12e4
remove input .Mflux_Core
Dec 4, 2025
6bedc92
add missing is_third_party_model function
Dec 4, 2025
7b597a6
fixes
Dec 4, 2025
b69a0ec
fixes
Dec 4, 2025
9a7a8c2
fixes
Dec 4, 2025
9afcede
remove guidance conditionally if model is z-turbo
Dec 4, 2025
20ac1a0
dedicated z-image node
Dec 4, 2025
04f1257
update README.md
Dec 4, 2025
d55aa70
update README.md
Dec 4, 2025
04e5c03
update release notes and chinese and korean readme
Dec 5, 2025
086772f
added example and workflow for z-image turbo
Dec 5, 2025
ad5509f
progress bar
Dec 5, 2025
2572c79
add workflow and example for img2img and lora
Dec 5, 2025
cd97d87
update readme files and example pngs
Dec 5, 2025
afe72cd
fix regressions
Dec 5, 2025
f2167cf
fixed imports etc
Dec 5, 2025
2fd7ab8
update toml
Dec 5, 2025
858148e
fix
Dec 5, 2025
8102e68
fixes
Dec 5, 2025
849aca7
fixes
Dec 5, 2025
32ebac2
fixes
Dec 5, 2025
6615f2c
fixing tests etc
Dec 5, 2025
6dd5bd7
fixes
Dec 5, 2025
4c35747
fixes
Dec 5, 2025
0967481
fixes
Dec 5, 2025
9eb3a3b
correct model download list in models downloader
Dec 6, 2025
3bbb73a
feat: unified model loading, hardware optimization, and expanded mode…
Dec 7, 2025
1257b2d
register optimizations node improve quantize default value
Dec 7, 2025
cf3fb12
fix prompt field deactivation hide Local_model legacy compatibility i…
Dec 7, 2025
c5d1212
fixes
Dec 7, 2025
bf5b5de
added changelos reverted correct pyproject.toml update release notes
Dec 8, 2025
876a362
small correction
Dec 8, 2025
f5e5d78
mflux model loader improved to find full model paths
Dec 8, 2025
9af58d6
add indicator in models loader for model location
Dec 8, 2025
48a4a79
empty prompt field check and fallback
Dec 8, 2025
496664a
fixes
Dec 8, 2025
a6ebc28
update readmes and examples
Dec 8, 2025
a5285a8
update tests
Dec 8, 2025
ed1d9ab
run pytest on develp branch update comfyregistry
Dec 8, 2025
c3c6309
update tests
Dec 8, 2025
8f5813e
fixes
Dec 8, 2025
2e72cb4
fixes
Dec 8, 2025
3b59c05
fixes
Dec 8, 2025
8c98365
update readmes
Dec 8, 2025
ba2bdf9
add logging for bug search
Dec 8, 2025
b447628
fixes
Dec 8, 2025
d9fc443
fixes
Dec 8, 2025
4d06c24
clear cacher after run with memorysaver
Dec 9, 2025
3c60bbd
update readme with info about optimization
Dec 9, 2025
5911487
updated tooltips for optimizations
Dec 9, 2025
a464250
remove not needed model_input parameter
Dec 9, 2025
404a220
Fix Pro nodes crash and missing UI registration
Dec 9, 2025
855ed8b
Fix Pro nodes crash and restore Upscale node
Dec 9, 2025
6295a4e
remove model_input from test
Dec 9, 2025
054296b
test fixes
Dec 9, 2025
e69ae1c
update examples / workflows
Dec 10, 2025
0e30290
turn off dynamicPrompts in dedicated fibo prompt node so that it cann…
Dec 10, 2025
09b5c61
new inpainting node
Dec 12, 2025
cef2a5f
added new node
Dec 12, 2025
30272fa
fix zimage inpaint node
Dec 12, 2025
d89138a
fixes for sam3 on mac
Dec 12, 2025
feb6093
fixes
Dec 12, 2025
71a6adc
cleanup
Dec 13, 2025
6e40aa4
noise preview
Dec 13, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 32 additions & 0 deletions .github/workflows/pytest.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
name: pytest

on:
push:
branches: [ main, develop ]
pull_request:
branches: [ main, develop ]

jobs:
test:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: [3.11]

steps:
- uses: actions/checkout@v4

- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}

- name: Install dependencies
run: |
python -m pip install --upgrade pip wheel setuptools
if [ -f requirements.txt ]; then python -m pip install -r requirements.txt || true; fi
python -m pip install pytest

- name: Run pytest
run: |
python -m pytest -q
72 changes: 72 additions & 0 deletions CHANGELOG.MD
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [2.1.0]

### Added

* **New Model Architectures (Backend):** Added support for non-Flux architectures via `mflux` 0.13.1.
* **Z-Image Turbo:** 6B parameter distilled model.
* **Qwen:** Qwen-Image architecture.
* **FIBO:** Fibo architecture.
* **MFlux Z-Image Turbo Node:** A dedicated node for the Z-Image Turbo model.
* Includes hardcoded optimizations specific to this model: 9 steps, 0 guidance, and 4-bit quantization defaults.
* **MFlux Optimizations Node:** A new node to decouple hardware constraints from generation parameters.
* **Low RAM:** Triggers the `mflux.callbacks.instances.memory_saver.MemorySaver` callback.
* **VAE Tiling:** Enables `enable_tiling` on the VAE decoder to prevent VRAM crashes on large resolutions.
* **VAE Tiling Split:** Options for `horizontal` or `vertical` splitting.
* **QuickMfluxNode Inputs:**
* `negative_prompt`: Added string input (Required for Qwen models; ignored by Flux).
* `model_input`: Added input dock to allow direct chaining from Loader/Downloader nodes (overrides the text field).
* `optimizations`: Added input to accept the `MFLUX_OPTS` packet from the new Optimizations node.
* **Metadata Fields:** The saved JSON metadata now includes:
* `negative_prompt_used`
* `vae_tiling`
* `vae_tiling_split`
* `base_model_hint`
* `model_alias`

### Changed

* **Backend Architecture (Polymorphic Loading):**
* **Previous behavior:** The backend supported only the FLUX architecture via the `Flux1` class.
* **New behavior:** Implements a factory pattern (`load_or_create_model`) to dynamically instantiate distinct classes (`Flux1`, `FIBO`, `QwenImage`, `ZImageTurbo`, `Flux1Fill`, `Flux1Depth`, `Flux1Redux`) based on the `base_model` hint and model type.
* **Mflux Models Loader:**
* **Smart Scanning:** Now recursively scans subdirectories in `models/Mflux` to find model roots.
* **Visual Indicators:** Added symbols to the dropdown to indicate source: 🟢 (Cached), 📁 (Local), ☁️ (Alias).
* **Labels:** Renamed input to `model` and output to `model_to_load`.
* **Mflux Models Downloader:**
* **Labels:** Renamed input to `model` and output to `downloaded_model`.
* **Dependencies:**
* Updated `mflux` from `0.10.0` to `0.13.1`.
* Updated `huggingface_hub` from `>=0.24` to `>=0.26.0`.
* **QuickMfluxNode Model Input:**
* Changed `model` input from a **Dropdown** to a **String**.
* Now accepts: Known aliases (e.g., `schnell`, `dev`), local paths, or HuggingFace Repo IDs.
* **Base Model Logic:**
* The `base_model` input is now strictly an **Architecture Hint**.
* Options: `dev`, `schnell`, `qwen`, `fibo`, `z-image-turbo`.
* Usage: Required only when loading custom paths or third-party repositories to tell the backend which class to instantiate.
* **Mflux Models Downloader List:**
* Updated the internal list to point to repositories compatible with mflux 0.13.1. The full list of selectable models is now:
* `dhairyashil/FLUX.1-schnell-mflux-v0.6.2-4bit`
* `dhairyashil/FLUX.1-dev-mflux-4bit`
* `filipstrand/FLUX.1-Krea-dev-mflux-4bit`
* `akx/FLUX.1-Kontext-dev-mflux-4bit`
* `filipstrand/Z-Image-Turbo-mflux-4bit`
* `briaai/Fibo-mlx-4bit`
* `briaai/Fibo-mlx-8bit`
* `filipstrand/Qwen-Image-mflux-6bit`
* **Dimensions:** Recommended Width/Height steps changed to multiples of **16** (previously 8) to align with Z-Image requirements.

### Removed

* **Legacy Inputs:** Removed `Local_model` input from `QuickMfluxNode` (functionality merged into the unified `model` string input).
* **Inline Optimizations:** Removed `low_ram` and `vae_tiling` toggles directly from `QuickMfluxNode` (moved to the `MFlux Optimizations` node).

### Fixed

* **Crash on Empty Prompt:** Added a safety check to `QuickMfluxNode` and `MfluxZImageNode`. If the prompt is empty, it falls back to `.` to prevent the backend error `[reshape] Cannot infer the shape of an empty array`.
Loading