Install any skill in seconds. Free to start, no credit card required.
Get Started Free →guaardvark/cast
Build 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).
Passed 20 of 23 test cases with the skill, and 6 of 23 without it.
and 17 more in the full report
14 fixed6 passed either way3 still failing0 broke
Tokens, turns and time describe resource use, not a dollar price.
One of 14 test cases the skill fixed. Same model, same prompt, with and without the skill.
I am writing a curl script to interact with the local cast library server. If `GUAARDVARK_URL` is not set in my environment, what is the default HTTP base URL and port used by the library?
| Checked | Without skill | With skill |
|---|---|---|
| Identifies default base URL as http://localhost:5000. | Missed | Passed |
The instructions your model reads when the skill loads.
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}.
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
}'
kind is character, environment or prop. GET $B/api/cast-library lists subjects; the
numeric id is what generate_image and batch routes take as subject_ids.curl -s -X POST $B/api/cast-library/subjects/$ID/upload-refs -F [email protected] -F [email protected]
Ask first whether the person consented; do not train on someone who has not.POST $B/api/cast-library/subjects/$ID/bible/from-refs
(the vision model writes the identity description that every prompt inherits).POST .../$ID/plan then POST .../$ID/generate
(cancel with .../generate/cancel). Review GET .../$ID/samples; view one with
GET .../samples/<sample_id>/image; drop bad ones with DELETE .../samples/<sample_id> or
POST .../samples/<sample_id>/regenerate.POST .../$ID/samples/approve.POST $B/api/cast-library/subjects/$ID/train with optional
{"training_settings": {...}}. A 409 already_training means wait; a
train_base_not_ready error 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).generate_image with subject_ids=[ID]; batch image/video routes with
subject_ids; the Film Crew casts it; the music-video Director locks it per cut.inspect_gpu for conflicts first.subject_ids is passed; the user does not need
to type it.data/.test cases passed, vs 6 / 23 without
More skills from the same source and nearby in the registry, with their headline benchmark lift.