skill
split-image-style
Make a single image that's half photograph, half re-rendered in another style (polygon, charcoal, constellation, blueprint), aligned across a seam. Powered by Gemini.
Set up
Skills are installed by placing their folder where your agent loads skills.
The download comes from github.com/Sawyer-Middeleer/split-image-style itself, not from our server, so what you get is exactly what its author published.
Install instructions come from the README
README
synced Oct 22, 2026split-image-style
Make a single image that's half photograph, half re-rendered in another style — polygon mosaic, charcoal on canvas, a constellation star-chart, a blueprint — with the two halves lined up across a seam so the subject stays continuous.
The reason it works: it composites two aligned generations rather than asking a model to imagine the split in one shot. One-shot prompting drifts — the subject wanders off-center, a border creeps in, the halves stop matching. Here you generate a base photo, generate a same-composition replica in the target style, and merge them behind a mask you control. Sharing one composition is what keeps them aligned.
How it works
- Base — generate a photo (subject centered, full-bleed).
- Replica — feed that exact base back in and re-render it in the target style at identical composition.
- Composite — merge across a seam (hard or feathered; straight or following the subject's own silhouette).
Install
Requires Python 3.9+.
git clone https://github.com/Sawyer-Middeleer/split-image-style && cd split-image-style
pip install -r requirements.txt
Set your Gemini API key (get one here):
export GEMINI_API_KEY=... # macOS / Linux
$env:GEMINI_API_KEY = "..." # Windows PowerShell
# or, cross-platform: cp .env.example .env and fill it in
Uses Google's Gemini image models (Nano Banana). The default gemini-3-pro-image
gives the best results; pass --model gemini-3.1-flash-image to iterate more
cheaply. Image-generation availability can vary by region — see Google AI Studio.
Use it
python shatter.py \
--subject "a vintage clipper ship centered on open ocean, a lighthouse island far left, a buoy near right; painterly analog photograph" \
--seam vertical --original left --feather 0 \
--out ship.png
Four inputs
| Input | Flag |
|---|---|
| Subject to generate, or an existing photo | --subject "..." / --base-image photo.jpg |
| How the stylized half looks (any medium) | --style "..." — defaults to a polygon mosaic |
| How the halves meet | --seam vertical|horizontal|silhouette + --feather N |
| Which side stays photographic | --original left|right|top|bottom |
Plus --base-style, --square, --frac, --model, --keep. See
references/shatter-composite.md for the full guide.
The --style is anything
The stylized half is just a prompt. A few that work well:
# charcoal on canvas
--style "a charcoal and graphite drawing on textured cotton canvas — smudged shading, visible paper tooth, loose expressive strokes"
# constellation star-chart (great with --seam silhouette for a sky-subject)
--style "an antique celestial constellation star-chart — connected star-lines, glowing amber stars, blue linework on a midnight sky"
# blueprint
--style "a cyanotype blueprint — white line-art on a deep prussian-blue ground"
| Charcoal on canvas | Constellation over a real ridge |
|---|---|
Seam modes
- vertical / horizontal — a straight seam; feather it for a dissolve.
- silhouette — the seam follows the base's own skyline. Put the photo below a
real foreground ridge (
--original bottom) and a styled subject in the sky above it. See the constellation whale above.
Files
shatter.py— the CLI entry point; one-command orchestrator (base → replica → composite).composite_split.py— the mask/composite library + CLI (use directly if you already have a base and a replica).generate.py— thin Gemini image wrapper.SKILL.md— packages this repo as an agent skill (e.g. for Claude Code). Ignore it if you're just using the CLI.
Cost & responsible use
- Cost. Each run calls the paid Gemini image API twice (base + styled
replica), or once with
--base-image. The defaultgemini-3-pro-imageis the highest-quality, priciest tier — use--model gemini-3.1-flash-imageto iterate. - Synthetic media. Generated people are not real. Don't present outputs as genuine photographs of real individuals or use them to impersonate anyone. Gemini image output carries an invisible SynthID watermark.
License
MIT — see LICENSE. Issues and PRs welcome.