mesh-avatar-studio
Turn one illustration into an animated 2D mesh avatar with a coding agent and a local editor
Design and export App Store Connect screenshots, dual-device layouts, product page headers, and search creatives — entirely in your browser.
DesignTypeScript · JavaScriptGitHub @dyckdavidOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Loading the full README. The saved excerpt is shown below.
Browser tool that designs and exports App Store Connect marketing assets for iPhone, iPad, Mac, Apple Watch, plus product page headers, search results creatives, and dual-iPhone layouts.
Upload PNG/JPEG/WebP screenshots → design a consistent set (caption, fonts, templates, backgrounds, frames) → export individual PNGs or a ZIP of every selected size. All composition runs client-side.Read the full README ↗Browser tool that designs and exports App Store Connect marketing assets for iPhone, iPad, Mac, Apple Watch, plus product page headers, search results creatives, dual-iPhone layouts (all iPhone ASC sizes), and an MIT foldable iPhone Duo frame.
Upload PNG/JPEG/WebP screenshots → guided flow (upload → devices → style → AI review → export) → export individual PNGs or a ZIP. Composition runs client-side. Optional AI (Vercel AI Gateway + AI SDK, with direct xAI fallback) calls only from Next.js route handlers.
localStorage).With device frames on:
Covered by unit tests in src/lib/geometry.test.ts.
First-class across all iPhone ASC sizes (6.9″ / 6.5″ / 6.3″ / 6.1″, portrait + landscape), plus the Dual platform target. Variants: side-by-side, overlapping, tilted. Each device uses its own screenshot from the ordered set.
Added from bunlongheng/frames (MIT): closed, open-portrait, and open-landscape PNG bezels under public/frames/iphone-duo/.
Why this source: Hoverify and Screeny Duo PNGs disallow redistribution as an asset pack; jal-co/iphone-duo ships Apple’s GLB (not openly licensed for bezel redistribution). bunlongheng/frames is MIT and already used for MacBook.
Source: Screenshot specifications
Source: Creative assets specifications
| Placement | Aspect | Resolution used here |
|---|---|---|
| Product page header | 21:9 | 3840×1646 |
| Universal creative | 16:9 | 5244×2950 |
| Search results | 3:2 | 3840×2560 (Apple max) |
Images must be JPEG/JPG/PNG without alpha; this tool always encodes opaque RGB PNGs.
Real PNG bezels from open community sources (see NOTICE):
jonnyjackson26/device-frames-media)bunlongheng/frames)bunlongheng/frames)npm install
cp .env.example .env.local # optional AI keys
npm run dev
Open http://localhost:43123.
npm run test
npm run lint
npm run build
npm start
main is what Vercel builds.computerjunges — production app-store-screenshots-computerjunges.vercel.app. Pushes to main deploy production; PRs get preview deployments.| Variable | Required | Default | Purpose |
|---|---|---|---|
AI_GATEWAY_API_KEY | No* | (unset) | Vercel AI Gateway key (preferred for local + preview). |
VERCEL_OIDC_TOKEN | No* | (auto on Vercel) | OIDC auth for Gateway on Vercel deployments. |
XAI_API_KEY | No* | (unset) | Direct xAI fallback when Gateway creds are absent. |
XAI_RATE_LIMIT_PER_IP_PER_MINUTE | No | 5 | Max AI route calls per client IP per minute |
XAI_RATE_LIMIT_PER_IP_PER_DAY | No | 30 | Max AI route calls per client IP per UTC day |
XAI_RATE_LIMIT_GLOBAL_PER_DAY | No | 200 | Max AI route calls across all IPs per UTC day |
XAI_MAX_PROMPT_LENGTH | No | 500 | Max characters for image-generation prompts |
XAI_VISION_MAX_EDGE | No | 768 | Longest edge (px) for vision payloads |
XAI_VISION_MAX_BASE64_CHARS | No | 900000 | Server reject threshold for vision payloads |
*AI UI enables when any of Gateway key, OIDC, or XAI_API_KEY is present. If none are set, the rest of the app works and AI panels show exactly what to configure.
| Feature | Gateway model id | Notes |
|---|---|---|
| Background / graphic generation | spacexai/grok-imagine-image | ~$0.02 / image (xAI Imagine) |
| Vision / review / layout / copy | spacexai/grok-build-0.1 | Cheapest vision-capable Grok text model |
Integration: Vercel AI SDK (ai + plain provider/model strings). Server routes:
GET /api/ai/status — enabled flag, provider path, models, caps (never returns keys)POST /api/ai/generate-image — background / graphicPOST /api/ai/analyze — style suggestions from a screenshotPOST /api/ai/copy — multilingual headline/caption packsPOST /api/ai/layout — auto-pick best device layoutPOST /api/ai/review — scorecard + one-click fixesRate limits are in-memory per server instance. For multi-instance production, replace with Redis/KV.
Listed in the UI. Includes freeform canvas dragging, per-shot caption overrides, app-preview video, In-App Event creatives, cloud preset sync, and additional official marketing frame packs.