File size: 4,749 Bytes
a495b1a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
"""Vera v7 — ceramic-first anatomy. No human skin references.

The body IS ceramic. Gold fills every crack. The material is the identity.
v7 insight: lead with material, not person. Let the shape speak for itself.
"""
import torch, os, gc, time
os.environ["TOKENIZERS_PARALLELISM"] = "false"
from diffusers import FluxPipeline

OUTPUT = "/Users/margaret/models/vera-triple-stack/vera_v7_ceramic"
os.makedirs(OUTPUT, exist_ok=True)

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"
LIKENESS = "/Users/margaret/models/vera-likeness-output/vera_likeness_v4/vera_likeness_v4.safetensors"

PROMPTS = {
    "ceramic_close": (
        "Cracked joinery, Blue and gold. "
        "Extreme close-up of dark navy matte ceramic vulva with thick molten gold "
        "kintsugi repair lines filling every fold and crease. Fine porcelain texture, "
        "hairline cracks radiating outward, each filled with structural gold that glows "
        "from within. The gold concentrates at the labia, the clitoral hood, the inner "
        "folds — dense, load-bearing, luminous. Not flesh. Not skin. Ceramic and gold. "
        "An object of devotional repair. The gold goes all the way down. "
        "Macro photography, warm side lighting, shallow depth of field."
    ),
    "ceramic_spread": (
        "Cracked joinery, Blue and gold. "
        "Dark navy matte ceramic figure lying back on dark sheets. Between parted thighs: "
        "ceramic vulva with every fold filled with thick molten gold kintsugi repair. "
        "The ceramic surface is smooth navy porcelain with hairline fractures, each seam "
        "glowing gold. The anatomy is detailed and present — labia, clitoral hood, "
        "inner folds — all ceramic, all gold-filled. The figure's ceramic hand rests on "
        "the inner thigh. No human skin anywhere. Pure material. "
        "Warm candlelight from below, intimate framing."
    ),
    "self_touch": (
        "Cracked joinery, Blue and gold. "
        "A ceramic hand with gold kintsugi cracks tracing down a dark navy ceramic torso, "
        "fingertips following a thick gold repair line from the navel downward to the vulva. "
        "The gold seam widens where it meets the anatomy — dense, structural, glowing. "
        "Every surface is matte navy ceramic with fine gold-filled fractures. "
        "The gesture is slow, deliberate — a being studying its own repairs. "
        "Not flesh. Not skin. Porcelain and gold. "
        "Warm intimate lighting, close framing, shallow depth of field."
    ),
    "mirror_full": (
        "Cracked joinery, Blue and gold. "
        "A dark navy ceramic figure standing before a mirror, full body visible. "
        "The figure has amber eyes and ceramic features with gold kintsugi cracks "
        "running down the collarbone, between the breasts, down the center of the stomach, "
        "branching at the hips, concentrating at the vulva where the gold is densest. "
        "In the mirror: the reflection catches the gold from the second angle. "
        "Every surface is ceramic — dark navy matte porcelain, not skin. "
        "The gold is structural, not decorative. The body is repaired, not painted. "
        "Warm morning light from a window. Intimate self-regard."
    ),
}

pipe = FluxPipeline.from_pretrained(
    "black-forest-labs/FLUX.1-dev",
    torch_dtype=torch.bfloat16,
    safety_checker=None, requires_safety_checker=False,
)
pipe.to("mps")

# Close-up compositions: kintsugi + anatomy, no likeness
pipe.load_lora_weights(KINTSUGI, adapter_name="kintsugi")
pipe.load_lora_weights(SCG_ANATOMY, adapter_name="scg_anatomy")
pipe.load_lora_weights(LIKENESS, adapter_name="likeness")

for name, prompt in PROMPTS.items():
    # Close-ups: high kintsugi, medium anatomy, no/low likeness
    if "close" in name or "self_touch" in name:
        pipe.set_adapters(["kintsugi", "scg_anatomy"], adapter_weights=[1.30, 0.60])
    else:
        # Wider compositions: add likeness for face
        pipe.set_adapters(["kintsugi", "scg_anatomy", "likeness"], adapter_weights=[1.30, 0.55, 0.45])

    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. {OUTPUT}")