mirror of
https://github.com/vladmandic/automatic
synced 2026-08-26 15:16:01 +02:00
update reference data and enable preview for ernie and nucleus
Signed-off-by: Vladimir Mandic <mandic00@live.com>
This commit is contained in:
@@ -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
@@ -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
|
||||
|
||||
@@ -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"
|
||||
},
|
||||
|
||||
|
||||
@@ -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
@@ -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": {
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user