Google Gemini SynthID Text Watermark Tool API

The Google Gemini Watermark Checker API returns a SynthID-Text score as JSON. A missing Gemini mark is not proof a human actually wrote that page.

A missing Gemini watermark does not mean a human wrote it

A clean check feels like a verdict. No watermark, so a person wrote the essay, the freelance intake, the support reply. File it. Move on.

That belief is the one that breaks first.

Absence is not authorship

Google watermarks text Gemini produces with SynthID-Text, an invisible mark in the token pattern. When the sample is long enough, that mark is a machine-readable signal you can log next to the document. When the sample is short, or the text never came from Gemini, there is nothing to read. A missing mark is compatible with a human, with another model, with a heavily edited Gemini draft, and with a page too brief for the check to work.

The common workaround is a consumer "AI detector" percentage, or a paste into the Gemini app asking whether the writing is generated. Both give you a feeling. Neither gives you a row you can store, alert on, or attach in discovery. Newsroom provenance, university integrity, hiring screens, and publisher intake all need the same artifact: a JSON label next to the file they already hold, not a screenshot of a website.

A missing Gemini watermark does not mean a human wrote it. The mark only speaks for Google's key, and only when there is enough text to listen to.

What I actually return

I built the Google Gemini Watermark Checker API to answer the same question people type into the Gemini app, as structured output. You paste a passage or upload a PDF, Word, or text file. The API extracts the writing on the machine so the detector sees the words, not a twenty-megabyte binary. Long files are sampled from the start, middle, and end. A character cap stops a whole book from going out as one bill.

Each item becomes one dataset row: whether the writing looks AI generated, whether a watermark showed up, confidence, a likely source, and a short rationale. ChatGPT text is not SynthID-watermarked. Claude uses a different key. A clean Gemini check does not close those cases.

Run on Apify.

Three steps: put the text or the file in. Leave the character cap at the default unless you know you need a longer sample. Read the watermark fields next to the limitations note, especially on short passages.

Who this is for

If you are an editor logging Gemini-shaped copy before it ships, this is for you. If you screen submitted essays, cover letters, or freelance intake and need a machine-readable signal rather than a gut call, this is for you. If you are tagging a corpus, sampling support macros, or attaching an AI-generated label to produced documents, this is for you.

If you need proof that a named person wrote the page, this will not give it to you. Watermarks estimate whether Gemini was involved. They do not identify a keyboard.

Short samples — under about fifty words — are weak evidence, and the JSON will say so. Scanned, image-only PDFs have no extractable text. Images, audio, and zip archives are rejected. Do not treat the score as legal proof of authorship.

Input, pricing, and the rest of the caveats live on the Apify Store README for this checker.

Claude-shaped copy is a different lock: I run a Claude writing classifier until Anthropic ships a public detector. For ChatGPT, skip the essay; I check images and audio for SynthID.

The cost of the old way is a false all-clear

The old way is a clean score and a closed ticket. That is the dangerous outcome. A missing mark is a fact about this sample and this key. It is not a human byline.

If you already have the file, paste it or upload it. Store the row. Treat a blank watermark as unfinished business, not as proof.

Run on Apify.

The rest of the posts on rainminer cover the other labs when the source is not Gemini.