AI Watermark Remover API
Quickstart
curl --location 'https://keywordresearch.api.kwrds.ai/ai/watermark-remove' \--header 'X-API-KEY: YOUR_API_KEY_GOES_HERE' \--header 'Content-Type: application/json' \--data '{"text": "Keyword research is not just about finding terms — it is about understanding intent. Moreover, modern SEO requires a robust approach that leverages both data and intuition.","source_model": "claude"}'
To increase your API limits, please choose your plan right from our pricing page.
Introduction
The Watermark Remover API rewrites AI-generated text through a model different from the one that produced it, so the output carries none of the original model's generation fingerprint.
Pass the model that wrote your text as source_model and the API automatically routes the rewrite to a different provider.
Endpoint
POST /ai/watermark-remove
Example Request
Here's an example of how to use the Watermark Remover API with cURL:
curl --location 'https://keywordresearch.api.kwrds.ai/ai/watermark-remove' \--header 'X-API-KEY: YOUR_API_KEY_GOES_HERE' \--header 'Content-Type: application/json' \--data '{"text": "Keyword research is not just about finding terms — it is about understanding intent. Moreover, modern SEO requires a robust approach that leverages both data and intuition.","source_model": "claude"}'
Request Body
-
text: (Required) The content to rewrite. Up to 20,000 characters. -
source_model: (Optional) The model that generated your text. Used to route the rewrite to a different provider. Default isunknown. Matching is case-insensitive and works on partial names, so a full model id such asclaude-3-opus-20240229orgpt-4o-miniis accepted. Recognized values:- Anthropic:
claude,anthropic - OpenAI:
gpt,openai,chatgpt,o1,o3 - Google:
gemini,bard,google - Meta:
llama,meta - Mistral:
mistral,mixtral - DeepSeek:
deepseek - xAI:
grok,xai - Cohere:
command,cohere - Alibaba:
qwen
If the value is not recognized it is treated as unknown, the rewrite still runs against an independent model, and the response includes a
notesentry saying so. - Anthropic:
Headers
X-API-KEY: (Required) Your API key for authentication.Content-Type: (Required) The content type of the request, which should beapplication/json.
Example Response
{"output": "Finding terms is the easy part. What you actually want to know is intent, meaning what the person hoped to find when they typed the phrase. Good SEO runs on both data and judgement."}
Response Structure
output: The rewritten text.notes: (Only when applicable) An array of strings flagging anything worth knowing about the routing, such as an unrecognizedsource_model. Absent on a clean rewrite.
Response Codes
200: Success. The rewritten text is in theoutputfield.400: Invalid input. Thetextis empty or exceeds 20,000 characters.403: Your plan does not include this endpoint.429: Monthly quota reached.502: The rewrite failed. Retry the request.