Reprise
by tepesama
README.md
# Reprise — un-flatten any flat AI design into editable layers
[](https://reprise.design)
[](https://tepesama-reprise-mcp.hf.space/)
**You made a great design with AI. Then you needed to change one word — and you couldn't, because it's a flat PNG.**
Reprise turns that finished, flat AI design (ChatGPT / Midjourney / Claude / etc.) **back into editable layers** and rebuilds it **bit-perfect** — and it returns a measured fidelity score, so you can *verify* the reproduction instead of trusting a claim. Reproducing runs locally and free; from there you can remix one design into a whole campaign.
It's built for agents, too: this repo is a **remote MCP server**, so Claude / Cursor / any MCP client can call `reproduce` / `autodetect` / `diagnose` directly.
---
## Try it now (no signup)
**Browser:** open **<https://tepesama-reprise-mcp.hf.space/>** → the **“Try it”** tab → drop a flat design (or click the sample). You'll see it un-flattened into layers, plus the fidelity score.
**From your agent (MCP):**
```bash
claude mcp add --transport http reprise https://tepesama-reprise-mcp.hf.space/gradio_api/mcp/http
```
Endpoints: `/gradio_api/mcp/http` (streamable-HTTP) · `/gradio_api/mcp/sse` (SSE) · `/gradio_api/mcp/schema`
Listed on the official MCP registry as **`design.reprise/reprise`**.
## Tools
| Tool | What it does |
|------|--------------|
| `reproduce(image)` | Un-flatten a flat design into editable layers and reproduce it bit-perfect. Returns a fidelity score (MAE / PSNR / exact-match % / stray px). |
| `autodetect(image)` | Detect the elements (subjects and text) in a design as relative bounding boxes. |
| `diagnose(original, reproduction)` | Score how faithfully a reproduction matches an original. |
`image` is an `http(s)` URL or a base64 data URL.
## How it works
Instead of asking a model to **regenerate** the image (which drifts and never comes back the same), Reprise keeps your **original pixels**:
1. **Detect** the elements in the design.
2. **Lift** each element out onto its own transparent layer.
3. **Inpaint** the gaps to make a clean background "plate".
4. **Recompose** losslessly — because untouched regions are literally the original pixels, the rebuild is bit-perfect (**MAE 0.00, 0 stray pixels**), and `diagnose` returns that score so you can check it.
Once it's layered, you can swap copy/colors and mass-produce on-brand variants with the layout fixed.
## Honest by design
- **Reproduction and *unedited* layers are bit-perfect** (0.00 MAE).
- When you **edit** a region (swap a subject, change a product), that region is **newly generated** — not pixel-identical. We measure everything so we never overclaim.
- **Auto element-detection is v1** (rembg + OpenCV); it can miss small text. Manual element maps are supported.
- Export today is **layered SVG + transparent PNGs** (PSD export not yet).
## About this repo
This is the **public MCP wrapper** for Reprise (`app.py` is the thin server surface). The reproduction **engine itself is proprietary** and is loaded privately at build time, so it isn't included here. The wrapper is published openly for transparency and so the MCP interface can be relied on.
- Product & early access: **<https://reprise.design>**
- Live demo / MCP host: **<https://tepesama-reprise-mcp.hf.space/>**
Found an image that breaks it? Open an issue with the image — hardening auto-detection (toward SAM2-class) is the top of the roadmap.
This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessNo issues