Calabi Labs · Guide · 2026-06-14

Ai image describer

Ai image describer

A good AI image describer tells you what's in an image. But the more urgent question — especially if you're posting AI-generated work — is what an image reveals about itself to platforms like Instagram, TikTok, and Reddit. Those platforms don't read images the way humans do. They scan the metadata layer underneath, and that's where AI-generated files are most exposed. Here's what actually gets detected, and how to clean it.

What actually gets flagged

Platforms don't flag AI images because they look fake. They flag them because the file's metadata says "AI-generated" in fields you can't see. Here's the specific layer they scan:

C2PA / Content Credentials — This is the big one. C2PA (Coalition for Content Provenance and Authenticity) embeds a cryptographic manifest called a JUMBF box directly into image files. It contains a machine-readable record: who made the file, what tool generated it, and whether AI was involved. OpenAI, Midjourney, Adobe Firefly, and most major AI image tools now sign their exports with C2PA Content Credentials by default. A file exported from ChatGPT, DALL·E 3, or Midjourney carries this manifest automatically. Platforms like Instagram and Adobe Libraries read this manifest on upload and apply a "Made with AI" label.

DigitalSourceType: trainedAlgorithmicMedia — This is an IPTC XMP metadata tag. The IPTC — the same organization that defines standard photo metadata worldwide — specifically created this tag to label images produced by trained AI models. Google Merchant Center requires it on AI-generated product images. Meta reads it and uses it to apply AI content warnings. It's stored in the XMP packet of a JPEG or PNG file, completely invisible in normal viewing.

Encoder fingerprints in the image data — Even if you strip every metadata tag, the pixel compression itself can betray an AI origin. Video files carry this most visibly: Lavc (the FFmpeg encoder) and x264 SEI (supplemental enhancement information) units embedded in H.264 streams are strong signals of AI video generation. Still images carry less obvious but still detectable encoder signatures.

Missing capture metadata — A real phone photo has GPS coordinates, a capture timestamp, a device make/model, and software version in its EXIF data. AI exports have none of this. The absence itself is a signal.

Why the obvious fixes fail

You might try to outrun detection by cropping, screenshotting, or re-saving the file. Here's why those approaches don't work on the metadata layer:

Cropping removes visible artifacts — like a visible "AI-generated" watermark stamp in the corner of a Sora export. It does not remove the JUMBF/C2PA manifest embedded in the file structure, the DigitalSourceType XMP tag, or the encoder fingerprints baked into the compression layer. Those survive cropping because they're not stored in the pixels — they're stored in the file's metadata container. Platforms scan the file container, not just the visible image.

Screenshotting forces the image through your device's screen compositor and re-encodes it. This removes some metadata, but platforms have gotten smarter. They'll flag based on compression artifacts, missing GPS/timestamp, and — on platforms that re-upload your screenshot — they may simply re-apply the AI label based on the original file still in their system.

Re-saving in Photoshop or Preview strips some EXIF data, but it doesn't touch the C2PA manifest if one is present, and it adds its own software signature (Adobe Photoshop, Apple Photos) that itself can be a signal. You end up with a file that looks edited, not a file that looks like it was captured on a phone.

The core problem: the detection layer is invisible metadata, not visible pixels. Photo editing tools — inpainting, content-aware fill, clone stamp, crop — operate on pixels. None of them reach the metadata container. That's why you need a different kind of tool.

How Calabi actually handles it

Calabi works on the metadata layer, not the pixel layer. It runs a single automatic pipeline with three stages:

  1. Strip — Calabi removes every AI-detection signal from the file: all JUMBF/C2PA atoms (reducing C2PA references from 18+ to 0), the DigitalSourceType: trainedAlgorithmicMedia XMP tag, generator/tool metadata, and encoder fingerprints. A raw AI export carrying ~144 metadata tags gets reduced to about 94 neutral structural tags.
  1. Inject — Calabi writes authentic phone-capture identity into the file: a real device profile (iPhone 15 Pro, Pixel 8 Pro, Galaxy S24 Ultra), GPS coordinates, a capture timestamp, software version, and a real-phone encoder name. The file now reads, at the metadata level, exactly like a photo taken on that device.
  1. Verify — Before you download, Calabi returns a forensic proof card — the same ExifTool scan that platforms use — showing exactly what was stripped and what was injected. You see the before/after, field by field.

This is not photo editing. Calabi never touches the visible pixels. It rewrites the file's identity at the metadata level so the file-level signals match what platforms expect from a normal phone recording.

The Calabi workflow

  1. Upload your AI-generated image or video file to Calabi.
  2. The automatic pipeline runs — stripping all AI signals and injecting phone-capture identity. No settings to configure.
  3. Review the forensic proof card showing the exact metadata changes.
  4. Download the cleaned file and post it on Instagram, TikTok, YouTube, Reddit, or anywhere else.

Visible watermark in the corner of your AI export? Crop it out before uploading — that part does require a photo editor. What Calabi removes is the metadata layer that survives cropping: the C2PA manifest, the DigitalSourceType tag, and the encoder fingerprints that get you flagged even after you've removed the visible mark.

Frequently asked questions

Does Calabi change how my image looks? No. Calabi never touches the pixels. It only modifies the invisible metadata container — the EXIF, XMP, and C2PA fields that platforms scan on upload. The visual output is identical to what you uploaded.

What platforms scan for AI-generated files? Instagram, TikTok, YouTube, Reddit, Pinterest, and Adobe Libraries all scan uploads automatically. Instagram and Pinterest use C2PA Content Credentials and the DigitalSourceType XMP tag. Google Merchant Center requires DigitalSourceType on AI product images. Detection is typically automatic and happens within seconds of upload, often before the post goes live.

Can I use Calabi for video as well as images? Yes. Video files carry additional AI-detection signals in the bitstream itself — specifically Lavc and x264 SEI encoder fingerprints. Calabi strips these signals alongside the metadata layer. A cleaned video file carries the same phone-capture identity as a cleaned image.

Results vary by platform and source model. No tool can guarantee a platform won't flag your upload. Calabi removes the documented metadata and encoder signals that platforms specifically scan for, and it shows you exactly what it changed in the forensic proof card before you download.

Try Calabi free at calabilabs.com — 10 cleans, no card.

10 free cleans. See the forensic proof before you download.
Try free →

Related