Pricing & billing
What does it cost?
Free for the first 50 uploads per month. Then Starter $9 / Pro $19 / Studio $39 per month, billed through Shopify. 14-day free trial on every paid plan. Members of the Maker Growth Hub get Studio comped — your store domain is auto-detected.
Do you take a cut of my sales?
No. Flat monthly fee, nothing per-transaction. The per-file upload fees you charge customers go 100% to you. We only see the count of uploads to enforce your plan limit.
Is there a free tier?
Yes. 50 customer uploads per month, every storage backend, AI moderation included, and the storefront block. The Free tier is for testing the workflow on real orders before you commit.
Where do I manage my subscription?
Inside the app: Plan & billing. Clicking any upgrade button takes you to Shopify's standard pricing page — that's where you confirm the trial, change tiers, or cancel. Your subscription record lives with Shopify alongside every other app you've installed, so you can manage it from the same place.
Can I get the app free as a Maker Growth Hub member?
Yes. Active Hub members get Studio tier comp'd automatically — your shop domain is auto-detected and you'll see a "You're on the Hub-comp tier" banner in Plan & billing. No Shopify subscription is created, no charge, no trial countdown. Studio features are unlocked the moment you install. If you ever leave the Hub, the app falls back to whichever paid plan you subscribe to (or Free if you don't subscribe).
What it actually does
What problem does PartyKit Uploads solve?
Custom-print and made-to-order merchants need customers to send artwork. Today that happens by email after the order, or via a clunky checkout extension. PartyKit lets the customer attach files directly on the product page before they add to cart — with quality validation, content moderation, and per-file fees that charge automatically at checkout.
Does it work for my product type?
If your customer brings the artwork, yes. We've shipped this for UV printers (EufyMake E1, xTool O1 Omni, OMTech Spectra, LogoJet, Mimaki), DTF apparel printers (xTool Apparel Printer, OMTech Aurora), hat-bar party hosts, sublimation/DTF apparel, designers selling prints, laser engravers, photographers, sign makers, sticker shops, phone case customizers, pet portrait artists, and photo book makers. The block is product-type agnostic — what changes per product is the rules (file types, slot labels, fees, quality thresholds).
How is this different from UploadKit?
Same core upload experience. PartyKit adds AI content moderation (free, in-browser), print-quality scoring, a hold-for-review queue, per-file fees that actually charge via Shopify Functions, bring-your-own S3 or R2 storage, and sidecar JSON metadata for downstream AI workflows. Pricing is $9-39/mo vs UploadKit's $9.95-24.95/mo for fewer features.
Storage & files
Where do uploaded files go?
By default: Shopify Files. They live with the rest of your store assets and are served from Shopify's CDN. On the Studio plan, you can redirect uploads into your own AWS S3, Cloudflare R2, Google Drive, or Dropbox — useful for high-volume shops or when your fulfillment workflow expects files in a specific bucket.
Can I use my own Google Drive, Dropbox, or S3?
Yes — on Studio. Settings → Storage backend → connect Google Drive or Dropbox (OAuth), or AWS S3 / Cloudflare R2 (keys). Your credentials are AES-256 encrypted. Every upload lands in a tidy, predictable per-day folder — like uploads/2026-06-01/ — so artwork never piles into one giant directory and your team (or your RIP) can find an order's files instantly. Alongside each file we drop a sidecar JSON with everything about it (filename, dimensions, MIME, byte size, print-quality score, the customer's order + line-item, moderation status, timestamp). It's your bucket, your folders, your files — we just keep them organized.
What's the sidecar JSON — and how does it power AI workflows and automation? (Studio)
This is one of the biggest differentiators. On Studio, every upload writes a small JSON file right next to the image in your own Drive / Dropbox / S3, carrying the full context: filename, dimensions, MIME, byte size, print-quality score, the customer's order and line-item IDs, moderation status, and timestamp. Because that context lives next to the file, anything you already run can act on it with zero glue code: a RIP hot folder that auto-imports print-ready files, an automation (Zapier, Make, n8n, or a cron script) that routes by product, prices by size, or flags low-quality uploads, or an AI pipeline that upscales, removes backgrounds, or vectorizes — all keyed off the sidecar, without ever opening the image or calling our API. It turns "a folder of customer files" into a structured, automation-ready feed. (PartyKit AI Studio, coming next, will ship pre-built skills for exactly this, on your own AI provider keys.)
What file types are supported?
PNG, JPEG, WebP, PDF, and SVG. Vector / SVG files are first-class and sanitized server-side, so laser, vinyl, and engraving makers can accept the native cut files their machines need — safely (see the security section below). You can restrict types per product — e.g. SVG/PDF only for laser engraving, JPG-only for sublimation. Max file size defaults to 20MB (Shopify Files cap); larger on BYO storage backends.
What happens to files if I uninstall the app?
Per Shopify policy: when you uninstall, we receive a webhook and have 30 days to delete all data we hold. We immediately delete the metadata records in our database. For files in Shopify Files we leave them in place (they're your store assets). For BYO backends, we don't touch your bucket — your data stays in your control.
AI moderation & quality
How does AI moderation work?
Tier 1 (free, default-on): NSFWJS runs in the customer's browser before the file is uploaded to your server. It catches obvious NSFW content — porn, gore, etc. — and either blocks the upload or routes it to your hold-for-review queue based on your settings. The customer's browser does the work, so there's no cost to you and the file never leaves their device if it's blocked.
Do you (or the merchant) see images customers upload for moderation?
No. The NSFW check runs entirely in the customer's own browser, before anything is uploaded. An image the filter blocks is rejected on the customer's device — it never reaches the store, our servers, the storage backend, or any uploads queue. We don't send images to any third-party moderation service for this check.
Does AI moderation cost extra?
No. The default NSFWJS classifier is free and runs in-browser. The optional bring-your-own AI key for advanced moderation (custom categories, brand-specific filters) is on the roadmap for PartyKit AI Studio — you'd pay your AI provider directly, we never see the bill.
What's the print-quality scoring?
Before the customer adds to cart, we check the file dimensions against a minimum you set per product (e.g. 1200×1200 pixels, 200 DPI). If the file is below the threshold, we either warn the customer ("this may print blurry, are you sure?") or block the upload entirely — your choice per product. Stops the "customer uploads a 400px logo and expects sharp 4-inch print" disaster.
Customer experience & theme compatibility
Does this work with my theme?
Yes. We ship a Theme App Extension that drops into any modern Shopify theme via the theme editor — no code edits required. Tested against Dawn, Sense, Studio, Refresh, Crave, and most popular third-party themes. The block inherits your store's typography automatically and the accent color is configurable per the theme editor.
Will it slow down my product pages?
The block adds about 22 KB of compressed JS to the page. The image-cropping and AI moderation libraries lazy-load from a CDN only when the customer actually clicks Upload — so the typical visitor who doesn't customize pays zero perf cost.
Do customer-facing file URLs leak in receipts?
No. We pass the URL as an underscore-prefixed line property (_artwork_url_*), which is hidden from the customer-facing cart, checkout, and order confirmation displays. The merchant sees it in the admin file browser; the customer just sees the filename. Same convention for any private order metadata.
Privacy, GDPR, and customer data
How do you handle GDPR?
We subscribe to Shopify's three mandatory compliance webhooks: customers/data_request, customers/redact, shop/redact. When a customer requests their data, we produce a structured report of every upload tied to their orders. On redact, we hard-delete the customer's upload records AND best-effort purge associated files from your storage backend (Shopify Files, S3, R2, Drive, Dropbox). Documented in our Privacy Policy.
What customer data do you store?
Just what we need to link uploads to orders: order ID, line item ID, cart token. We don't store customer names, emails, phone numbers, or addresses. Customer PII you see in the admin file browser is pulled live from Shopify's API at view time — we never cache it.
Security & file safety
Can my customers upload SVG or vector files — and is that safe?
Yes, and safely. SVG / vector is first-class, which matters if you run a laser, vinyl-cutting, or engraving shop where the cut file IS the order. Most upload apps block SVG because it can hide embedded script tags, event handlers, or javascript: URLs — a real cross-site-scripting (XSS) risk. PartyKit accepts SVG AND sanitizes every one server-side with DOMPurify before it's stored or shown: scripts, event handlers, foreign-object elements, and javascript: URLs are all stripped out. Your customers send the native vector files your machine needs, and the bytes that reach your storage and admin are guaranteed clean. You can also lock accepted file types per product, so an SVG-only laser product won't accept a random JPEG.
How secure are customer file uploads? Is PartyKit safe for my store?
Security is built in, not bolted on. Every upload runs through: server-side MIME magic-byte verification (we read the real bytes, not the claimed file type, and reject spoofed files); SVG sanitization (above); per-cart and per-shop rate limiting to stop upload-endpoint abuse; SSRF protection with manual redirect-walking and private-IP blocking on every server-side fetch; HMAC verification on every storefront request via Shopify's app proxy; and AES-256-GCM encryption for any storage credentials you connect. Optional in-browser NSFW moderation adds a content layer on top. It's hardening most upload apps skip — built for maker shops that can't afford a malicious file reaching their store or their printer.
Is it safe to let customers upload files to my Shopify store at all?
It is when every file is treated as untrusted — which is exactly how PartyKit is designed. Uploaded files never execute on your store: images and PDFs are stored as static assets, SVGs are sanitized, file types are validated by their real bytes, and uploads are rate-limited and HMAC-verified. Combined with GDPR-compliant data handling (we hard-delete on redact and store no customer PII), it's a safe, compliant way to collect customer artwork without opening your store to abuse.
Per-file fees
How do per-file fees work?
On any product, set a fee per upload (e.g. $2 per artwork file) plus optionally a per-MB fee (e.g. $0.10 per MB for oversized files). When the customer uploads, our Shopify Function injects a cart line item for the calculated fee. Customer pays at checkout. You see the fee as a normal line in the order. Tax handling is automatic.
Can fees vary by product?
Yes. Per-product configuration: a $2 fee on hat patches, a $5 fee on canvas prints, free uploads on sticker sheets. Each product has its own rule. Per-MB fee is optional add-on on top of the flat fee.
What about subscription products or one-off custom orders?
Per-file fees work on any product type Shopify supports — physical, digital, subscription, custom. The fee is a separate line item, so it follows whatever billing logic the parent product uses.
UV & DTF printing equipment
Does PartyKit Uploads work with the EufyMake E1 UV printer?
Yes — in the sense that matters. PartyKit handles the part the E1 doesn't: collecting the customer's artwork on your Shopify product page, checking it's high-resolution enough to print sharp, screening it for inappropriate content, and dropping the print-ready file into Shopify Files or your own Google Drive / Dropbox / S3. You then pull that file into eufyMake Studio to print. PartyKit is the "get a good file from the customer" step; your E1 is the "put it on the product" step. Together they turn a Shopify product page into a hands-off custom-print order pipeline.
How do I collect print-ready files for UV printing on Shopify?
Add the PartyKit block to your product page in the theme editor, then set the rules for that product: accepted file types (PNG / PDF / SVG for UV work), a minimum resolution so nobody sends you a 400px logo expecting a crisp 4-inch print, and an optional per-file design fee. The customer uploads before they add to cart, PartyKit validates and moderates the file on the spot, and you get a clean asset tied to the order — no back-and-forth emails chasing artwork after the sale.
Can I make sure customers upload artwork big enough for my printer?
That's exactly what print-quality scoring is for. Set a minimum pixel dimension per product (e.g. 1500×1500 for a 5-inch UV-printed coaster) and PartyKit either warns the customer their file may print blurry or blocks it outright — your call. You stop eating reprints and refunds caused by low-res customer files, which is the single biggest hidden cost in custom UV printing.
What UV and DTF printers does PartyKit work with?
All of them — including machines that haven't shipped yet. PartyKit never talks to your printer, so there's nothing to "make compatible": its job is upstream of the print step — collect the customer's file, validate it, moderate it, and hand off a clean image to whatever software drives your printer. If your printer can take a standard PNG, PDF, or SVG, PartyKit works with it, the day it lands on your bench. Makers run it with UV printers like the EufyMake E1, the xTool O1 Omni, and the OMTech Spectra; commercial UV units like LogoJet's UVx45i, UVx40R PLUS-SE, UVx90i, and UVx90R-SE, or a Mimaki UJF-3042 MkII e / UJF-6042 MkII e flatbed with RasterLink; and DTF apparel printers like the xTool Apparel Printer and OMTech Aurora. On the Studio plan you can route uploads straight into a specific S3 bucket, R2, Drive, or Dropbox folder, with a sidecar JSON file alongside each upload (filename, dimensions, order number, quality score) so your RIP or fulfillment step knows everything about the file without opening it.
How do I make money with a UV printer like the EufyMake E1?
The makers who profit treat custom uploads as a revenue line, not a free add-on. Two levers PartyKit gives you: (1) charge a per-file design fee at checkout — $2–5 per uploaded artwork adds up fast and covers your file-prep time; (2) eliminate the reprints that quietly kill UV-printing margins by enforcing minimum resolution before the order is placed. Price the product for the blank, charge the fee for the customization, and let the app handle the file logistics so you're printing instead of emailing customers for better artwork.
What file format does my UV printer need, and can PartyKit enforce it?
UV workflows usually want PNG with transparency or vector PDF / SVG for clean edges and white-ink layers. DTF workflows want a transparent PNG so your RIP can build the white underbase. PartyKit lets you lock accepted file types per product, so a customer literally can't add to cart with the wrong format. That means every file that reaches your printer is already in a format your software can rip — no converting JPEGs with baked-in white backgrounds at the press.
Does it work for DTF apparel printing?
Yes. DTF (direct-to-film) needs a clean, high-resolution design — usually a transparent PNG — that your RIP turns into a film transfer with a white underbase. PartyKit collects exactly that on the product page: it enforces transparent PNG, checks the resolution is high enough to print crisp on a shirt or hoodie, and screens the artwork before it reaches your queue. Whether you're on the xTool Apparel Printer, the OMTech Aurora, or a roll-to-roll DTF setup, you get a print-ready file tied to the order instead of chasing customers for usable artwork after the sale.
Getting started
How long does it take to set up?
~10 minutes for a first product. Install from the App Store, add the block to your product template in the theme editor, open the embedded admin to configure file rules + photo guidelines for one product. Test on a draft order before going live. See our Getting started guide for a step-by-step walkthrough.
Do I need to update my store's privacy policy?
Because customers upload files — which can include personal photos — it's good practice, and in many regions required, to disclose this in your own store privacy policy. Our Getting started guide includes suggested starting copy you can adapt for customer file uploads (and a note that it's a convenience, not legal advice — you're responsible for your own compliance).
Can I migrate from UploadKit / Uploadery / File To Inbox?
Migration is mostly a per-product config rebuild — we don't import existing upload history. The customer-facing experience is similar enough that you can swap apps on a Tuesday morning without merchant retraining. Most teams keep both apps installed for a week and dual-write until they're confident.
Where can I get help?
Email support directly (see the Support page), or hit us on the Maker Growth Hub Discord if you're a member. We aim to respond within one business day. Bug reports get priority over feature requests.
Still have a question?
Email support (linked from our Support page) or open a thread on Maker Growth Hub Discord. We answer within one business day.