Grok API Watermarking: Power-User Guide to Invisible Output Marks

Starting November 7, 2026, xAI adds an invisible watermark to text generated by grok-4.7, grok-4.6, grok-4.5, grok-4.3 and the grok-4.20 models on its API. It is on by default, needs no code change, shows up as an x-watermark: true response header, and team admins can opt out per model.

Last updated: November 7, 2026

Table of contents

What changed on November 7

xAI’s API documentation, which now uses the SpaceXSI name, added an Output Watermarking page that says text responses from supported Grok models include an invisible watermark. The stated reason is compliance with the EU AI Act.

The watermark is turned on for every API endpoint, including the global endpoint at https://api.x.ai and any regional endpoint. It is controlled per model for the whole team, not per API key or per request.

For most developers nothing breaks. There is no new parameter to send, and your integration behaves the same with or without the mark. What changes is that output can later be recognized as model-generated, which matters if you publish Grok text, pass it to customers, or run content pipelines that care about provenance.

This arrives a few weeks after xAI added custom moderation controls to the Grok API, so teams reviewing their Grok setup for policy reasons may want to look at both together.

Which models and outputs are covered

The documentation lists seven text models with watermarking on by default from November 7, 2026. Each can be opted out separately unless it is locked on for your team.

Model ID Watermark from Nov 7, 2026 Opt-out
grok-4.7 On by default Per model, team admin
grok-4.6 On by default Per model, team admin
grok-4.5 On by default Per model, team admin
grok-4.3 On by default Per model, team admin
grok-4.20-reasoning On by default Per model, team admin
grok-4.20-non-reasoning On by default Per model, team admin
grok-4.20-multi-agent On by default Per model, team admin

Coverage applies to text output from every text generation API, including the Responses API and the legacy Chat Completions API. It includes ordinary text responses, structured outputs and tool call arguments.

Grok 4.7 itself is unchanged. According to the xAI release notes, it launched on September 21, 2026 with a 500k context window and pricing of $2 input, $0.50 cached input and $6 output per 1M tokens below 200k prompt tokens. For plan and token costs, see our Grok API pricing answer.

How to check the x-watermark header

Every Responses API and Chat Completions API response can carry an x-watermark header. A value of true means the output for that request was generated with the watermark. Any other value, or a missing header, means it was not.

  1. Send a normal request, for example to POST https://api.x.ai/v1/responses with model set to grok-4.7.
  2. Read the raw HTTP headers. With curl, add -i to print them.
  3. With the OpenAI Python SDK pointed at https://api.x.ai/v1, call client.responses.with_raw_response.create(...), then read raw.headers.get("x-watermark") before calling raw.parse().
  4. With the OpenAI JavaScript SDK, chain .withResponse() and read raw.headers.get('x-watermark').
  5. With the Vercel AI SDK, read response.headers?.['x-watermark'] from generateText.
  6. Log the header value next to the request ID so you can show later which outputs were marked.

How to opt out as a team admin

Only team admins see the setting. The documented steps in the console are:

  1. Open the Team settings page and find the Model output watermarking row. It shows On (all models), Off (all models) or Custom.
  2. Select the settings icon next to it and clear the checkbox for each model you want to opt out. Select all turns every model on or off at once.
  3. Select Save. If you turned a model off, confirm with Opt Out.

Changes apply to new requests within 5 minutes. Opting out asks you to confirm that an exception under applicable law applies to your use and that you are solely responsible for any marking or disclosure requirements. Every opt-in and opt-out is recorded in the team audit log.

Some models may be locked on. Locked models appear in the dialog without a checkbox and cannot be turned off from the console; xAI points users to their team admin and then support@x.ai.

How the watermark works and how detection is gated

The mark is applied during generation. It slightly shapes which tokens the model picks, so it adds no characters, markup or hidden text. xAI states it does not change response quality or speed.

Detection is statistical. xAI scores a piece of text and reports watermarked, not watermarked or uncertain, and longer text gives a stronger signal. Access to the detection API is granted by application through a request form, so most developers will rely on the response header instead.

Grok vs Claude text watermarking

Anthropic made a similar move days earlier. Its platform release notes for November 3, 2026 say text generated by Claude Mythos 5, Claude Opus 4.7 and Claude Sonnet 4.6 carries Anthropic’s text watermark on listed platforms.

Point Grok API (xAI) Claude API (Anthropic)
Start date November 7, 2026 Release note dated November 3, 2026
Code changes None None
Per-request signal x-watermark header None documented on the text watermark page
Opt-out Team admin, per model, unless locked Not described on the text watermark page
Sampling caveat None documented Sonnet 4.6 output may lack the mark if temperature, top_p or top_k is non-default

Anthropic’s text watermark page says the mark adds no tokens or hidden characters and carries no information about you or your organization. For background on another approach, see what SynthID is and whether ChatGPT will watermark its text in the EU.

Power-user tips and limitations

  • Do not strip headers in proxies. If you run a gateway, pass x-watermark through or log it there.
  • Treat opt-out as a legal decision. The console asks you to confirm a legal exception, and the audit log records who changed it.
  • Expect weaker detection on short text. xAI says longer text gives a stronger signal, so short replies may come back uncertain.
  • Check models outside the list. The documentation names seven text models; it does not list image, video or voice models on this page.

Frequently asked questions

Does the Grok API watermark text output?

Yes. Starting November 7, 2026, xAI watermarks text output from grok-4.7, grok-4.6, grok-4.5, grok-4.3, grok-4.20-reasoning, grok-4.20-non-reasoning and grok-4.20-multi-agent by default, on the global endpoint and every regional endpoint.

Do I need to change my code for Grok watermarking?

No. There is no request parameter, and the response format is unchanged apart from the new x-watermark header. Responses API and Chat Completions integrations keep working as before.

How can I tell if a Grok response was watermarked?

Read the x-watermark response header. A value of true means the output for that request was generated with the watermark. Any other value, or no header at all, means it was not.

Can I turn off the Grok watermark?

Team admins can opt out per model on the Team settings page in the console, under Model output watermarking. The setting covers every API key on the team, takes effect within about 5 minutes, and some models may be locked on.

Does watermarking slow Grok down or change quality?

xAI says no. Its documentation states watermarking does not change response quality or speed, and that the mark adds no characters, markup or hidden text to the response.

Can I detect whether text came from Grok?

Detection is statistical and access is granted by application. xAI offers a detection API request form; approved users get a result of watermarked, not watermarked or uncertain, with longer text giving a stronger signal.



Image: Grok logo by xAI, public domain, via Wikimedia Commons. Placed on a white background and resized. FreeAnswers is not affiliated with xAI.

Sources

Related answers

1 thought on “Grok API Watermarking: Power-User Guide to Invisible Output Marks”

Leave a Comment