How photo limits and regeneration work on Tryon

Photo Limits let you control who can generate try-on photos and how many each customer can produce in a given period. They work alongside your Image Credits (the store-wide monthly allowance) to keep usage predictable and prevent abuse — especially on links shared publicly. This article explains every option in the Photo Limits panel and the error messages your storefront can return when a generation is blocked.

Where to find the settings

Open E-commerce from the dashboard sidebar and click CONFIGURE on Step 4 — Photo limits. (In older versions, this section lived under Settings → Photo Limits.)

Photo limits page in E-commerce → Step 4, showing the Limit Period (Monthly), the Allow regeneration toggle, the Registered Customers toggle with a Photo Limit field, and the Guest Customers toggle with a shared Photo Limit field.

Limit Period

Defines the window used to count per-customer photo limits. Currently fixed to Monthly: every customer's counter resets on the same renewal date as your store-wide Image Credits.

Allow regeneration

Controls what happens when a customer tries to generate a photo for a product they have already tried on.

  • Off (default) — Tryon returns the existing photo from cache without consuming any credit. The customer cannot regenerate the same product/customer combination.
  • On — Tryon generates a fresh photo and consumes one Image Credit. Useful when customers want to retry with a different selfie or background.

Cache behaviour

With regeneration off, repeated try-on attempts on the same product are essentially free for your store — the customer always gets the cached result.

Registered Customers

Customers who have created an account in your store. Each registered customer has their own individual counter.

  • Toggle off — Registered customers cannot generate try-on photos at all.
  • Toggle on + Photo Limit number — Each registered customer can generate up to N photos per period (e.g. 10 per month).
  • Toggle on + Unlimited — Each registered customer can generate as many photos as your store-wide Image Credits allow.

Guest Customers

Anonymous visitors who haven't created an account. Their counter is shared across all guests of your store — not per individual.

  • Toggle off — Guests cannot generate try-on photos. They must register/log in (or the link won't work at all if registered access is also off).
  • Toggle on + Photo Limit number — All guests combined can generate up to N photos per period (e.g. 200 per month).
  • Toggle on + Unlimited — Guests can keep generating until your store-wide Image Credits are exhausted.

Enabling guest access may increase server costs. Because the limit is shared across all anonymous visitors, a viral Magic Link can burn through the quota quickly. Set a sensible cap when you go public.

How a generation request is checked

Every try-on request runs through these checks, in order. Failing any one of them blocks the generation and returns an error code:

  1. Store-wide Image Credits — there must be at least one credit left for the month.
  2. Customer-type enabled — the requesting customer's type (guest or registered) must be turned on.
  3. Per-customer / shared limit — the relevant counter must be below its configured limit.
  4. Regeneration policy — if a cached result exists, the response depends on the Allow regeneration setting.

Error messages returned when a generation is blocked

The table below lists every error code the try-on API can return for reasons tied to the Photo Limits configuration. The first column is the raw code your widget will receive; the second column explains what triggered it and how to recover.

Error code What it means / what to do
subscription_credits_not_found The platform could not load your subscription's monthly credit allowance. Usually a transient issue — retry shortly. If it persists, contact support.
subscription_images_limit_reached Your store has used all of its monthly Image Credits. New generations are blocked until renewal or until you upgrade your plan / add credits.
customer_credits_not_available No customer type is enabled for this kind of visitor. Open E-commerce → Step 4 (Photo limits) and turn on Registered Customers, Guest Customers, or both.
guest_require_login An anonymous visitor tried to generate a photo, but Guest Customers is off and Registered Customers is on. The widget should prompt the visitor to sign in or create an account.
guest_limit_reached The shared guest quota for the period has been used up. Guests will be blocked until the quota resets or you raise the limit / switch to Unlimited.
customer_limit_reached This individual registered customer has reached their personal photo limit for the period. They can come back after the reset or you can raise the per-customer limit.
regenerate_blocked The customer already generated a photo for this product and Allow regeneration is off. The cached image is intentionally not returned. Enable Allow regeneration if you want to let customers retry.
already_generated Not strictly an error — Tryon recognised the request as a repeat and returned the previously generated photo (because Allow regeneration is on or the cache was hit). No new credit is consumed.

Recommended starting configuration

  • Allow regeneration: Off — protects your Image Credits from being consumed by repeated attempts.
  • Registered Customers: On, Photo Limit of 5–10 per month. Generous enough that real shoppers don't hit it.
  • Guest Customers: Off if your store requires accounts. If you want public Magic Links, turn it on with a conservative shared cap (e.g. 100–500) and watch the dashboard for traffic spikes.

Changes take effect immediately

You don't need to wait for the next billing cycle. Saving the Photo Limits panel applies the new rules to the next generation request.