SpyBara
Go Premium

Documentation 2026-11-09 23:00 UTC to 2026-11-10 15:57 UTC

3 files changed +23 −17. View all changes and history on the product overview
2026
Tue 10 15:57 Mon 9 23:00 Sun 8 23:57 Sat 7 22:59 Fri 6 23:59 Thu 5 23:58 Wed 4 23:01 Tue 3 23:00 Mon 2 23:57 Sun 1 23:02
Details

2 2 

3# Output Watermarking3# Output Watermarking

4 4 

5Text responses from supported Grok models include an invisible watermark. The watermark lets SpaceXSI later recognize text as model-generated, and it requires no change to your requests: there is no parameter to send, and your integration works the same way with or without it.5Text watermarking embeds an invisible signal in text generated by Grok models, so the text can later be identified as AI-generated. Watermarking can help enable compliance with the EU AI Act.

6 6 

7SpaceXSI watermarks text model output to comply with the EU AI Act. The watermark is enabled on every SpaceXSI API endpoint, including the global endpoint, `https://api.x.ai`, and any [regional endpoint](/developers/advanced-api-usage/regions).7> [!TIP]

8 8>

9Watermarking is controlled per model for your whole team. Team admins can opt out in the SpaceXSI Console; see [Opting out](#opting-out).9> 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).

10 10 

11## Which outputs are watermarked11## Which outputs are watermarked

12 12 

13Watermarking applies to text output from text generation requests, for each model that has watermarking turned on for your team.13Watermarking applies to text output from text generation requests, for each model that has watermarking turned on for your team.

14 14 

15Starting November 7, 2026, responses from these models include a watermark. It's on by default, and you can [opt out per model](#opting-out).15Responses 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).

16 16 

17* grok-4.717* grok-4.7

18* grok-4.618* grok-4.6


24 24 

25Watermarking 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](/developers/model-capabilities/text/structured-outputs), and [tool call](/developers/tools/function-calling) arguments.25Watermarking 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](/developers/model-capabilities/text/structured-outputs), and [tool call](/developers/tools/function-calling) arguments.

26 26 

27After watermarking is enabled for a model, it is automatically applied to all requests, with no further code changes required.

28 

27### Checking whether a response was watermarked29### Checking whether a response was watermarked

28 30 

29To 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.31To 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.


93 95 

94The 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.96The 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.

95 97 

98Our 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.

99 

96Detection 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.100Detection 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.

97 101 

98> [!WARNING]102> [!WARNING]

99>103>

100> 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).104> 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).

101 105 

102## Opting out106## How to enable text watermarking

103 107 

104Team admins can turn watermarking off for some or all models in the SpaceXSI Console. The setting applies to every API key on the team.108Team admins can turn watermarking on for some or all models in the SpaceXSI Console. The setting applies to every API key on the team.

105 109 

1061. 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.1101. 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.

1072. Select the settings icon next to it, then clear the checkbox for each model you want to opt out. **Select all** turns every model on or off at once.1112. 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.

1083. Select **Save**. If you turned a model off, confirm with **Opt Out**.1123. Select **Save**. If you turned a model off, confirm with **Opt Out**.

109 113 

110Changes apply to new requests within 5 minutes. After you opt a model out, its new requests stop including the watermark; after you opt back in, they start including it again.114Changes 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.

111 115 

112Opting out 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.116Turning 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.

113 117 

114Some 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)118Some 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)

115 119 


121 125 

122No. Watermarking has no request parameter, and the response format is unchanged apart from the `x-watermark` header.126No. Watermarking has no request parameter, and the response format is unchanged apart from the `x-watermark` header.

123 127 

124### Does opting out apply to all of my API keys?128### Does the setting apply to all of my API keys?

125 129 

126Yes. The setting belongs to the team, so it applies to every API key on the team. You choose it separately for each model.130Yes. The setting belongs to the team, so it applies to every API key on the team. You choose it separately for each model.

127 131 


133 137 

134### Does watermarking affect quality or speed?138### Does watermarking affect quality or speed?

135 139 

136No. Watermarking doesn't change response quality or speed.140No. Watermarking doesn't change response quality, and its effect on speed is negligible.

Details

16 16 

17 17 

18 18 

19SpaceXSI accepts SIP signaling over TLS on port 5061, and over TCP or UDP on port 5060. Use `;transport=tls` if your provider supports it. Otherwise use `;transport=tcp`, or omit the transport parameter for UDP.19Use `;transport=tls` if your provider supports it. Otherwise use `;transport=tcp`.

20 20 

21If you provide `allowed_addresses`, make sure the list contains your provider's SIP signaling CIDR ranges. If you provide SIP digest credentials, configure your carrier with the same username and password; SpaceXSI never returns the password after creation.21If you provide `allowed_addresses`, make sure the list contains your provider's SIP signaling CIDR ranges. If you provide SIP digest credentials, configure your carrier with the same username and password; SpaceXSI never returns the password after creation.

22 22 


173 173 

174 174 

175 175 

176Replace `{number}` with your Direct SIP phone number. Use `;transport=tls` if your provider supports it. Otherwise use `;transport=tcp`, or omit the transport parameter for UDP. If you configured `allowed_addresses` when registering the number, include your provider's SIP signaling CIDR ranges.176Replace `{number}` with your Direct SIP phone number. Use `;transport=tls` if your provider supports it. Otherwise use `;transport=tcp`. We don't recommend UDP for SIP signaling: a message larger than the network's MTU (maximum transmission unit) may be fragmented or dropped, and the call then fails to connect.

177 

178If you configured `allowed_addresses` when registering the number, include your provider's SIP signaling CIDR ranges.

177 179 

178### Twilio180### Twilio

179 181 


192### Telnyx194### Telnyx

193 195 

1941. In the Telnyx Portal, go to **Voice Suite** → **SIP Trunking** and create an FQDN SIP Connection.1961. In the Telnyx Portal, go to **Voice Suite** → **SIP Trunking** and create an FQDN SIP Connection.

1952. In **Authentication and Routing**, add `sip.voice.x.ai` as the primary FQDN on port `5060` with record type `A`.1972. In **Authentication and Routing**, add `sip.voice.x.ai` as the primary FQDN on port `5061` with record type `A`, and set the transport protocol to **TLS**.

1963. In **Inbound settings**, set the destination number format to **E.164**.1983. In **Inbound settings**, set the destination number format to **E.164**.

1974. Enable at least one supported codec: G.711 μ-law, G.711 A-law, or G.722.1994. Enable only the supported codecs (G.711 μ-law, G.711 A-law, and G.722) and disable the rest. Extra codecs make the INVITE larger without being used.

1985. Assign a phone number to the SIP Connection.2005. Assign a phone number to the SIP Connection.

199 201 

200### Plivo202### Plivo

rate-limits.md +1 −1

Details

41| grok-4.20-0309-non-reasoning | T0: 37, T1: 50, T2: 75, T3: 125, T4: 208 | T0: 10M, T1: 15M, T2: 25M, T3: 45M, T4: 85M |41| grok-4.20-0309-non-reasoning | T0: 37, T1: 50, T2: 75, T3: 125, T4: 208 | T0: 10M, T1: 15M, T2: 25M, T3: 45M, T4: 85M |

42| grok-build-0.1 | T0: 37, T1: 50, T2: 75, T3: 125, T4: 208 | T0: 10M, T1: 15M, T2: 25M, T3: 45M, T4: 85M |42| grok-build-0.1 | T0: 37, T1: 50, T2: 75, T3: 125, T4: 208 | T0: 10M, T1: 15M, T2: 25M, T3: 45M, T4: 85M |

43| grok-4.20-multi-agent-0309 | T0: 9, T1: 12, T2: 18, T3: 31, T4: 56 | T0: 2.5M, T1: 3.7M, T2: 6.2M, T3: 11M, T4: 21M |43| grok-4.20-multi-agent-0309 | T0: 9, T1: 12, T2: 18, T3: 31, T4: 56 | T0: 2.5M, T1: 3.7M, T2: 6.2M, T3: 11M, T4: 21M |

44| grok-imagine-image | T0: 6, T1: 12, T2: 25, T3: 50, T4: 100 | — |

45| grok-imagine-image-2.0 | T0: 6, T1: 12, T2: 25, T3: 50, T4: 100 | — |44| grok-imagine-image-2.0 | T0: 6, T1: 12, T2: 25, T3: 50, T4: 100 | — |

45| grok-imagine-image | T0: 6, T1: 12, T2: 25, T3: 50, T4: 100 | — |

46| grok-imagine-video | T0: 10, T1: 20, T2: 39, T3: 79, T4: 158 | — |46| grok-imagine-video | T0: 10, T1: 20, T2: 39, T3: 79, T4: 158 | — |

47| grok-imagine-video-1.5-lite | T0: 10, T1: 20, T2: 39, T3: 79, T4: 158 | — |47| grok-imagine-video-1.5-lite | T0: 10, T1: 20, T2: 39, T3: 79, T4: 158 | — |

48| grok-imagine-video-1.5 | T0: 10, T1: 20, T2: 39, T3: 79, T4: 158 | — |48| grok-imagine-video-1.5 | T0: 10, T1: 20, T2: 39, T3: 79, T4: 158 | — |