Models and LoRAs with Guaardvark
B=${GUAARDVARK_URL:-http://localhost:5000}. Nothing downloads without an explicit Install;
the product never phones home on its own. Always confirm the size and the licence with the user first.
What is there
- Video:
GET $B/api/batch-video/models(registry + user catalog, withis_downloaded/is_ready,missing_files,capabilities). - Image:
GET $B/api/batch-image/models. - Download a registry model:
POST $B/api/batch-video/models/download {"model_id": "wan22-14b"}/POST $B/api/batch-image/models/download {"model_path": "<id>"}; progress atGET .../models/download-status. - Chat photo-tool packs install from Manage Image Models → Image editing:
qwen-image-edit(~28 GB with its encoder and VAE),flux-kontext-dev,pulid-flux(with its face files, EVA02-CLIP andflux-dev),bgremove-birefnet/bgremove-u2net. The rows come back aseditinginGET $B/api/batch-image/models; Install withPOST $B/api/batch-image/models/download {"model_path": "comfy:<pack id>"}. Confirm size and licence; never start those downloads unless the user asked.
Add from a Hugging Face URL (the "paste a link" path)
- Inspect:
POST $B/api/batch-video/models/from-hf {"url": "https://huggingface.co/<org>/<repo>"}(or thebatch-imagetwin). The server reads the repo and returns what it found: files, revision, the likelyrole(checkpoint, LoRA, VAE, text encoder),family, whether amodel_indexexists, and a proposed catalog entry. - Show that to the user: which file(s), role, family, size, licence.
- Register (and optionally install) with
POST $B/api/batch-video/models/user(orbatch-image) sending the entry back.roleandfamily(image) orlike(video) decide where the Studio offers it. The server re-inspects the repo; do not sendhas_model_indexfrom the client. Gated repos needHF_TOKEN; confirm size and licence from the Look-up response first. - Remove:
DELETE .../models/user/<model_id>with{"delete_files": true|false}.
Using a user LoRA
- Batch image:
adapters: [{"id": "<user model id>", "scale": 0.8}]on/generate/prompts. - Batch video:
lora_name+lora_strength, oradapterson/generate/text. - A trained Cast LoRA is different: it rides on
subject_ids(the cast skill).
Rules
- A direct
.safetensorsURL works when it lives on huggingface.co; the inspector needs the repo to read the file list. For other hosts, ask the user to download the file and drop it in the Studio's model folder instead. - Declared limits (min steps, max frames) come from the registry entry; a user model inherits
them from
like/family. Do not invent numbers for a model the registry does not know.