update reference data and enable preview for ernie and nucleus

Signed-off-by: Vladimir Mandic <mandic00@live.com>
This commit is contained in:
Vladimir Mandic
2026-04-15 12:22:53 +00:00
parent c86ba31214
commit 69d370d8da
9 changed files with 54 additions and 33 deletions
+18 -3
View File
@@ -31,6 +31,7 @@ Use this skill to audit and update SD.Next model reference catalogs with minimal
- Preserve existing field names and conventions used by neighboring entries.
- Prefer deterministic normalization (stable key order, consistent value style).
- Do not overwrite real thumbnails with placeholders.
- For `size` backfill, use `cli/hf-info.py` as the primary source of truth.
## Validation Checklist
@@ -62,13 +63,23 @@ Use this skill to audit and update SD.Next model reference catalogs with minimal
- Validate field value formats (e.g. size in GB, date format).
- Ensure that all fields are consistent and not null, empty or contain zero values.
7. Size backfill checks (`size: 0`)
- Enumerate all entries with `"size": 0` across `data/reference*.json`.
- For each Hugging Face repo-style path (`owner/name`), run `cli/hf-info.py`.
- Parse `data.size` from tool output when present (format is MB string, e.g. `"23933.4MB"`).
- Convert MB to GB using deterministic rounding: `gb = round(mb / 1024, 2)`.
- Update only the `size` field for resolvable records; do not modify unrelated fields.
- If `cli/hf-info.py` returns `ok: false`, missing `data.size`, or non-repo paths, leave `size` unchanged and report as unresolved.
- Do not invent fallback sizes unless explicitly requested.
## Safe Edit Workflow
1. Identify target entries and category intent.
2. Audit only relevant catalog files first.
3. Propose minimal edits (or apply when asked).
4. Re-validate JSON and duplicate checks.
5. Summarize exact changed records and rationale.
3. Run size backfill using `cli/hf-info.py`.
4. Propose minimal edits (or apply when asked).
5. Re-validate JSON and duplicate checks.
6. Summarize exact changed records and rationale.
## Common Failure Modes To Prevent
@@ -77,6 +88,9 @@ Use this skill to audit and update SD.Next model reference catalogs with minimal
- Breaking JSON structure while editing by hand
- Inconsistent key naming across similar entries
- Creating placeholder thumbnail over an existing asset
- Running `cli/hf-info.py` with the wrong Python environment/interpreter
- Treating `subfolder` variants as unsupported when the repo path itself is valid
- Writing guessed `size` values when `cli/hf-info.py` returns no size
## Output Contract
@@ -87,4 +101,5 @@ When using this skill, provide:
- Exact records changed (before/after summary)
- Duplicate/conflict report across catalogs
- Thumbnail sync result for `models/Reference`
- `size: 0` backfill report: total candidates, updated count, unresolved count, unresolved reasons
- Residual risks or follow-up items
+1 -1
View File
@@ -71,6 +71,7 @@
- wrap `hf-download` methods
- additional *typing* and *typechecks*, thanks @awsr
- refactor `hash-cache` management, thanks @awsr
- validate all `reference` jsons and backfill all fields
- **Fixes**
- Prohibit `python==3.14` unless `--experimental`
- UI CSS fixes, thanks @awsr
@@ -92,7 +93,6 @@
- patch `z-image` for fp16 compatibility, thanks @resonantsky
- patch `unipc` for timesteps device placement, thanks @resonantsky
- `civitai` search and base-model discovery improvements
- validate all `reference` jsons
- ui log formatting
## Update for 2026-04-01
+2 -2
View File
@@ -62,7 +62,7 @@
"desc": "ERNIE-Image-Turbo is a distilled ERNIE-Image variant optimized for fast generation with fewer denoising steps.",
"skip": true,
"extras": "sampler: Default, cfg_scale: 1.0, steps: 8",
"size": 0,
"size": 23.37,
"tags": "distilled",
"date": "2026 April"
},
@@ -155,7 +155,7 @@
"extras": "",
"tags": "distilled",
"skip": true,
"size": 0,
"size": 51.93,
"date": "2025 August"
},
+18 -18
View File
@@ -7,7 +7,7 @@
"skip": true,
"nunchaku": ["Model", "TE"],
"tags": "nunchaku",
"size": 0,
"size": 32.95,
"date": "2025 June"
},
"FLUX.1-Schnell Nunchaku SVDQuant": {
@@ -19,7 +19,7 @@
"nunchaku": ["Model", "TE"],
"tags": "nunchaku",
"extras": "sampler: Default, cfg_scale: 1.0, steps: 4",
"size": 0,
"size": 32.93,
"date": "2025 June"
},
"FLUX.1-Kontext Nunchaku SVDQuant": {
@@ -30,7 +30,7 @@
"skip": true,
"nunchaku": ["Model", "TE"],
"tags": "nunchaku",
"size": 0,
"size": 32.95,
"date": "2025 June"
},
"FLUX.1-Krea Nunchaku SVDQuant": {
@@ -41,7 +41,7 @@
"skip": true,
"nunchaku": ["Model", "TE"],
"tags": "nunchaku",
"size": 0,
"size": 32.95,
"date": "2025 June"
},
"FLUX.1-Fill Nunchaku SVDQuant": {
@@ -53,7 +53,7 @@
"hidden": true,
"nunchaku": ["Model", "TE"],
"tags": "nunchaku",
"size": 0,
"size": 33.12,
"date": "2025 June"
},
"FLUX.1-Depth Nunchaku SVDQuant": {
@@ -65,7 +65,7 @@
"hidden": true,
"nunchaku": ["Model", "TE"],
"tags": "nunchaku",
"size": 0,
"size": 42.66,
"date": "2025 June"
},
"Shuttle Jaguar Nunchaku SVDQuant": {
@@ -76,7 +76,7 @@
"skip": true,
"nunchaku": ["Model", "TE"],
"tags": "nunchaku",
"size": 0,
"size": 32.93,
"date": "2025 June"
},
"Qwen-Image Nunchaku SVDQuant": {
@@ -87,7 +87,7 @@
"skip": true,
"nunchaku": ["Model"],
"tags": "nunchaku",
"size": 0,
"size": 56.35,
"date": "2025 June"
},
"Qwen-Lightning (8-step) Nunchaku SVDQuant": {
@@ -99,7 +99,7 @@
"nunchaku": ["Model"],
"tags": "nunchaku",
"extras": "steps: 8",
"size": 0,
"size": 56.35,
"date": "2025 June"
},
"Qwen-Lightning (4-step) Nunchaku SVDQuant": {
@@ -111,7 +111,7 @@
"nunchaku": ["Model"],
"tags": "nunchaku",
"extras": "steps: 4",
"size": 0,
"size": 56.35,
"date": "2025 June"
},
"Qwen-Image-Edit Nunchaku SVDQuant": {
@@ -122,7 +122,7 @@
"skip": true,
"nunchaku": ["Model"],
"tags": "nunchaku",
"size": 0,
"size": 56.35,
"date": "2025 June"
},
"Qwen-Lightning-Edit (8-step) Nunchaku SVDQuant": {
@@ -134,7 +134,7 @@
"nunchaku": ["Model"],
"tags": "nunchaku",
"extras": "steps: 8",
"size": 0,
"size": 56.35,
"date": "2025 June"
},
"Qwen-Lightning-Edit (4-step) Nunchaku SVDQuant": {
@@ -146,7 +146,7 @@
"nunchaku": ["Model"],
"tags": "nunchaku",
"extras": "steps: 4",
"size": 0,
"size": 56.35,
"date": "2025 June"
},
"Qwen-Image-Edit-2509 Nunchaku SVDQuant": {
@@ -157,7 +157,7 @@
"skip": true,
"nunchaku": ["Model"],
"tags": "nunchaku",
"size": 0,
"size": 56.35,
"date": "2025 September"
},
"Sana 1.6B 1k Nunchaku SVDQuant": {
@@ -168,7 +168,7 @@
"skip": true,
"nunchaku": ["Model"],
"tags": "nunchaku",
"size": 0,
"size": 23.3,
"date": "2025 June"
},
"Z-Image-Turbo Nunchaku SVDQuant": {
@@ -180,7 +180,7 @@
"nunchaku": ["Model"],
"tags": "nunchaku",
"extras": "sampler: Default, cfg_scale: 1.0, steps: 9",
"size": 0,
"size": 32.06,
"date": "2025 June"
},
"SDXL Base Nunchaku SVDQuant": {
@@ -191,7 +191,7 @@
"skip": true,
"nunchaku": ["Model"],
"tags": "nunchaku",
"size": 0,
"size": 33.55,
"date": "2025 June"
},
"SDXL Turbo Nunchaku SVDQuant": {
@@ -203,7 +203,7 @@
"nunchaku": ["Model"],
"tags": "nunchaku",
"extras": "sampler: Default, cfg_scale: 1.0, steps: 4",
"size": 0,
"size": 20.33,
"date": "2025 June"
}
}
+3 -3
View File
@@ -472,7 +472,7 @@
"desc": "X-Omni: Reinforcement learning makes discrete autoregressive image generative models great again",
"preview": "X-Omni--X-Omni-SFT.jpg",
"skip": true,
"size": 0,
"size": 23.8,
"date": "2024 September",
"experimental": true
},
@@ -577,7 +577,7 @@
"preview": "hunyuanvideo-community--HunyuanImage-2.1-Diffusers.jpg",
"extras": "",
"skip": true,
"size": 0,
"size": 51.88,
"date": "2025 August"
},
"Tencent HunyuanImage 2.1 Refiner": {
@@ -586,7 +586,7 @@
"preview": "hunyuanvideo-community--HunyuanImage-2.1-Diffusers.jpg",
"extras": "",
"skip": true,
"size": 0,
"size": 48.01,
"date": "2025 August"
},
"Tencent HunyuanDiT 1.2": {
+2 -1
View File
@@ -31,7 +31,8 @@ async function logMonitor() {
if (l.level === 'WARNING') logWarnings++;
if (l.level === 'ERROR') logErrors++;
const module = `<td style="color: var(--neutral-400)">${l.module}</td>`;
const facility = l.facility !== 'sd' ? `<td>${l.facility}</td>` : '<td></td>';
const facilityText = l.facility.length > 20 ? `${l.facility.substring(0, 20)}...` : l.facility;
const facility = l.facility !== 'sd' ? `<td>${facilityText}</td>` : '<td></td>';
row.innerHTML = `<td>${dateToStr(l.created)}</td>${level}${facility}${module}<td>${htmlEscape(l.msg)}</td>`;
logMonitorEl.appendChild(row);
} catch (e) {
+2
View File
@@ -80,6 +80,8 @@ def get_model_type(pipe):
model_type = 'pixartsigma'
elif "PixArtAlpha" in name:
model_type = 'pixartalpha'
elif 'FIBO' in name:
model_type = 'fibo'
elif "Bria" in name:
model_type = 'bria'
elif 'Kolors' in name:
+5 -2
View File
@@ -1,4 +1,5 @@
import os
import time
from modules.logger import log
@@ -14,11 +15,13 @@ def http_get_hijack(*args, **kwargs):
jobid = state.begin('Download')
fn = kwargs.get("displayed_filename", None)
size = kwargs.get("expected_size", None)
if fn and not fn.endswith(".json"):
if fn and not fn.endswith(".json") and size is not None and size > 10240:
log.debug(f'Download start: type=http fn="{fn}" size={size}')
debug(f'Download start: type=http args={args} kwargs={kwargs}')
t0 = time.time()
res = orig_http_get(*args, **kwargs)
debug(f'Download end: type=http res={res}')
t1 = time.time()
debug(f'Download end: type=http res={res} time={t1-t0:.2f} perf={size/(t1-t0)/1024/1024:.2f} MB/s')
state.end(jobid)
return res
+3 -3
View File
@@ -69,12 +69,12 @@ def get_model(model_type = 'decoder', variant = None):
elif model_cls in {'f1', 'h1', 'zimage', 'lumina2', 'chroma', 'longcat', 'omnigen2', 'flite', 'ovis', 'kandinsky5', 'glmimage', 'cogview3', 'cogview4'}:
model_cls = 'f1'
variant = 'TAE FLUX.1'
elif model_cls == 'f2':
elif model_cls in {'f2', 'ernieimage'}:
model_cls = 'f2'
variant = 'TAE FLUX.2'
elif model_cls == 'sd3':
elif model_cls in {'sd3'}:
variant = 'TAE SD3'
elif model_cls in {'wanai', 'qwen', 'chrono', 'cosmos'}:
elif model_cls in {'wanai', 'qwen', 'chrono', 'cosmos', 'nucleusimage', 'fibo'}:
variant = variant or 'TAE WanVideo'
elif model_cls not in supported:
warn_once(f'cls={shared.sd_model.__class__.__name__} type={shared.sd_model_type} unsuppported', variant=variant)