Feature
A full design system controlled from code.
Wrap real captures in real, clay, or flat device frames and style the whole set with JSON tokens. No screenshot editor in the loop.
Frames stay deterministic
Choose device.frame.style: real for photoreal bezels, or clay and flat for stylized frames with an optional brand tint. Bodies cover iphone-16-max, pixel-9-pro, and ipad, with dual-layer shadows tuned to background luminance and optional 3D tilt per slide.
Your real UI is composited pixel-exact and never regenerated by AI. The renderer handles crop, safe area, and scale so the same request reproduces the same pixels every run.
Presets carry the brand system
Named presets like aurora-midnight set a complete look (background, typography, frame style, shadows) in one token. Theme overrides lock set-wide tokens on top: mesh and aurora gradients, photo backgrounds with scrims, 13 pattern types, 8 webfont headline treatments, and a brand accentColor with a WCAG auto-contrast guard.
Styling cascades preset → theme → slide, so a consistent campaign still allows per-slide overrides, multi-device compositions (dual-phone, phone + iPad), and caption-top or caption-bottom layouts.
{
"preset": "aurora-midnight",
"canvas": { "preset": "appstore.iphone_6_9" },
"theme": {
"accentColor": "#5EEAD4",
"headline": { "treatment": "grotesk", "align": "center" },
"device": {
"id": "iphone-16-max",
"frame": { "style": "clay", "tint": "#0F172A" },
"shadow": { "elevation": "medium" }
},
"captionPosition": "top"
},
"slides": [
{
"role": "hook",
"headline": { "lines": ["Track every habit", "in one tap"], "accent": "one tap" },
"screenshot": { "url": "https://acme.app/shots/home.png" }
}
]
}API details
Frames device.frame.style = real, clay, flat (+ tint)
Preset preset = aurora-midnight and other gallery looks
Tokens background, pattern, grain, accentColor, headline treatment, shadow, tilt
Use it in a release pipeline
Render the set from CI with POST /v1/renders, check the compliance lint report, then download the finished images for review before App Store Connect or Google Play upload.