Grok API text watermarking is now 'off' by default SpaceXSI's Grok API now ships with text watermarking off by default, requiring team admins to enable it per model in the SpaceXSI Console for models including 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. The invisible watermark, built on Google DeepMind's SynthID Text technique published in Nature in 2024, slightly shapes token selection during generation and is reported via an x-watermark header on Responses API and Chat Completions API calls, with changes applying to new requests within 5 minutes. SpaceXSI says watermarking can help enable compliance with the EU AI Act, while detection access is granted by application and returns watermarked, not watermarked or uncertain based on statistical scoring that strengthens with longer text. Advanced API Usage advanced-api-usage Output Watermarking output-watermarking Watermarking embeds an invisible signal in text and audio generated by Grok models, so the output can later be identified as AI-generated. Watermarking can help enable compliance with the EU AI Act. Text watermarking is off by default. Team admins can turn it on per model in the SpaceXSI Console's team settings; see How to enable text watermarking how-to-enable-text-watermarking . Audio from the voice APIs is watermarked in some regions and when you ask for it; see Audio watermarking audio-watermarking . Which outputs are watermarked which-outputs-are-watermarked Watermarking applies to text output from text generation requests, for each model that has watermarking turned on for your team. Responses from these models can include a watermark. It's off by default, and you can turn it on per model how-to-enable-text-watermarking . - grok-4.7 - grok-4.6 - grok-4.5 - grok-4.3 - grok-4.20-reasoning - grok-4.20-non-reasoning - grok-4.20-multi-agent Watermarking applies to outputs from every text generation API, including the Responses API and the Chat Completions API. It covers the generated text you receive in the response: ordinary text responses, structured outputs https://docs.x.ai/developers/model-capabilities/text/structured-outputs , and tool call https://docs.x.ai/developers/tools/function-calling arguments. After watermarking is enabled for a model, it is automatically applied to all requests, with no further code changes required. Checking whether a response was watermarked checking-whether-a-response-was-watermarked To check whether a response was watermarked, read the x-watermark header on the Responses API or Chat Completions API response. x-watermark: true means the output for that request was generated with the watermark. Any other value, or no header at all, means it was not. js import { xai } from '@ai-sdk/xai'; import { generateText } from 'ai'; const { text, response } = await generateText { model: xai.responses 'grok-4.7' , prompt: 'Write a haiku about the ocean.', } ; console.log response.headers?. 'x-watermark' ; console.log text ; How it works how-it-works The watermark is not visible. It is applied while the model generates text: it slightly shapes which tokens the model picks, so it adds no characters, markup, or hidden text to the response. Our implementation uses SynthID Text, the text watermarking technique published by Google DeepMind in a Nature paper https://doi.org/10.1038/s41586-024-08025-4 in 2024. Detection is statistical. SpaceXSI scores a piece of text against the watermark and reports whether it is watermarked, not watermarked, or uncertain. Longer text gives a stronger signal. Access to watermark detection is granted by application. You can submit a request for the detection API through this form https://docs.google.com/forms/d/e/1FAIpQLSc6zpONhSgvde0GbNmfGajT6QoyO0T-fX8UBMhmd14h-UtabQ/viewform . How to enable text watermarking how-to-enable-text-watermarking Team admins can turn watermarking on for some or all models in the SpaceXSI Console. The setting applies to every API key on the team. 1. Open the Team settings page https://console.x.ai/team/default/settings/team?utm source=docs&utm medium=referral&utm campaign=developers-watermarking&utm content=team-settings and find the Model output watermarking row. It shows On all models , Off all models , or Custom . Only team admins see this row. 2. Select the settings icon next to it, then select the checkbox for each model you want to watermark. 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. After you turn a model on, its new requests include the watermark; after you turn it off, they stop including it. Turning a model off asks you to confirm that an exception under applicable law applies to your use, and that you are solely responsible for any marking, disclosure, or other legal requirement. Some models may be locked on for your team. Locked models are listed in the dialog but cannot be turned off from the Console. To ask about a locked model, see Why can't I turn watermarking off for a model? why-cant-i-turn-watermarking-off-for-a-model Every opt-in and opt-out is recorded in your team's audit log. Team admins can view it on the Audit Log page https://console.x.ai/team/default/audit?utm source=docs&utm medium=referral&utm campaign=developers-watermarking&utm content=audit in the SpaceXSI Console. To find a change, search by event ID, description, or user, and use the time filter to narrow the results to a range of dates. For screenshots of these filters, see Do you have audit logs? https://docs.x.ai/developers/faq/security do-you-have-audit-logs in the security FAQ. Audio watermarking audio-watermarking Audio from the voice APIs can also include an invisible watermark. This applies to Text to Speech https://docs.x.ai/developers/model-capabilities/audio/text-to-speech and Speech to Speech https://docs.x.ai/developers/model-capabilities/audio/speech-to-speech , including speech in custom voices https://docs.x.ai/developers/model-capabilities/audio/custom-voices . The watermark is AudioSeal https://github.com/facebookresearch/audioseal . It is added to the audio before it is encoded, so every output format includes it, and it can't be heard. Which audio is watermarked which-audio-is-watermarked Audio is watermarked when: - The request is sent to eu-west-1.api.x.ai . - The end user is in the EU, the EEA, or California. The location comes from the IP address of the request. - The request asks for a watermark. See How to enable audio watermarking how-to-enable-audio-watermarking . If none of these apply, the audio is not watermarked. Checking whether audio was watermarked checking-whether-audio-was-watermarked Read the x-watermark header on the response, as with text. x-watermark: true means the audio was watermarked, and x-watermark: false means it was not. For WebSocket connections, the header is on the response that opens the connection. How to enable audio watermarking how-to-enable-audio-watermarking Add the x-watermark: true header to your request. If your WebSocket client can't set headers, add watermark=true to the URL instead. curl -X POST https://api.x.ai/v1/tts \ -H "Authorization: Bearer $XAI API KEY" \ -H "Content-Type: application/json" \ -H "x-watermark: true" \ -d '{ "text": "Hello Welcome to the SpaceXSI Text to Speech API.", "voice id": "eve", "language": "en" }' \ --output hello.mp3 x-watermark: false doesn't remove a watermark that is required by the user's location or the EU endpoint. Any value other than true or false returns a 400 error. To watermark all audio for your team, email support@x.ai mailto:support@x.ai . FAQ faq Do I need to change my code? do-i-need-to-change-my-code No. Text watermarking is turned on in the Console, and audio is watermarked where required without any changes. To watermark other audio, send the x-watermark: true header. Does the setting apply to all of my API keys? does-the-setting-apply-to-all-of-my-api-keys Yes. The setting belongs to the team, so it applies to every API key on the team. You choose it separately for each model. Why can't I turn watermarking off for a model? why-cant-i-turn-watermarking-off-for-a-model The model is locked on for your team. Locked models show in the watermarking dialog without a checkbox. For questions about a locked model, contact your team admin. If you still have questions, email support@x.ai mailto:support@x.ai . Can I turn off audio watermarking? can-i-turn-off-audio-watermarking Audio is only watermarked in the cases listed in Which audio is watermarked which-audio-is-watermarked . When the request is sent to the EU endpoint, or the end user is in the EU, the EEA, or California, the watermark can't be turned off. Does watermarking affect quality or speed? does-watermarking-affect-quality-or-speed No. Watermarking doesn't change response quality, and its effect on speed is negligible. Last updated: November 10, 2026