# Watermark checks with OpenAI

agh can check each new image and audio delivery for OpenAI's invisible watermark, and show what it found in review beside the file's metadata. A file declared `human` that carries the watermark gets a warning before anyone accepts it. Watermark checks come with the **Studio** and **Enterprise** plans. Each check is made with your own OpenAI account.

## What it finds, and what it doesn't

OpenAI marks images and audio its tools make with **SynthID**, a watermark hidden in the pixels or the sound that survives cropping, compression and most edits. Images from OpenAI also carry **Content Credentials** (C2PA), signed metadata. agh sends each delivery to OpenAI's content provenance check, which looks for both on images and for SynthID on audio.

The check only finds OpenAI's own signals. Google, ElevenLabs and other services use SynthID too, but OpenAI's check doesn't read their watermarks, and most AI tools add none at all. So **not found** says nothing about how a file was made; treat a found watermark as a strong clue and a missing one as no clue. Google's SynthID Detector and ElevenLabs' AI speech classifier are web pages you can try by hand.

## Turn it on

1. Make an API key at [platform.openai.com](https://platform.openai.com) under **API keys**.
2. In agh, an admin opens **Settings › Connectors › OpenAI watermark checks**, pastes the key and chooses **Connect**. agh checks the key with OpenAI before keeping it, keeps it in the server's secret store, and shows only its last four characters.
3. Leave **Check deliveries for SynthID watermarks** on, or turn it off and choose **Save** to stop checking.

The card shows how many deliveries agh checked this month. Files go to OpenAI only for the check. **Disconnect** removes the key and stops the checks; results already recorded stay on their files.

## In review

New image and audio deliveries (not SVG) are checked once, in the background, so a delivery never waits for OpenAI. The result is the first line of the **Metadata** panel under the preview:

- **checking…** while OpenAI looks. The card updates by itself when it finishes, and you can accept or reject meanwhile.
- **not found**: OpenAI found none of its signals.
- **watermark found**, with the model it names when it names one. The panel opens, and a file declared `human` gets the same warning box as metadata that says AI. Ask whoever delivered it, or correct it under **Record as** before accepting.
- **couldn't check**, with the reason: OpenAI rate limiting, a key it refused, or a file over 50 MB. **Try again** appears when trying again might help.

`agh show <asset-id> --format json` prints the result as `pending.watermark`.

## Below Studio

On other plans the Metadata panel of images and audio waiting for review shows a locked line with this guide, and metadata clues work as before. [Ask us to upgrade](/support).
