# Changelog Source: https://docs.gowinston.ai/api-reference/changelog All notable changes to the Winston AI API will be documented in this file. ### Release ## \[5.0.1] - 2026-10-05 πŸŽƒ * Added OAuth 2.1 support to the Winston AI MCP server. Users can now connect securely through the Winston AI application using OAuth, while API key authentication remains available for existing integrations. *** ## \[5.0.0] - 2026-09-24 πŸš€ * Released AI text detection model 5.0, featuring significantly improved sentence-level detection and better overall accuracy for English text. *** ## \[4.11.16] - 2026-08-28 πŸš€ * Now accepts a base64-encoded image as input for the AI image detection endpoint. *** ## \[4.11.15] - 2026-08-05 πŸš€ * Improved sentence score accuracy for English *** ## \[4.11.14] - 2026-06-26 πŸš€ * Improved image detection model accuracy for newer image generation models, including GPT-Image 2, Nano Banana Pro, and Nano-Banana 2. *** ## \[4.11.13] - 2026-05-07 πŸš€ * Improved English AI detection accuracy for major models, including Gemini 3.1 Pro, GPT-5.5, and Claude 4.7. *** ## \[4.11.12] - 2026-04-29 πŸš€ * Addition of a new advanced image detection system. The system performs a thorough analysis to determine whether an image was generated by artificial intelligence or taken by a human. The system also detects whether a photo has been tampered with, using various forensic tools. *** ## \[4.11.11] - 2026-03-11 πŸš€ * Added Georgian (ka) language support for the plagiarism tools * Improved language detector tools for better accuracy *** ## \[4.11.10] - 2026-03-04 πŸš€ * Added Bulgarian (bg) language support for AI content detection * Added Kazakh (kk) language support for plagiarism detection *** ## \[4.11.9] - 2026-02-12 πŸš€ * Added Russian (ru) language support for AI text detection *** ## \[4.11.8] - 2026-01-26 πŸš€ * Return more information on the metadata of each scanned image to help better understand the context. *** ## \[4.11.7] - 2026-01-09 πŸš€ * Improved detection for several of the newest LLMs for the French, Spanish and German language *** ## \[4.11.6] - 2026-01-07 πŸš€ * Released Image Model V3, featuring improved detection capabilities for some of the latest AI image generators, including Google Nano-Banana, Grok-Image-2, and GPT-Image-1.5. *** ## \[4.11.5] - 2025-12-30 πŸŽ„ * Improved detection for several of the newest LLMs for the English language *** ## \[4.11.4] - 2025-11-7 πŸš€ * Addition of an β€œauto” system for the plagiarism checker to automatically detect language based on the provided text * Added the new "Fact Checker" endpoint as an available feature *** ## \[4.11.3] - 2025-10-30 πŸŽƒ * Added better status code management to associate the right HTTP status code output according to the response *** ## \[4.11.2] - 2025-10-27 πŸš€ * Added Albanian (sq) as supported languaged to the plagiarism tools *** ## \[4.11.1] - 2025-10-10 πŸš€ ### What's Changed * Added Irish (ga) as supported languaged to the plagiarism tools * Fix plagiarism bugs that were causing request timeout *** ## \[4.11.0] - 2025-09-11 πŸš€ ### What's Changed * Added more supported languaged to the plagiarism tools * Added better sentences score accuracy * Improved detection for GPT-5 in French, German, Portuguese and Spanish *** ## \[4.10.0] - 2025-08-09 πŸš€ ### What's Changed * Improved detection for GPT-5 in English *** ## \[4.09.0] - 2025-07-17 πŸš€ ### What's Changed * Added Romanian (ro) language support for AI text detection *** ## \[4.08.0] - 2025-07-08 πŸš€ ### What's Changed * Improved overall detection for Spanish language *** ## \[4.07.0] - 2025-07-08 πŸš€ ### What's Changed * Improved overall detection for French language *** ## \[4.06.0] - 2025-06-17 πŸš€ ### What's Changed * Improved overall detection for English language *** ## \[4.05.0] - 2025-05-22 πŸš€ ### What's Changed * Added Tagalog (tl) language support for AI text detection *** ## \[4.04.1] - 2025-05-15 πŸš€ ### What's Changed * Resolved bug about sentence spacing *** ## \[4.04.0] - 2025-05-14 πŸš€ ### What's Changed * Added Indonesian (id) language support for AI text detection *** ## \[4.03.0] - 2025-05-6 πŸš€ ### What's Changed * Improved overall detection for Portuguese language *** ## \[4.02.0] - 2025-04-14 πŸš€ ### What's Changed * Added Polish (po) language support for AI text detection * Added Italian (it) language support for AI text detection *** ## \[4.01.0] - 2025-03-12 πŸš€ ### What's Changed * Improved overall detection for German language *** ## \[4.0.1] - 2025-03-9 πŸš€ ### What's Changed * Added new lines to the returned sentences *** ## \[4.0.0] - 2025-02-17 πŸš€ ### What's Changed * Improved overall detection for English language * Improved the sentence result accuracy *** # Introduction Source: https://docs.gowinston.ai/api-reference/introduction ## Billing and API tokens An account on our Winston AI developer dashboard is required to create your token for authorization. If you do not already have one, please create an account and receive 2000 free credits to get started. Once registered, you will be able to generate tokens and purchase more credits if needed. Register an account and get 2000 free credits to try the API. No credit card required. ## Credit value The credit cost per word depends on the endpoint: β€’ AI content detection: 1 credit per word β€’ Plagiarism detection: 2 credits per word β€’ Fact Checker : 2 credits per word β€’ AI image detection: 300 credits per image β€’ Advanced AI image detection: 500 credits per image β€’ Text compare: 1/2 credit per total words found in both texts ## Results interpretation For more information about AI detection and plagiarism results, please read this page ## Authentication All API endpoints are authenticated using Bearer tokens. You can generate your tokens on the Winston AI developer dashboard. ```json theme={null} "security": [ { "bearerAuth": [] } ] ``` # MCP Server Source: https://docs.gowinston.ai/api-reference/mcp-server Connect any MCP client to the Winston AI remote MCP server at https://api.gowinston.ai/mcp/v1 with OAuth 2.1 or an API key. ## Quick start Add this URL to your MCP client and sign in with your [Winston AI](https://app.gowinston.ai) account: ``` https://api.gowinston.ai/mcp/v1 ``` No API key and no install are needed. The server uses the Streamable HTTP transport and OAuth 2.1. Credits are taken from your [Winston AI account](https://app.gowinston.ai). ## Connect your MCP client Your client signs you in with OAuth 2.1 the first time you connect. ### Claude Go to **Customize > Connectors**, click **+**, then **Add custom connector**. Enter `Winston AI` as the name and `https://api.gowinston.ai/mcp/v1` as the URL, then sign in. ### ChatGPT Turn on **Developer mode** in ChatGPT settings, then add a custom connector with the URL `https://api.gowinston.ai/mcp/v1` and **OAuth** as the authentication. Custom connectors require a paid ChatGPT plan. ### Claude Code ```bash theme={null} claude mcp add --transport http winston-ai https://api.gowinston.ai/mcp/v1 ``` ### Cursor Add to your `mcp.json`: ```json theme={null} { "mcpServers": { "winston-ai": { "url": "https://api.gowinston.ai/mcp/v1" } } } ``` ### VS Code Add to your `.vscode/mcp.json`: ```json theme={null} { "servers": { "winston-ai": { "type": "http", "url": "https://api.gowinston.ai/mcp/v1" } } } ``` ### Other MCP clients Use the URL `https://api.gowinston.ai/mcp/v1` with the **Streamable HTTP** transport. Any client that supports [MCP authorization](https://modelcontextprotocol.io/docs/tutorials/security/authorization) signs you in automatically. ### Using an API key instead You can also use a standard API key from our [API platform](https://dev.gowinston.ai) by passing it in the `Authorization` header. Credits are then taken from your API platform account. ```json theme={null} { "mcpServers": { "winston-ai": { "url": "https://api.gowinston.ai/mcp/v1", "headers": { "Authorization": "Bearer your-winston-ai-api-key" } } } } ``` ## Tools | Tool | What it does | Inputs | Credit cost | | - | - | - | - | | `ai-text-detection` | Detects whether text was written by a human or AI, with a confidence score and the most AI-like sentences | `text` (required, 300 to 150,000 characters, 600+ recommended), `file` (optional, .pdf, .doc or .docx), `website` (optional, public URL) | 1 credit per word | | `ai-image-detection` | Detects AI-generated images using metadata, watermark detection, and a machine learning model | `url` (required, public JPG, JPEG, PNG or WEBP image, at least 256x256 pixels) | 300 credits per image | | `plagiarism-detection` | Checks text against web pages and lists the original sources | `text` (required, 100 to 120,000 characters), `language` (optional, default `en`), `country` (optional, default `us`) | 2 credits per word | If you provide several inputs to `ai-text-detection`, `website` takes priority over `file`, and `file` takes priority over `text`. ## Authentication Every request must send a Bearer token in the `Authorization` header: ``` Authorization: Bearer ``` The token is either: * An **OAuth 2.1 access token** with the `mcp:use` scope. Your MCP client gets it for you when you sign in with your [Winston AI](https://app.gowinston.ai) account. * A **standard API key** from the [API platform](https://dev.gowinston.ai). Never send the token in the request body or URL. Only the `Authorization` header is supported. ### How the OAuth 2.1 flow works MCP clients that support [MCP authorization](https://modelcontextprotocol.io/docs/tutorials/security/authorization) handle this for you: 1. A request without a token receives `401 Unauthorized` with a `WWW-Authenticate` header pointing to the protected resource metadata. 2. The client reads `https://api.gowinston.ai/.well-known/oauth-protected-resource`, which lists `https://app.gowinston.ai` as the authorization server and `mcp:use` as the required scope. 3. The client opens your browser so you can sign in to Winston AI and approve access. 4. The client receives an access token and sends it as `Authorization: Bearer ` on every request. ## Test with cURL For quick tests with cURL, use a standard API key from the [API platform](https://dev.gowinston.ai). Replace `your-winston-ai-api-key` with it. ### List tools ```bash theme={null} curl --location 'https://api.gowinston.ai/mcp/v1' \ --header 'content-type: application/json' \ --header 'accept: application/json, text/event-stream' \ --header 'Authorization: Bearer your-winston-ai-api-key' \ --data '{ "jsonrpc": "2.0", "method": "tools/list", "id": 1 }' ``` ### Call a tool ```bash theme={null} curl --location 'https://api.gowinston.ai/mcp/v1' \ --header 'content-type: application/json' \ --header 'accept: application/json, text/event-stream' \ --header 'Authorization: Bearer your-winston-ai-api-key' \ --data '{ "jsonrpc": "2.0", "id": 2, "method": "tools/call", "params": { "name": "ai-text-detection", "arguments": { "text": "Your text to analyze (minimum 300 characters)" } } }' ``` To call another tool, change `name` and `arguments` using the [Tools](#tools) table. ## Troubleshooting * **`401 Unauthorized`**: The token is missing, invalid, or expired. Sign in again from your MCP client, or check that the header is `Authorization: Bearer `. * **`403 Forbidden`**: The token doesn't have the `mcp:use` scope. Disconnect and sign in again so your client requests it. * **Out of credits**: Top up your [Winston AI account](https://app.gowinston.ai). If you use an API key, top up on the [API platform](https://dev.gowinston.ai). * **Your client doesn't support OAuth**: Use an API key in the `Authorization` header. See [Using an API key instead](#using-an-api-key-instead). ## Self-hosting To run the MCP server locally, see the [Winston AI npm package](https://www.npmjs.com/package/winston-ai-mcp). # Node SDK Source: https://docs.gowinston.ai/api-reference/node-sdk Integrate Winston AI into Node.js applications with the official SDK. Learn how to install and authenticate the package, configure the client, detect AI-generated text and images, check plagiarism and facts, compare text, and handle API errors. # Winston AI Node.js SDK ⚑️ Detect AI-generated text and images, check for plagiarism, fact-check content, and compare text through a fully typed interface with our official Node.js SDK. [View on npm](https://www.npmjs.com/package/@winston-ai/ai-detector) Β· [GitHub](https://github.com/gowinston-ai/ai-detector-node) Β· [Open the developer dashboard](https://dev.gowinston.ai) ## Installation Install the package with npm: ```bash theme={null} npm install @winston-ai/ai-detector ``` ### Requirements * Node.js 20 or later * A Winston AI API key Create an API key in the [Winston AI developer dashboard](https://dev.gowinston.ai/user/api-tokens). New accounts receive 2,000 free credits, with no credit card required. We recommend storing your key in an environment variable for security reasons: ```bash theme={null} WINSTON_AI_API_KEY=your-winston-ai-api-key ``` ## Quickstart Import the client, initialize it with your API key, and submit text for analysis: ```ts theme={null} import { WinstonAIClient } from "@winston-ai/ai-detector"; const client = new WinstonAIClient( process.env.WINSTON_AI_API_KEY! // Key found in your environment variable ); const result = await client.detectText({ text: "The text you want to analyze. Provide at least 300 characters for reliable results...", }); console.log(result.score); // 0 = likely AI, 100 = likely human ``` CommonJS is also supported: ```js theme={null} const { WinstonAIClient } = require("@winston-ai/ai-detector"); ``` ## Available methods ### Detect AI-generated text Analyze text, a public file, or a public webpage for signs of AI generation. ```ts theme={null} const result = await client.detectText({ text: "Content to analyze...", sentences: true, language: "auto", }); ``` ### Detect AI-generated images Analyze an image using metadata and Winston AI's image detection model. ```ts theme={null} const result = await client.detectImage({ url: "https://example.com/image.jpg", }); ``` ### Run advanced image analysis Inspect an image using forensic signals such as error-level analysis, noise maps, and edge anomalies. ```ts theme={null} const result = await client.detectAdvancedImage({ image_url: "https://example.com/image.png", }); ``` ### Check for plagiarism Compare content against sources found across the web. ```ts theme={null} const result = await client.checkPlagiarism({ text: "Content to check...", language: "auto", }); ``` ### Fact-check content Evaluate claims against trusted sources and receive a verdict for each claim. ```ts theme={null} const result = await client.checkFact({ text: "Content to fact-check...", language: "auto", }); ``` ### Compare two texts Measure similarity and matching word counts between two texts. ```ts theme={null} const result = await client.compareText({ first_text: "The first text to compare...", second_text: "The second text to compare...", }); ``` ## Client configuration Configure automatic retries for transient network and API failures: ```ts theme={null} const client = new WinstonAIClient( process.env.WINSTON_AI_API_KEY!, { maxRetries: 1, retryBaseDelayMs: 500, } ); ``` Retries apply to network failures and HTTP `408`, `409`, `429`, `500`, `502`, `503`, and `504` responses. ## Error handling The SDK throws a typed error for non-2xx responses and connection failures: ```ts theme={null} import { WinstonAIError, WinstonAuthenticationError, WinstonPaymentRequiredError, WinstonRateLimitError, } from "@winston-ai/ai-detector"; try { const result = await client.detectText({ text: "Content to analyze..." }); } catch (error) { if (error instanceof WinstonRateLimitError) { // Back off and try again later. } else if (error instanceof WinstonAuthenticationError) { // Check the API key. } else if (error instanceof WinstonPaymentRequiredError) { // Add credits to the account. } else if (error instanceof WinstonAIError) { console.error(error.status, error.error, error.description); } else { throw error; } } ``` ## Resources * [API documentation](https://docs.gowinston.ai/api-reference/introduction) * [Developer dashboard](https://dev.gowinston.ai) * [Winston AI](https://gowinston.ai) * [Interpreting AI detection scores](https://gowinston.ai/interpreting-our-ai-detection-scores/) * [To see what types of content you can scan](https://help.gowinston.ai/understanding-winston-ai/what-types-of-content-can-i-scan-with-winston-ai) # Advanced AI image Detection Source: https://docs.gowinston.ai/api-reference/v2/advanced-image-detection/post POST /v2/advanced-image-detection Runs an advanced forensic analysis on a public image URL. The API authenticates the caller with a bearer token, checks the user's credit balance, analyzes the image, charges 500 credits after a successful analysis, and returns a structured forensic report. # AI text detection Source: https://docs.gowinston.ai/api-reference/v2/ai-content-detection/post POST /v2/ai-content-detection The Human Score is a metric used by Winston AI to estimate the likelihood that a given piece of content was generated by an AI tool versus being written by a human. # Fact checker Source: https://docs.gowinston.ai/api-reference/v2/fact-checker/post POST /v2/fact-checker The Fact Checker endpoint is a powerful tool designed to verify the accuracy of a given piece of content by checking it against a a variety of trusted sources. The cost is 2 credits per word. # AI image Detection Source: https://docs.gowinston.ai/api-reference/v2/image-detection/post POST /v2/image-detection Our image detection feature enables AI-generated image detection by verifying image metadata and using a machine learning system trained to differentiate between human and AI-generated images. # Plagiarism Source: https://docs.gowinston.ai/api-reference/v2/plagiarism/post POST /v2/plagiarism Winston AI's plagiarism API is a powerful tool designed to check text for plagiarism by scouring the internet for similar content. It queries multiple websites and compares the input text with the content found on these websites. This can be particularly useful in academic settings, content creation, legal scenarios or any other situation where originality of content is required. # Text Compare Source: https://docs.gowinston.ai/api-reference/v2/text-compare/post POST /v2/text-compare Compare two texts to find similarities and differences between them. This endpoint analyzes both texts and returns detailed information about matching content, word counts, and similarity scores.