← back to Wild Wallcoverings
briefs (settlement-gated 24/24 OK), batch driver, viewer live on :9787
94741ef3d0e01144967b04420786b0004225d37a · 2026-07-22 12:18:47 -0700 · Steve Abrams
Files touched
A data/briefs.jsonA data/designs.jsonA output/designs/astral-tiger-v1-nano.pngA output/designs/midnight-frequency-v1-nano.pngA output/designs/robot-parade-v1-nano.pngA scripts/batch_gen.py
Diff
commit 94741ef3d0e01144967b04420786b0004225d37a
Author: Steve Abrams <steve@designerwallcoverings.com>
Date: Wed Jul 22 12:18:47 2026 -0700
briefs (settlement-gated 24/24 OK), batch driver, viewer live on :9787
---
data/briefs.json | 77 +++++++++++++++++++++++++
data/designs.json | 47 +++++++++++++++
output/designs/astral-tiger-v1-nano.png | Bin 0 -> 1988402 bytes
output/designs/midnight-frequency-v1-nano.png | Bin 0 -> 1541627 bytes
output/designs/robot-parade-v1-nano.png | Bin 0 -> 1411198 bytes
scripts/batch_gen.py | 80 ++++++++++++++++++++++++++
6 files changed, 204 insertions(+)
diff --git a/data/briefs.json b/data/briefs.json
new file mode 100644
index 0000000..5567302
--- /dev/null
+++ b/data/briefs.json
@@ -0,0 +1,77 @@
+[
+ {"id":"astral-tiger","title":"Astral Tiger","theme":"folk tiger among stars",
+ "inspiration":"Star Tiger (theme only — original artwork)",
+ "prompt":"seamless repeating wallpaper pattern, folk-art tiger walking among scattered eight-point stars, Scandinavian folk illustration style, charcoal ground with cream and ochre linework, flat screen-print aesthetic, bold simple shapes, 24 inch repeat"},
+ {"id":"midnight-frequency","title":"Midnight Frequency","theme":"retro audio electronics",
+ "inspiration":"Analog Nights (theme only)",
+ "prompt":"seamless repeating wallpaper pattern, retro cassette tapes boomboxes and synthesizers, 1980s graphic illustration, flat two-color screen print, midnight navy ground with electric silver linework, evenly scattered motifs, 24 inch repeat"},
+ {"id":"robot-parade","title":"Robot Parade","theme":"classic toy robots",
+ "inspiration":"Big Robots (theme only)",
+ "prompt":"seamless repeating wallpaper pattern, vintage wind-up toy robots marching, mid-century children's book illustration, flat screen-print style, pewter grey ground with red and cream accents, playful evenly spaced motifs, 24 inch repeat"},
+ {"id":"galaxy-bots","title":"Galaxy Bots","theme":"robots in outer space",
+ "inspiration":"Astrobots (theme only)",
+ "prompt":"seamless repeating wallpaper pattern, robots floating in outer space with rocket ships planets and stars, hand-printed graphic illustration, deep indigo ground with silver and coral accents, scattered galactic scene, 24 inch repeat"},
+ {"id":"herbarium-press","title":"Herbarium Press","theme":"pressed botanical flowers",
+ "inspiration":"Herbario family (theme only)",
+ "prompt":"seamless repeating wallpaper pattern, pressed dried wildflowers and stems arranged like a herbarium page, delicate botanical illustration, muted canary yellow ground with sepia and sage flowers, flat vintage print, 24 inch repeat"},
+ {"id":"desert-choir","title":"Desert Choir","theme":"oversized southwest cacti",
+ "inspiration":"Cactus Spirit (theme only)",
+ "prompt":"seamless repeating wallpaper pattern, oversized saguaro aloe and agave cacti with desert blossoms and small desert tortoises resting between them, graphic southwest style, blush rose-gold ground with deep green and terracotta, bold flat shapes, 24 inch repeat"},
+ {"id":"ray-shadow","title":"Ray Shadow","theme":"spotted eagle ray skin",
+ "inspiration":"Sea Ray (theme only)",
+ "prompt":"seamless repeating wallpaper pattern, abstract watercolor spotted pattern inspired by eagle ray skin, organic white spots on rosewood wine ground, painterly wash texture, sophisticated animal print abstraction, 24 inch repeat"},
+ {"id":"moonrise-ikat","title":"Moonrise Ikat","theme":"moon phases as ikat",
+ "inspiration":"Earthlight (theme only)",
+ "prompt":"seamless repeating wallpaper pattern, moon phases rendered as woven ikat shapes, blurred-edge textile texture, stone grey ground with silver white and slate moons, rhythmic vertical arrangement, 24 inch repeat"},
+ {"id":"night-jungle","title":"Night Jungle","theme":"nocturnal jungle flora and fauna",
+ "inspiration":"Jungle Dream (theme only)",
+ "prompt":"seamless repeating wallpaper pattern, nocturnal jungle with tree trunks clearly represented branches jaguars and frogs among dense foliage, dreamy midnight charcoal ground with muted emerald and dusty pink, hand-illustrated, no birds, no butterflies, 24 inch repeat"},
+ {"id":"golden-pineapple","title":"Golden Pineapple","theme":"pineapple welcome",
+ "inspiration":"Piña Sola (theme only)",
+ "prompt":"seamless repeating wallpaper pattern, single elegant pineapples evenly spaced in offset grid, graphic flat illustration, charcoal ground with golden ochre fruit and green crowns, hotel-chic minimal, 24 inch repeat"},
+ {"id":"monstera-bungalow","title":"Monstera Bungalow","theme":"monstera leaves",
+ "inspiration":"Deliciosa (theme only)",
+ "prompt":"seamless repeating wallpaper pattern, monstera deliciosa leaves growing from clearly represented woody stems and branches, tropical bungalow style, warm cream ground with single-tone deep green leaves, flat graphic print, no birds no butterflies no bananas, 24 inch repeat"},
+ {"id":"painted-feathers","title":"Painted Feathers","theme":"folk feather stripes",
+ "inspiration":"Indian Summer (theme only)",
+ "prompt":"seamless repeating wallpaper pattern, stylized folk-art feathers arranged in flowing vertical bands, Scandinavian folk meets southwest style, sphinx sand ground with rust teal and cream feathers, flat print, 24 inch repeat"},
+ {"id":"tidepool-bloom","title":"Tidepool Bloom","theme":"sea anemone texture",
+ "inspiration":"Anemone (theme only)",
+ "prompt":"seamless repeating wallpaper pattern, abstract sea anemone tentacle clusters, textural organic dots and fronds radiating, soft zephyr blue-grey palette with blush centers, subtle sophisticated texture, 24 inch repeat"},
+ {"id":"mod-orbit","title":"Mod Orbit","theme":"mod geometric",
+ "inspiration":"Baby geometric (theme only)",
+ "prompt":"seamless repeating wallpaper pattern, mod 1960s geometric of interlocking circles and arcs, flat azzurro blue and white, crisp minimal graphic, perfect small-scale repeat, 24 inch repeat"},
+ {"id":"lost-continent","title":"Lost Continent","theme":"jurassic dinosaurs",
+ "inspiration":"Pangaea (theme only)",
+ "prompt":"seamless repeating wallpaper pattern, jurassic dinosaurs among volcanoes ferns and fossils with tree trunks clearly represented, kids adventure illustration, mineral grey-green ground with bone cream and rust, flat hand-printed style, no birds, 24 inch repeat"},
+ {"id":"plumbline","title":"Plumbline","theme":"micro pipe geometric",
+ "inspiration":"Pipes (theme only)",
+ "prompt":"seamless repeating wallpaper pattern, micro-scale geometric of connected pipe elbows and joints, modern minimal line work, aqua lines on soft white ground, precise architectural grid, 24 inch repeat"},
+ {"id":"lagoon-legends","title":"Lagoon Legends","theme":"mythic lake monsters",
+ "inspiration":"Mystic Lagoon (theme only)",
+ "prompt":"seamless repeating wallpaper pattern, friendly loch ness style lake monsters swimming through rippling lagoon water with reeds, storybook illustration, caribe teal ground with deep navy ripples and cream creatures, 24 inch repeat"},
+ {"id":"fungi-skyline","title":"Fungi Skyline","theme":"mushroom cityscape",
+ "inspiration":"Mushroom City (theme only)",
+ "prompt":"seamless repeating wallpaper pattern, whimsical city skyline made of mushrooms of fluctuating heights with tiny windows and doors, trippy botanical illustration, botanical green ground with cream coral and brown fungi, 24 inch repeat"},
+ {"id":"regatta-day","title":"Regatta Day","theme":"vintage speedboats",
+ "inspiration":"Boating (theme only)",
+ "prompt":"seamless repeating wallpaper pattern, vintage wooden speedboats cutting small wakes on calm water, Scandinavian folk illustration, hunter green ground with cream boats and blue water lines, flat screen print, 24 inch repeat"},
+ {"id":"arcade-memory","title":"Arcade Memory","theme":"retro handheld video games",
+ "inspiration":"Gameland (theme only)",
+ "prompt":"seamless repeating wallpaper pattern, imaginary 1980s handheld video game consoles with tiny pixel screens and buttons, flat graphic illustration, army olive ground with cream charcoal and red devices, evenly scattered, 24 inch repeat"},
+ {"id":"daily-dose","title":"Daily Dose","theme":"pop art capsules",
+ "inspiration":"Dynamic Dose / Brain Candy (theme only)",
+ "prompt":"seamless repeating wallpaper pattern, colorful two-tone medicine capsules floating in playful diagonal rhythm, pop-art graphic style, soft lavender ground with candy-colored capsules, flat crisp print, 24 inch repeat"},
+ {"id":"circle-fields","title":"Circle Fields","theme":"concentric circle geometric",
+ "inspiration":"Crop Circles (theme only)",
+ "prompt":"seamless repeating wallpaper pattern, concentric circles of varying sizes overlapping in offset grid, hand-printed geometric, glimmer metallic silver rings on warm white ground, subtle elegant, 24 inch repeat"},
+ {"id":"campfire-toile","title":"Campfire Toile","theme":"modern camping toile de jouy",
+ "inspiration":"Camping (theme only)",
+ "prompt":"seamless repeating wallpaper pattern, toile de jouy of idyllic modern camping scenes, tents canoes campfires pine trees with clearly represented trunks and hikers, single-color charcoal illustration on cream ground, fine engraved linework, no birds, 24 inch repeat"},
+ {"id":"dream-clouds","title":"Dream Clouds","theme":"graphic clouds",
+ "inspiration":"Clouds / Loveclouds (theme only)",
+ "prompt":"seamless repeating wallpaper pattern, simple graphic puffy clouds with occasional small hearts drifting between, modern nursery style, storm grey ground with white clouds and blush hearts, flat minimal print, 24 inch repeat"},
+ {"id":"bodega-cats","title":"Bodega Cats","theme":"NYC bodega cats (bird theme replaced)",
+ "inspiration":"Pigeon Slate (bird motif replaced with cats for compliance)",
+ "prompt":"seamless repeating wallpaper pattern, charming city bodega cats sitting and stretching among tiny storefront awnings and fire hydrants, NYC illustration style, slate grey ground with cream charcoal and mustard accents, flat print, no birds, 24 inch repeat"}
+]
diff --git a/data/designs.json b/data/designs.json
new file mode 100644
index 0000000..7967a17
--- /dev/null
+++ b/data/designs.json
@@ -0,0 +1,47 @@
+[
+ {
+ "id": "astral-tiger",
+ "title": "Astral Tiger",
+ "theme": "folk tiger among stars",
+ "description": "Star Tiger (theme only \u2014 original artwork)",
+ "size": "24\" x 25\"",
+ "created_at": "2026-07-22T19:18:28.830309+00:00",
+ "variants": [
+ {
+ "file": "astral-tiger-v1-nano.png",
+ "engine": "nano-banana",
+ "created_at": "2026-07-22T19:18:28.830828+00:00"
+ }
+ ]
+ },
+ {
+ "id": "midnight-frequency",
+ "title": "Midnight Frequency",
+ "theme": "retro audio electronics",
+ "description": "Analog Nights (theme only)",
+ "size": "24\" x 25\"",
+ "created_at": "2026-07-22T19:18:36.892674+00:00",
+ "variants": [
+ {
+ "file": "midnight-frequency-v1-nano.png",
+ "engine": "nano-banana",
+ "created_at": "2026-07-22T19:18:36.892712+00:00"
+ }
+ ]
+ },
+ {
+ "id": "robot-parade",
+ "title": "Robot Parade",
+ "theme": "classic toy robots",
+ "description": "Big Robots (theme only)",
+ "size": "24\" x 25\"",
+ "created_at": "2026-07-22T19:18:44.703698+00:00",
+ "variants": [
+ {
+ "file": "robot-parade-v1-nano.png",
+ "engine": "nano-banana",
+ "created_at": "2026-07-22T19:18:44.703723+00:00"
+ }
+ ]
+ }
+]
\ No newline at end of file
diff --git a/output/designs/astral-tiger-v1-nano.png b/output/designs/astral-tiger-v1-nano.png
new file mode 100644
index 0000000..c5794a4
Binary files /dev/null and b/output/designs/astral-tiger-v1-nano.png differ
diff --git a/output/designs/midnight-frequency-v1-nano.png b/output/designs/midnight-frequency-v1-nano.png
new file mode 100644
index 0000000..2d4f714
Binary files /dev/null and b/output/designs/midnight-frequency-v1-nano.png differ
diff --git a/output/designs/robot-parade-v1-nano.png b/output/designs/robot-parade-v1-nano.png
new file mode 100644
index 0000000..99c50ea
Binary files /dev/null and b/output/designs/robot-parade-v1-nano.png differ
diff --git a/scripts/batch_gen.py b/scripts/batch_gen.py
new file mode 100644
index 0000000..d579b6c
--- /dev/null
+++ b/scripts/batch_gen.py
@@ -0,0 +1,80 @@
+#!/usr/bin/env python3
+"""Batch driver: 3 variants per brief (1 nano banana + 2 local SDXL).
+
+Appends each finished variant into data/designs.json as it lands so the
+approval viewer streams results live. Safe to re-run: skips files that exist.
+
+Usage: GEMINI_API_KEY=... batch_gen.py [nano|sdxl|all]
+"""
+import json, os, subprocess, sys, time
+from datetime import datetime, timezone
+
+ROOT = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
+BRIEFS = os.path.join(ROOT, "data", "briefs.json")
+DESIGNS = os.path.join(ROOT, "data", "designs.json")
+OUT = os.path.join(ROOT, "output", "designs")
+SCRIPTS = os.path.join(ROOT, "scripts")
+
+def now():
+ return datetime.now(timezone.utc).isoformat()
+
+def load_designs():
+ try:
+ return json.load(open(DESIGNS))
+ except Exception:
+ return []
+
+def save_variant(brief, engine, fname):
+ designs = load_designs()
+ d = next((x for x in designs if x["id"] == brief["id"]), None)
+ if d is None:
+ d = {"id": brief["id"], "title": brief["title"], "theme": brief["theme"],
+ "description": brief["inspiration"], "size": '24" x 25"',
+ "created_at": now(), "variants": []}
+ designs.append(d)
+ if not any(v["file"] == fname for v in d["variants"]):
+ d["variants"].append({"file": fname, "engine": engine, "created_at": now()})
+ json.dump(designs, open(DESIGNS, "w"), indent=1)
+
+def run(cmd, timeout):
+ r = subprocess.run(cmd, capture_output=True, text=True, timeout=timeout)
+ if r.returncode != 0:
+ print(f" FAIL: {r.stdout[-200:]} {r.stderr[-200:]}")
+ return False
+ return True
+
+def main():
+ mode = sys.argv[1] if len(sys.argv) > 1 else "all"
+ briefs = json.load(open(BRIEFS))
+ os.makedirs(OUT, exist_ok=True)
+ nano_done = 0
+
+ if mode in ("nano", "all"):
+ for b in briefs:
+ fname = f"{b['id']}-v1-nano.png"
+ path = os.path.join(OUT, fname)
+ if os.path.exists(path):
+ save_variant(b, "nano-banana", fname); continue
+ print(f"[nano] {b['id']}")
+ if run([sys.executable, os.path.join(SCRIPTS, "nano_gen.py"),
+ b["prompt"], path], 180):
+ save_variant(b, "nano-banana", fname)
+ nano_done += 1
+ time.sleep(2)
+ print(f"nano complete: {nano_done} new images, est ${nano_done * 0.039:.2f}")
+
+ if mode in ("sdxl", "all"):
+ for b in briefs:
+ for i, seed in enumerate([101, 909], start=2):
+ fname = f"{b['id']}-v{i}-sdxl.png"
+ path = os.path.join(OUT, fname)
+ if os.path.exists(path):
+ save_variant(b, "local-sdxl", fname); continue
+ print(f"[sdxl seed {seed}] {b['id']}")
+ if run([sys.executable, os.path.join(SCRIPTS, "comfy_gen.py"),
+ b["prompt"], str(seed), path], 700):
+ save_variant(b, "local-sdxl", fname)
+ print("sdxl complete")
+
+if __name__ == "__main__":
+ main()
← cd1a0ff initial scaffold: comfy+nano gen scripts, approval viewer
·
back to Wild Wallcoverings
·
post-gen settlement vision gate script 09e5811 →