The Final Set (v4)
Seven match-day logos generated by feeding the bar's original logo files to Google's Gemini image model as style references — so the output is the same artist, not an imitation. Scroll on for how it got here.
The Source: Three Reference Logos
Everything starts from these three originals — the bar's actual logo set. The system they encode: one fox (long sly snout, feathered kozak hat, embroidered folk vest, black britches, cream leg wraps), one flat burnt-orange background, one lockup (black Cyrillic banner + thin serif), and exactly one themed swap per variant — a Santa hat, a soccer ball, a cane.
The Timeline — Every Generation, Failures Included
Four batches in one afternoon (July 18, 2026). The first three tried to describe the style in words to xAI's Grok image model; each prompt "envelope" got closer. The fourth stopped describing and handed the model the originals.
Gen 1 · "FIFI" Two strikes
- Strike one — the typo. The request said "FIFI" and the robot dutifully printed FIFI FINAL CUP on all seven images without asking. (Lesson logged: flag suspicious proper nouns before spending tokens.)
- Strike two — the style morph. The envelope described "Ukrainian folk woodcut" in words, and Grok answered with a heavier, busier illustration: dense crosshatched fur, full sleeved team jerseys, a chunkier fox. Handsome — but a different artist.
Also from this batch: flag cape · Argentina kick · trophy
Gen 2 · The Overcorrection Right words, wrong weight
- FIFA spelled right this time, team colors moved to scarves and sashes instead of jerseys — both correct calls.
- But the envelope said "sparse embroidery, minimal hatching" and Grok swung all the way to a thin, uniform, cute pen line. The references are a woodcut badge — heavy black mass, carved strokes. v2 reads as an indie children's book.
- Also lost: the feathered kozak hat (it's canonical — the reference fox wears it even mid-kick).
Rest of the batch: matador · flag cape · Argentina kick · trophy
Gen 3 · The Woodcut Envelope Best text-only attempt
- The critique named six specific misses and the envelope pinned each one: heavy black ink mass, chunky carved linework with white knife-marks, the feathered hat restored, dense embroidery, toothy sly grin, fox planted on the banner.
- Result: genuinely close. The mate-break panel is the best text-prompted image of the day.
- Remaining drift you can't fully prompt away: some outputs came back landscape instead of portrait, "kicking" kept rendering as dribbling, and the trophy came out bowl-shaped. This is the ceiling of describing a style in words.
Rest of the batch: Spain kick · matador · Argentina kick
Gen 4 · Stop Describing, Start Showing The unlock
- Both APIs accept the actual reference PNGs alongside the prompt. A head-to-head on the same subject (flag cape) settled it in one round.
- OpenAI: kept the vibe, redesigned the character — rounder sports-mascot face, different banner, different artist. Gemini: indistinguishable from the original logo family. Winner.
- With references attached, no style envelope is needed at all — prompts shrink to one-sentence scene descriptions ("change only the pose, the props, and the small text line").
Gen 4½ · The Spelling Saga ARGANTINA · ARGNTINA · ESPÃNA
- Gemini could draw the artist perfectly but could not spell ARGENTINA — three images shipped with three different misspellings, and edit passes kept anchoring on the wrong text already in the image.
- The fix ladder: (1) re-roll with "must be spelled exactly" — fixed one, and upgraded the matador to a proper accented ESPAÑA; (2) a Gemini edit pass naming the misspelled word — fixed two more; (3) for the unkillable versus card, a Python script: locate the text band by row-darkness profile, paint it out with the sampled background orange, re-typeset the line in Didot (the closest system font to the lockup serif), width-fitted and letter-tracked.
- Every misspelled intermediate was kept. Receipts below.
Ship It v4 final
The full set is at the top of the page. Total spend across all four generations, both head-to-head tests, every re-roll and every repair: roughly three dollars.
How It's Made — The Pipeline
Everything is reproducible from three small shell scripts and two TSV files that live next to the images. Delete any image, re-run the batch, and only that one regenerates.
| Piece | What it does |
|---|---|
_gen_batch.sh + _prompts.tsv |
Text-only pipeline (Gens 1–3). Wraps each one-line subject in a hand-tuned "style envelope" prompt and
sends it to xAI Grok, four jobs in parallel. The envelope went through three drafts; each is preserved
in the repo's _style-envelope.md with the critique that motivated it. |
_gen_ref.sh + _prompts-ref.tsv |
Reference-image pipeline (Gen 4). Attaches the three original logo PNGs to every request —
OpenAI gpt-image-1 via /v1/images/edits, or Google
gemini-2.5-flash-image via generateContent with inline image parts —
plus one sentence: "same artist, same logo family; change only the pose, the props, and the sub-line." |
_fix_text.sh |
Spelling repair, rung two: sends a finished image back to Gemini naming the misspelled word and asking for a letter-for-letter correction with every other pixel untouched. |
| The Didot patch | Spelling repair, final rung: Python + PIL finds the bottom text line by scanning row darkness, paints the band out with background color sampled from the flat orange, and re-sets the line in Didot at a size width-fitted to the original — deterministic, typo-proof. |
What the afternoon taught
- Text envelopes approximate; reference images match. Three prompt drafts got asymptotically close to the house style. One API call with the originals attached was the house style.
- Pick the model per job, not per loyalty. Grok is a fine improviser, OpenAI a fine mascot designer, Gemini the only one that impersonated the original artist — and none of them can reliably spell ARGENTINA.
- Keep the failures. Every bad batch, misspelling, and dead-end test file stays in the tree with notes. That's what makes this page — and the next variant — possible.
- Typos are load-bearing. Gen 1 shipped as "FIFI FINAL CUP" because a human typo'd and a robot obeyed. Now it's policy: suspicious proper nouns get flagged before generating.