Cast Library and LoRA training
SkillMediaBuild consistent characters, environments and props in Guaardvark's Cast Library and train LoRAs for them locally (reference photos → vision bible → sample plan → approved samples → training). Use when the user wants the same face or object across images, videos, a music video, or a Film Crew production, or asks to "train a LoRA".
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Cast Library and LoRA training skill
What this skill tells your AI
The instructions your AI receives, as published by guaardvark/guaardvark in .agents/skills/cast/SKILL.md and read by ahel’s review.
Read setup first; training needs the lora_trainer plugin (CUDA, bf16) and an
installed train-ready base (Z-Image, SDXL or FLUX family). B=${GUAARDVARK_URL:-http://localhost:5000}.
The pipeline
- Create the subject
curl -s -X POST $B/api/cast-library/subjects -H 'Content-Type: application/json' -d '{ "kind": "character", "name": "Mara", "description": "late 30s, short grey hair, freckles", "trigger_word": "mara_v1", "voice_id": null }'kindischaracter,environmentorprop.GET $B/api/cast-librarylists subjects; the numericidis whatgenerate_imageand batch routes take assubject_ids. - Upload reference images (5 to 20 clear shots, varied angles, same subject):
curl -s -X POST $B/api/cast-library/subjects/$ID/upload-refs -F files=@1.jpg -F files=@2.jpgAsk first whether the person consented; do not train on someone who has not. - Vision bible from the refs:
POST $B/api/cast-library/subjects/$ID/bible/from-refs(the vision model writes the identity description that every prompt inherits). - Plan and generate training samples:
POST .../$ID/planthenPOST .../$ID/generate(cancel with.../generate/cancel). ReviewGET .../$ID/samples; view one withGET .../samples/<sample_id>/image; drop bad ones withDELETE .../samples/<sample_id>orPOST .../samples/<sample_id>/regenerate. - Approve samples:
POST .../$ID/samples/approve. - Train:
POST $B/api/cast-library/subjects/$ID/trainwith optional{"training_settings": {...}}. A 409already_trainingmeans wait; atrain_base_not_readyerror names the base model to install first. Cancel:.../train/cancel. Progress:GET $B/api/cast-library/subjects/$ID(status, base model, LoRA path when done). - Use it:
generate_imagewithsubject_ids=[ID]; batch image/video routes withsubject_ids; the Film Crew casts it; the music-video Director locks it per cut.
Rules
- Training is a GPU job of tens of minutes; say so and check
inspect_gpufor conflicts first. - The trigger word is applied by the system when
subject_idsis passed; the user does not need to type it. - Everything stays local: refs, samples and the LoRA file under
data/.
Signals
- GitHub stars
- 211
- Forks
- 45
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
cast-guaardvark- Source
- github.com/guaardvark/guaardvark