Product photography is one of the slowest and most expensive parts of running an online store. Every new item needs a shoot, clothing needs models to look its best, and lifestyle shots need props, a set and a photographer. For a small store, that cost adds up with every product they launch.
I built Product Studio to take a store from basic product photos to a finished listing without a photoshoot. Merchants upload the photos they already have, such as flat lays, hanger shots or simple mockups, and get back on-model and lifestyle images that are ready for their product pages. It runs inside the Shopify admin as an embedded app, so it works with any store theme and doesn't need a custom storefront.
On-Model Clothing Photos - Upload flat lays, ghost-mannequin or hanger shots and each garment is tried on a reusable house model, so a whole catalog uses the same face. Merchants can generate a model from a short description or upload a photo of their own model.
Print and Text Correction - Virtual try-on handles fit and drape well, but small printed text comes out garbled. When an image is saved, a second model redraws the garment's graphics and text from the original photo and leaves everything else alone. It's a per-photo option, so plain garments can skip it.
Lifestyle Scenes for Products - The background is removed automatically and the product is placed in a styled scene such as a spa shelf, bath ledge or marble counter, with the label artwork kept intact.
Review, Keep and Save - Each photo gets two variations. Merchants keep the ones they like and save them to an existing product, or have the app create a new draft product. Kept images survive a page reload, and a bulk action saves a whole batch at once.
Store-Ready Images and Copy - Saved images are upscaled for product zoom (2048px for scenes), and Claude writes alt text for each one. Claude can also draft a product description from the photos for the merchant to edit before it's applied, and it only describes what it can see, so it never invents materials or sizes.
Built with Shopify's React Router app template and Polaris web components, so it looks and behaves like the rest of the admin, and the Shopify Admin GraphQL API with generated types that validate every query against Shopify's schema. The image pipeline uses fal.ai for background removal, Nano Banana scenes, FASHN virtual try-on and Bria upscaling, and the Anthropic API for alt text and descriptions. Each provider sits behind one module, so swapping a model is a one-file change.
Results and keep choices are stored with Prisma on SQLite, old unkept results are cleaned up after a week, and Shopify's required privacy webhooks delete a store's data on request. It's deployed to Fly.io as a separate production app, with secrets kept out of the code and the server image. A finished on-model photo costs roughly 25 to 30 cents in API fees.
This project pushed me into multi-model AI pipelines, Shopify app development and handling the cases where AI output isn't good enough on its own. It's exactly the kind of practical, money-saving tool I want to build for e-commerce clients.






Shopify App (embedded)
React Router
TypeScript
Polaris Web Components
Shopify Admin GraphQL API
Prisma
SQLite
fal.ai
FASHN Try-On
Anthropic API
Docker
Fly.io
I would love the opportunity to work with you on your next project! If you're interested and want to start a conversation, reach out below.
Contact