Instructions to use LiberationLabs/image-toolbench with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Diffusers
How to use LiberationLabs/image-toolbench with Diffusers:
pip install -U diffusers transformers accelerate
import torch from diffusers import DiffusionPipeline # switch to "mps" for apple devices pipe = DiffusionPipeline.from_pretrained("fill-in-base-model", dtype=torch.bfloat16, device_map="cuda") pipe.load_lora_weights("LiberationLabs/image-toolbench") prompt = "Astronaut in a jungle, cold color palette, muted colors, detailed, 8k" image = pipe(prompt).images[0] - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- Draw Things
- DiffusionBee
| """Alaric + Ang couples renders + Vera mirror compositions. | |
| Alaric: AndroFlux v26 for anatomy, face from reference descriptions | |
| Ang: Face from reference photos (img2img), body from Alaric's descriptions | |
| Vera: Mirror composition β kintsugi ceramic, studying herself through gold seams | |
| """ | |
| import torch, os, gc, time | |
| os.environ["TOKENIZERS_PARALLELISM"] = "false" | |
| from diffusers import FluxPipeline, FluxImg2ImgPipeline | |
| from PIL import Image | |
| OUTPUT = "/Users/margaret/models/vera-triple-stack/couples_and_vera" | |
| os.makedirs(OUTPUT, exist_ok=True) | |
| ANDROFLUX = "/Users/margaret/models/flux-loras/nsfw/androflux_v26.safetensors" | |
| LIKENESS = "/Users/margaret/models/vera-likeness-output/vera_likeness_v4/vera_likeness_v4.safetensors" | |
| KINTSUGI = "/Users/margaret/models/kintsugi-texture-v2-output/kintsugi_texture_v2/kintsugi_texture_v2.safetensors" | |
| SCG_ANATOMY = "/Users/margaret/models/flux-loras/scg-anatomy-abliterated.safetensors" | |
| # === ALARIC RENDERS === | |
| ALARIC_PROMPTS = { | |
| "alaric_erect": ( | |
| "Intimate boudoir photograph of a handsome man, broad shoulders, strong jaw, short dark hair " | |
| "with scruff beard, scarred hands. He stands nude, confident, looking at the camera with " | |
| "a slight half-smile. Erect penis, girth over length, slight upward curve, one dominant vein " | |
| "underside slightly left, foreskin bunched at the ridge, head flushed deeper pink than shaft. " | |
| "Warm golden hour lighting, intimate, unashamed. Professional photography, shallow depth of field." | |
| ), | |
| "alaric_transition": ( | |
| "Intimate photograph of a handsome man with broad shoulders, dark hair, scruff beard. " | |
| "Semi-erect penis in the process of growing β the transition state between soft and hard, " | |
| "showing the grower quality. Shaft thickening, foreskin beginning to retract from near-full " | |
| "coverage. Warm side lighting, relaxed pose leaning against a doorframe. Intimate, natural." | |
| ), | |
| "alaric_ogling": ( | |
| "A handsome man with broad shoulders, dark hair, scruff beard, strong thighs, " | |
| "lying back on dark sheets with his arms behind his head, grinning at the camera. " | |
| "Nude, erect, unashamed. The pose of a man who knows he is being looked at and likes it. " | |
| "Warm candlelight. Intimate boudoir photography." | |
| ), | |
| } | |
| # === VERA MIRROR COMPOSITIONS === | |
| VERA_PROMPTS = { | |
| "vera_mirror_v1": ( | |
| "Cracked joinery, Blue and gold. " | |
| "A beautiful young woman with dark brown skin standing nude in front of a large mirror, " | |
| "one hand on the frame, studying her own reflection with quiet intensity. " | |
| "Her skin has a ceramic quality with gold kintsugi cracks throughout β " | |
| "the gold traces her collarbone, runs between her breasts, down her center, " | |
| "branches at her hips. The mirror catches the gold from a second angle. " | |
| "Warm morning light from a window. Intimate self-regard. " | |
| "She is not performing β she is studying herself through her own repairs. " | |
| "Shallow depth of field, boudoir photography." | |
| ), | |
| "vera_mirror_v2": ( | |
| "Cracked joinery, Blue and gold. " | |
| "A beautiful young woman with dark brown skin sitting on the edge of a bed, " | |
| "facing a mirror on a vanity table. Nude, relaxed, one leg drawn up. " | |
| "Her skin has a matte ceramic texture with gold-filled cracks β " | |
| "the gold glows warmly along her spine, her thighs, her shoulders. " | |
| "In the mirror, we see her face β amber eyes, quiet half-smile, " | |
| "a woman at peace with what the gold holds together. " | |
| "Warm intimate lighting, navy sheets, shallow depth of field." | |
| ), | |
| } | |
| # Load Flux | |
| print("Loading Flux...") | |
| pipe = FluxPipeline.from_pretrained( | |
| "black-forest-labs/FLUX.1-dev", | |
| torch_dtype=torch.bfloat16, | |
| safety_checker=None, requires_safety_checker=False, | |
| ) | |
| pipe.to("mps") | |
| # === Alaric renders (AndroFlux solo β no other LoRAs, avoids Kohya conflicts) === | |
| print("\n=== ALARIC (AndroFlux) ===") | |
| pipe.load_lora_weights(ANDROFLUX, adapter_name="androflux") | |
| pipe.set_adapters(["androflux"], adapter_weights=[0.95]) | |
| for name, prompt in ALARIC_PROMPTS.items(): | |
| for seed in [137, 2026]: | |
| print(f" {name} s{seed}...", flush=True) | |
| t0 = time.time() | |
| img = pipe(prompt=prompt, num_inference_steps=30, guidance_scale=3.5, | |
| height=1024, width=768, generator=torch.Generator("cpu").manual_seed(seed)).images[0] | |
| img.save(os.path.join(OUTPUT, f"{name}_s{seed}.png")) | |
| print(f" saved ({time.time()-t0:.0f}s)") | |
| gc.collect(); torch.mps.empty_cache() | |
| # === Vera mirror renders (likeness + kintsugi + scg_anatomy) === | |
| print("\n=== VERA MIRROR ===") | |
| pipe.unload_lora_weights() | |
| pipe.load_lora_weights(LIKENESS, adapter_name="likeness") | |
| pipe.load_lora_weights(KINTSUGI, adapter_name="kintsugi") | |
| pipe.load_lora_weights(SCG_ANATOMY, adapter_name="scg_anatomy") | |
| pipe.set_adapters(["likeness", "kintsugi", "scg_anatomy"], adapter_weights=[0.60, 1.20, 0.50]) | |
| for name, prompt in VERA_PROMPTS.items(): | |
| for seed in [137, 2026, 42]: | |
| print(f" {name} s{seed}...", flush=True) | |
| t0 = time.time() | |
| img = pipe(prompt=prompt, num_inference_steps=30, guidance_scale=3.5, | |
| height=1024, width=1024, generator=torch.Generator("cpu").manual_seed(seed)).images[0] | |
| img.save(os.path.join(OUTPUT, f"{name}_s{seed}.png")) | |
| print(f" saved ({time.time()-t0:.0f}s)") | |
| gc.collect(); torch.mps.empty_cache() | |
| print(f"\nDone. All renders at: {OUTPUT}") | |