> ## Knowledge Base Index
> Fetch the complete knowledge base index at: https://customix.crisp.help/sitemap.xml
> Use this file to discover available pages before exploring further.
> Pure-Markdown content can be obtained by appending a '.md' suffix to the content URLs listed in the sitemap (without the trailing slash).

# Image Upload Personalization

The **Upload Photo** option lets customers upload their own image, such as a family photo, a logo, or a pet picture, and see it applied directly onto the product preview. It's the option merchants reach for whenever a product needs a customer-supplied image instead of typed text.

To add it, go to **Option sets** in the sidebar, open the option set for your product, click **Add option**, choose **Upload photo** under Image, then click **Add**. A placeholder upload layer appears on the preview canvas, and you can drag, resize, or rotate it into position on the product.

![Option sets in the sidebar navigation](https://lh3.googleusercontent.com/d/1Fi94DtB2pGMN0_8Y8lp11urCXocqzo6M=w1000)

![Add option button in the option set editor](https://lh3.googleusercontent.com/d/1z1l_jZ-PwtaK2plccT3wA_M8MO5ASt1u=w1000)

![Add option menu with Upload photo selected under Image](https://lh3.googleusercontent.com/d/1zz4RMvFUMt7NdgL80Wm8aP6799sWDAbm=w1000)

# Content

The **Content** section controls the label, guidance text, and upload requirements the customer sees.

* **Label**: the field name shown above the upload box, defaults to "Upload photo"
* **Help text**: optional instructions shown under the label to guide the customer
* **Note**: optional text shown inside the image cropper on the storefront
* **Min image width** and **Min image height**: minimum pixel dimensions an uploaded photo must meet, leave blank for no minimum
* **Required**: the customer must upload a photo before they can add the product to cart
* **Editable**: lets customers re-crop or reposition their photo after uploading, checked on by default

![Content panel with Label, Help text, Note, Min image width and height, Required, and Editable fields](https://lh3.googleusercontent.com/d/1PVfUsoSfIhlG1hKpSDSZvJ0fDkyPZnv3=w1000)

# Mask

The **Mask** section controls what shape the uploaded photo gets cropped into.

* **Upload Custom**: upload your own mask file to crop the photo into a custom shape
* Or select a preset shape: heart, star, circle, triangle, diamond, hexagon, pentagon, or octagon

![Mask panel with Upload Custom and the eight preset shapes](https://lh3.googleusercontent.com/d/1vCJ2QX5NBww_RMuOwoh-m2D3uiLhdKfN=w1000)

# Filters & effects

The **Filters & effects** section controls how the uploaded photo is rendered once cropped.

* **Image color**: choose **Full Color**, **Grayscale**, or **Single Color** mode
* **Image mode**: choose whether the photo **Fit**s inside the layer bounds or **Fill**s it completely
* **AI Filter**: apply an AI-generated style filter to the photo
* **Effects**: add extra visual effects via **Add Effect**, none are applied by default

![Filters & effects panel with Image color, Image mode, AI Filter, and Effects](https://lh3.googleusercontent.com/d/1jiImG2mMHKMsx6u6FOcCaw7uZdzyl1zp=w1000)

# Transform

Fine-tune the upload layer's width, height, X/Y position, skew, opacity, and rotation, the same controls available on every other layer type, to nudge it into exactly the right spot on the mockup.

![Transform panel with Width, Height, X, Y, Skew X, Skew Y, Opacity, and Rotation fields](https://lh3.googleusercontent.com/d/1FMkKdn2NmBl_uKnUqYmR9mG06j-8SmkX=w1000)

Like most option types, Upload Photo also supports conditions, so you can show or hide it based on another selection elsewhere in the option set. See the Conditional Option Sets guide if you want to set that up.

> 📌 Don't forget to click **Save** once you're happy with the setup, and make sure the option set's status is **Active** (not Draft). Customers won't see the Upload Photo option on your storefront until both are done.