Guide

AI content label

Every try-on image the API returns is marked, inside the file, as made with AI. Here's what that label is, why it's there, and the one thing you still need to do yourself.

What's in the file

Each result image carries an XMP metadata block with the IPTC Digital Source Type property set to compositeWithTrainedAlgorithmicMedia. That's the standard IPTC term for an image that combines real photographs with content made by a trained AI model — which is exactly what a try-on is: a real photo of the shopper, with the garment rendered on by AI.

Because it uses an open, widely supported vocabulary, software that looks for AI provenance — photo tools, social platforms, content checkers — can read it without knowing anything about Clothsy AI. You can inspect it yourself with a metadata tool such as ExifTool:

Terminal
exiftool -XMP-iptcExt:DigitalSourceType result.jpg

The value it prints ends in compositeWithTrainedAlgorithmicMedia.

Why it's there

Laws are starting to require that AI-generated images can be recognised as such. Article 50 of the EU AI Act, for example, expects synthetic images to be marked in a machine-readable way. Labelling every result at the source helps you meet transparency duties like these without extra work on your side.

The label is always added and can't be switched off. It lives in the file's metadata, so it doesn't change how the image looks.

This page explains what the API does; it isn't legal advice. If you're unsure what applies to your store, check with your own adviser.

What you still need to do

The label is invisible, and there is no option for a visible watermark or badge on the image itself. Metadata is also fragile: re-encoding, resizing or compressing an image — which many CDNs, image optimisers and upload pipelines do automatically — can strip it. So don't rely on the file alone.

  1. Tell shoppers in your UI. Put a short caption next to every try-on image, such as “AI-generated try-on”. It's honest, it sets expectations about fit, and it works however the image is served.
  2. Say it in the alt text too, so people using screen readers get the same information.
  3. Keep the file intact when you copy it. resultUrl lasts 24 hours. If you save results for longer, store the bytes exactly as downloaded rather than re-saving them through an image library, so the label survives.
product-page.html
<figure class="tryon-result">
  <img src="RESULT_URL" alt="AI-generated preview of you wearing the Cropped denim jacket" />
  <figcaption>AI-generated try-on — the real fit may differ.</figcaption>
</figure>

This applies whichever way you integrate — plain HTTP, the TypeScript SDK, or your own UI built on the Next.js hook.