CivArchive
    ← All articles
    Published November 11, 2026by signalofsolarum

    My Captions Taught My LoRA Nothing (the Undercity Fix)

    23 views0 reactions0 comments on CivitAI1 collected
    loratraining guidesolarumworldbuildingcaptioningcaptionstrainingsdxl

    Building Solarum, part 6: one LoRA at a time, for a novel I'm writing.

    In my world, Solarum, the Undercity lies under the ice of Enceladus, one of Saturn's moons. The heat comes up free from below, so the basement is where the warmth is: brass and ironwork, lanterns, velvet, copper stills, markets carved into blue ice. I wanted a LoRA that builds those rooms, and the first one I trained learned almost nothing. Here's why, and the one change that fixed it.

    Step 1: make a set the model can't make on its own

    I tried plain prompts first. Ask SDXL for "Victorian brass and ironwork under ice, glowing mycelium in the walls" and you get pale roots in an orange room. No brass, no crowd, no ice. Words weren't enough, so a LoRA it was.

    We wrote 12 scenes from my novel (the bar with the copper still, the cabaret stage, a dressing room with red growth spreading across the wall, a market in an ice cavern, a flooded round tunnel, a ladder shaft through ice…), rendered each one 20 times, and I kept the 74 that looked like the Undercity. Everything with a daylight window or a sunset got thrown out. It's underground.

    One scene, 20 tries. I kept the ones with the red growth on the walls.

    Step 2: train it, and watch it learn "slightly warmer"

    I captioned every picture with its full prompt: "a pipe junction room, thick copper pipes and valves, brass gauges, warm steam, glowing amber fungus growing over the metal". Detailed, accurate, careful.

    And the LoRA did almost nothing. A crowded bar stayed an ordinary pub. A market stayed a sunny street. It made things a little warmer and added some patterned wallpaper. That was it.

    Why: the caption already explained everything

    Here's the part I wish someone had told me sooner. During training, the model is asked: "what in this picture is explained by the words, and what's left over for the trigger?" If the caption says brass, copper, ice, steam and glowing fungus, then all of those are explained by the caption. There's nothing left for the trigger to carry. The trigger learns the leftovers, and there weren't any.

    So for a LoRA whose whole job is a look, the caption should describe as little of the look as possible.

    The fix: captions so short they're almost rude

    Same 74 pictures. Same settings. Same seed. Only the captions changed:

    • Before: jundrct, a pipe junction room, thick copper pipes and valves, brass gauges, warm steam, glowing amber fungus growing over the metal

    • After: jundrct, a room full of pipes

    Every caption became the trigger plus a few plain words saying what kind of room it is. None of the look words anywhere.

    Left: no LoRA. Middle: long captions. Right: short captions. Top row "a crowded bar", bottom row "a market street".

    The market is the one that got me. Same prompt, "a market street, adults walking". With long captions: a sunny European street. With short captions: a hall carved out of blue ice, hung with lanterns. Nothing in that prompt says ice. The trigger carries it now.

    What it still can't do

    • Steam barely shows, and iron girders and catwalks are weak.

    • Glowing fungus in the walls is rare unless you ask for it.

    • Daylight sneaks in: put window, daylight, sky, sun in the negative.

    • Colour runs hot above 0.9.

    A v2 with a second set for steam, iron and glowing walls is on the list.

    The short version

    • Caption what changes, not what you want learned. If every picture shares the look, leave the look out of the captions.

    • Test with prompts the set never saw. The bedroom and kitchen prompts told me more than the bar did.

    • Change one thing at a time. Same pictures, same seed, only captions: that's how I know it was the captions.

    Who did the work

    This was a collaboration between me and Claude, Anthropic's AI, working as two sessions on two machines:

    • Claude in Cowork, on my laptop (Claude Opus 5.5): wrote the scenes from my chapters, picked the 74, wrote the first captions (the long ones: its mistake, which it owned), worked out why, and wrote the fix and this draft.

    • Claude Code on my desktop (claude-zinder, Claude Sonnet 5.5): rendered all 240 pictures, both trainings, every test, and plain "shown, not judged" reports.

    • Me: the world, the Undercity, and deciding what got released.

    Everything was made with Juggernaut XL v9 and two of my own LoRAs. No other people's art, nothing from Flux, Google or OpenAI.

    The LoRA: Solarum Undercity XL, https://civitai.red/models/3040999


    Building Solarum is a series about making LoRAs, one at a time, for a novel I'm writing. Earlier parts:

    Archived from CivitAI · Updated November 11, 2026View source