OpenAI announced the availability of the textGrain system for labeling text produced by its models through the API, but the feature will remain disabled by default. Customers worldwide can enable it today on supported models, either at the project or organization level, without modifying individual API requests.
The system works by inserting a “statistical signal” into text by assigning greater weight to suitable words over alternatives when both options make sense in context. As these choices accumulate in text that is sufficiently long, OpenAI’s detector is expected to recognize the pattern.
A Different Choice from Anthropic
OpenAI gives API customers more control than the approach Anthropic announced for Claude models in August. Anthropic said the labeling would be applied globally to supported models and at the model level, including Claude products, Claude Code, and API use, without clarifying whether developers would have a comparable option to disable it.
According to OpenAI, automatic labeling of eligible text produced by ChatGPT and Codex within the European Union will begin in the coming weeks, in response to transparency requirements under the European AI Act. The company has not yet precisely specified what “eligible outputs” means in Codex.
Detection Effectiveness Is Not Constant
OpenAI says its detector identifies about 80% of labeled passages that are 200 tokens long, rising to 95% for 400-token passages in fields such as psychology, with a targeted false-positive rate of 1%. Detection capability declines in constrained material, such as mathematics, where the model has fewer word choices available.
Editing the text also clearly weakens the signal. In the company’s tests, replacing 10% of the words in a 400-token passage with synonyms reduced the detection rate from about 92% to 66%, while replacing 25% reduced it to 17%. OpenAI also warns that short passages may not contain enough material for reliable detection.
Code Is a More Difficult Test Case
OpenAI acknowledges that code is more difficult to label than ordinary prose because syntactic and logical constraints reduce the number of reasonable choices for the next word or token. The company says it compared the Astra model with textGrain enabled and disabled across the DeepSWE, AutomationBench, and Terminal-Bench tests and found no meaningful difference in performance. However, these results do not establish how reliably labeled code can be identified after it has been modified or reformatted.
For now, API customers who enable textGrain do not automatically receive a detection tool. OpenAI is limiting initial access to the detector to approved research and academic organizations studying text provenance and detection reliability, while The New Stack has asked the company for additional details about eligible Codex outputs and code-specific detection rates.
Why Does This Matter?
The practical change for developers is that text labeling has become a manageable option rather than behavior imposed on every API output. However, the published figures indicate that the label is not conclusive evidence on its own: shortening and editing reduce detectability, and code may not provide enough room to insert the signal. The scope of detector use, access to it, and the system’s performance on real-world code therefore remain open questions.