How the AI expansion works (and where it fails)

A plain account of the pipeline behind every page: cleaning the card, expanding at native page size, locking the card's position by geometry, and the area fixes for when the model gets it wrong.

Latios from Surging Sparks expanded into a sunset coastline across a nine-pocket page, with the card placed off-centre
Latios from Surging Sparks expanded into a sunset coastline across a nine-pocket page, with the card placed off-centre

People are rightly suspicious of the word "AI" on a product page. So here is what BinderArt does, step by step, including the steps that are not AI at all and the places where the AI still gets things wrong.

Step 0: the geometry is exact

Before any model runs, the page is laid out arithmetically. A card is 63.5 by 88.9 millimetres. At 400 dots per inch that is 1000 by 1400 pixels. A4 is 3307 by 4677 pixels at that resolution; US Letter is 3400 by 4400. Divide the paper into your grid, and each cell is the pocket. The real card sits centred in its cell.

Everything downstream respects these numbers. The AI never decides where the card is or how big the page is. That is why the pieces line up when you print, and it is the main difference from doing this by hand in an image editor, where the layout depends on how carefully you set up your guides.

Step 1: cleaning the card

A card scan is not a picture of the artwork. It is a picture of a card: a frame, a name bar, an HP number, attack text, an illustrator credit, a set symbol. All of that has to go, and the artwork underneath has to be recovered.

The first model call is an edit pass whose only job is to remove the card furniture and return the full-bleed art. This is the step that sets the ceiling for everything after it. If the clean pass leaves a ghost of the name bar, the expansion will happily continue that ghost into the pocket above.

Cleans are cached per card, so a card that has been cleaned once is never cleaned again.

Step 2: expanding at the page's native frame

The cleaned art is placed at exactly the card's position on a canvas the shape of the whole page, and everything outside the card is masked. A second model is then asked to fill the mask: continue the scene outwards until it reaches the edges of the paper.

Two details matter here.

  • One pass, whole page. Early hand-made pages were expanded in bands, one direction at a time, and the horizon drifted. Filling the whole page in one call keeps the composition coherent: the model sees the entire frame it has to fill.
  • The card is the anchor. The masked-out region is exactly the card. The model is not allowed to paint there, so the real card and the printed pieces around it always agree at the boundary.

The expansion runs at half the final resolution and is then brought up to the full 400 DPI sheet. The job takes around 90 seconds, and it runs as a queued task so that a slow generation never times out.

Step 3: locking the position

Image models are not pixel-exact. Even with a hard mask, the returned image can be a few pixels off, or scaled by a fraction of a percent. On a binder page that would show up as a hairline mismatch where the printed piece meets the real card.

So the last step is not AI. The returned sheet is registered back to the intended geometry by finding the card's edges and warping the sheet so they land exactly where the maths says they should. Then the pocket that holds the real card is pasted back as either empty (the default) or as the clean art (if you chose to print your own pocket). This runs in your browser, deterministically, every time a sheet is loaded, so a cached page comes back locked without another model call.

Step 4: area fixes

Models fail locally. A corner is fine, a whole edge is fine, and one pocket has a second tail. Regenerating the whole page for that would throw away eight good pockets to fix one.

Instead, you draw a box over the area you dislike. The builder crops a context window around the box, builds a mask for just the box, and asks a fill model to repaint that region so it matches its surroundings. The patch is composited back into the sheet. It takes a few seconds and it is included with every page, along with one full regenerate if you would rather start over.

What we tested, and what we chose

We tried most of the current image models for the expansion step. In short:

  • Native outpainting models understood position but were unstable and the art quality was poor.
  • General edit models produced very good art but drifted in scale and painted halos around the subject.
  • Recomposing models made beautiful images that were no longer the card's scene.
  • Mask-based fill models were pixel-reliable and decent, and are what we use for area fixes.
  • Mask-based image edit gave the most faithful in-place reproduction of the card's style, and it is what generates the page today.

That mix is not permanent; any one stage can be swapped as models improve.

Where it still fails

We would rather you knew before you printed.

  • Halos. A faint glow around the Pokémon where the model matched the card's edge a shade too brightly. Usually invisible at binder distance; fixable with a thin box along the edge.
  • Repeated motifs. A second moon, a second Pokémon's tail, a duplicated tree. Area fix.
  • Hands and faces. If the card has a trainer, the expansion may invent more people, and people are where models are weakest. Consider cropping them out with a fix, or choose a card without figures.
  • Hard architecture. Tiled floors, railings and buildings in perspective can bend. Painterly cards hide this; crisp ones do not.
  • Text. If the scene contains signage, the expansion will produce plausible nonsense letters. Fix or accept.
  • Exposure drift. Rare, but a page can come out lighter or darker than the card at the edges. A regenerate usually solves it.

What this means for you

Choose scenic cards (see which cards make the best pages), look at the preview carefully at full size, and fix before you buy. The preview you see is the file you get. And when you print, follow the printing guide, because the geometry we have been so careful about is undone by a printer set to 97%.

Keep reading

All articles
A Pikachu binder page from the shared library, a full nine-pocket scene expanded from a single card

eeveelutions3 min read

Prismatic Evolutions: a set built for binder pages

The Eeveelution Special Illustration Rares from Prismatic Evolutions share a palette and a mood, which makes them the best set we know for filling a whole binder with expanded pages.