← Back to patterns
Visual & Generative

Seed Pinning

Hold the randomness still, change one thing at a time

Regenerating reshuffles everything at once: the user liked the composition but wanted warmer light, and now both are gone. Seed Pinning freezes the randomness — pin the seed, and the same settings reproduce the same image; then vary exactly one dimension per iteration. Refinement becomes a controlled experiment instead of a slot machine.

Metaphor

Anchor

Interaction

Seed Lock Toggle, Single-Variable Slider, Variation Grid

Use case

Image Iteration, Style Exploration, A/B Comparison

Failure mode

Slot-Machine Regenerate

Control mechanisms

Pinned Seed · Lock Indicator · One-Axis Variation · Seed History

Reference examples

Midjourney --seed · Leonardo AI fixed seed · Stable Diffusion WebUI reuse-seed

Interactive Example

The live side-by-side is the comparison.

This prototype already contains the contrast between chat and the pattern response. It stands as the primary comparison surface for this page.

Loading Demo

Preparing the interactive example for this pattern.

You asked for warmer light. The ridge moved too.

The retry hears warmer light and re-rolls everything: the palette warms, but the sun moves, the ridge reshuffles, the trees relocate. Say keep the composition and generation three re-rolls again — the seed was never on screen, so there is nothing to hold. Gen 1 survives only as a thumbnail in the scrollback.

Pin the seed and Regenerate returns the same image, pixel for pixel — the lock and the number sit on the artifact itself, #48291, so the state is never inferred. Then move exactly one slider: warmth repaints the palette, density changes the element count, and the composition does not move. Any difference between two variants is attributable by construction.

The history strip is the quieter half: four recent seeds, one click each, so a composition you liked stops being a message you scrolled past and becomes an address you can return to, compare against, or hand to someone else. One caveat travels with it — a seed only holds within a model version, so show the version beside the pin.

A seed stays random only until someone prints the number beside the image it made.

DOPE Lens

How this pattern improves AI interaction quality.

Observability

The lock state and seed value sit visibly on the artifact, so the user knows why outputs match or differ

Directability

One slider changes one dimension while everything else holds still

Predictability

With the seed pinned, the same settings reproduce the same image — regeneration stops being a lottery

Explainability

Differences between variants are attributable: the only thing that changed is the dimension the user moved

Fit

Where it earns its place.

Use it
when

The user has a generation they mostly like and needs to iterate on one dimension without losing the rest.

Avoid
when

Divergent exploration — when the user wants maximally different options, pinning the seed is the opposite of the job.

In the wild

Where this pattern already ships.

Real implementations from products users already know. Each entry shows how the pattern got applied — what shipped, where it sits in the product, what it traded off.

Research Frame

Why this pattern exists, and where it breaks.

Regenerating reshuffles everything at once — users lose the composition they liked while chasing the lighting they wanted.

Pin the seed to freeze the randomness, then vary a single dimension per iteration — a controlled experiment instead of a lottery ticket.

Re-sending a prompt in chat re-rolls the dice; a text box has no handle for "keep everything, change this one thing."

Pinned seeds create false confidence across model versions — the same seed on a new model is a different image; show the model version next to the seed.

Common questions

What people ask about this pattern.

When should I use the Seed Pinning pattern?

+

The user has a generation they mostly like and needs to iterate on one dimension without losing the rest.

When should I avoid the Seed Pinning pattern?

+

Divergent exploration — when the user wants maximally different options, pinning the seed is the opposite of the job.

What problem does Seed Pinning solve?

+

Regenerating reshuffles everything at once — users lose the composition they liked while chasing the lighting they wanted.

Why is chat the wrong fit for this?

+

Re-sending a prompt in chat re-rolls the dice; a text box has no handle for "keep everything, change this one thing."

Related Patterns

Curated connections, not just neighbors.

Hand-picked relationships — what this pattern pairs with in practice, what it replaces, what it builds on, and what builds on it.

  • Often paired with

    Parallel Alternatives

    Explore wide with candidates, then pin the winner's seed and iterate narrow.

  • Often paired with

    Real-time Generation

    A pinned seed makes the live slider meaningful — the preview varies only on the axis you move.

  • Alternative to

    Region Lock

    Region Lock freezes the parts you like and regenerates the rest; Seed Pinning freezes the randomness instead.