Detect API

Detection that shows its work.

Sentence-by-sentence AI-likelihood with the pattern behind every flag, a confidence that follows the evidence, and calibration to the writer you actually care about.

  • Per-sentence scores
  • Named signals, not black boxes
  • 1 word of allowance per 5 scanned

POST /v1/detect · granularity: sentence

96

In today's fast-paced business landscape, onboarding has never been more important.

92

In this post, we'll explore three strategies to help your team get new hires productive faster.

41

First, set up accounts before day one so nobody spends a morning waiting on IT.

47

Second, pair every new hire with a buddy for their first two weeks.

38

Third, write down the ten questions everyone asks, and answer them once.

89

By implementing these strategies, you can create an onboarding experience that drives engagement and retention.

97

In conclusion, great onboarding isn't just a process, it's an investment in your people.

Hover a sentence to inspect it. Example text and scores.

0%

Document

likely_ai

verdict

medium

96 words

Sentence 1

0.96

Stock opener

A scene-setter that could open any post on any topic. Says nothing the reader can use.

Principles

Signals, not verdicts.

Detection is useful when it helps an editor look in the right place. It's harmful when it's treated as proof. The API is designed around that difference.

{

  "verdict": "mixed",

  "ai_likelihood": 0.58,

  "confidence": "medium",

  "signals": ["stock_opener",

    "restated_close"]

}

Signals, not verdicts

You get a likelihood, a confidence and the evidence behind them. Nothing in the response claims to prove who wrote a text, and you shouldn't use it that way.

Every flag names the pattern that tripped it.

Calibrated to the writer

Some people simply write in ways generic detectors mistake for AI. Pass calibrate_to and we score against that person's own samples instead.

Perplexity-based detectors flagged 61% of essays by non-native English writers as AI. Liang et al., 2023.

Confidence follows length

A tweet doesn't carry enough evidence for a strong call, and the response says so. Confidence rises with word count, and short texts come back marked low.

Current thresholds: low below 150 words, medium to 600, high above.

How it works

Four passes, one readable answer.

  1. 1

    Segment

    The text is split into sentences and paragraphs, keeping headings and lists intact.

    granularity

  2. 2

    Score each sentence

    Each sentence gets its own likelihood from phrase habits and rhythm, in context.

    sentences[].ai_likelihood

  3. 3

    Read the structure

    Document-level patterns (announced thesis, restated close, summary sections) are checked.

    structure[]

  4. 4

    Calibrate & explain

    Optionally measured against a known writer, then returned with the evidence for each flag.

    calibrate_to

Interactive example

See how the score is built.

Switch samples, calibrate to a known writer, turn sentence scores off, or shorten the text and watch confidence drop.

An onboarding post drafted with an AI assistant, with three human-written steps in the middle.

96

In today's fast-paced business landscape, onboarding has never been more important.Stock opener

92

In this post, we'll explore three strategies to help your team get new hires productive faster.Announced thesis

41

First, set up accounts before day one so nobody spends a morning waiting on IT.

47

Second, pair every new hire with a buddy for their first two weeks.

38

Third, write down the ten questions everyone asks, and answer them once.

89

By implementing these strategies, you can create an onboarding experience that drives engagement and retention.Uniform rhythm

97

In conclusion, great onboarding isn't just a process, it's an investment in your people.Restated close

7 of 7 · 96 words

Drag left to see confidence fall as the evidence gets shorter.

91%

AI-likelihood

likely_ai

verdict

medium

confidence

Signals

Stock openerAnnounced thesisUniform rhythmRestated close

Structure

  • Thesis announced up front
  • Summary section
  • Close restates the thesis
Example scores20 words of allowance

What we look for

The patterns are measurable.

Published research shows AI writing gives itself away in structure more than in vocabulary. These are the signals Detect names in its response, with the data behind them.

Structure

AI postsHuman posts

  • Thesis announced up front
    93%
    51%
  • Summary section
    88%
    27%
  • Close restates the thesis
    77%
    12%
  • Old-vs-new framing
    76%
    26%
  • No way for the reader to act
    97%
    38%

Share of B2B posts showing each pattern. Source: Sitefire / SlopShape v3, arXiv 2609.15369 (Sept 2026). Structure alone reaches 97.0 macro-F1, and 96.1 after the AI rewords its own posts.

Trailing “-ing” clauses

5.3×

GPT-4o's rate of sentence-final analysis clauses (“…, highlighting the need for…”) vs human writers.

Reinhart et al., PNAS 2025

Tell-tale vocabulary

28×

How often “delves” appeared in 2024 PubMed abstracts vs its expected rate.

Kobak et al., Science Advances 2025

Metronome rhythm

sd

Sentence lengths that barely vary. Measured as spread, then compared with the writer's own baseline when you calibrate.

Measured per request

Tech specs

Endpoint

POST /v1/detect · model detect-2026-10

Base URL https://api.intactvoice.com/v1

Input

40 to 25,000 words of plain text per request

Granularity

document one score · sentence adds per-sentence scores and signals

Response

verdict likely_human | mixed | likely_ai

ai_likelihood 0–1 · confidence low | medium | high

sentences[] and structure[] with named signals

Calibration

calibrate_to any voice_id; scores are relative to that writer's baseline

Counts the same as an uncalibrated request

Available on Pro API and Ultra API

Confidence

Low below 150 words, medium to 600, high above

Sync or async

Synchronous by default: the call waits up to 120 s

Long texts: pass async: true for a job and a webhook

Availability

Async jobs wait for worker capacity

Current service status

Rate limits

Basic API 60 req/min, Pro API 180 req/min and Ultra API 600 req/min

Enterprise: by agreement

Billing

1 word of allowance per 5 words scanned

Calibrated requests count the same

Your text

Deleted when the scan finishes

Request logs keep metadata only, never the text

API

The contract.

One POST, a readable JSON answer. Here's the request, its parameters and the endpoints you'll use with it.

Request
curl -X POST https://api.intactvoice.com/v1/detect \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "text": "In today'\''s fast-paced world, side hustles are more than just extra cash. In this post, we'\''ll explore…",
  "granularity": "sentence",
  "explain": true
}'
Response
{
  "id": "dt_01JD4QB2M9",
  "object": "detection",
  "model": "detect-2026-10",
  "verdict": "likely_ai",
  "ai_likelihood": 0.94,
  "confidence": "medium",
  "sentences": [
    {
      "text": "In today's fast-paced world, side hustles are more than just extra cash.",
      "ai_likelihood": 0.97,
      "signals": [
        "stock_opener",
        "inflation_frame"
      ]
    }
  ],
  "structure": [
    {
      "feature": "announced_thesis",
      "present": true
    },
    {
      "feature": "restated_close",
      "present": false
    }
  ],
  "usage": {
    "words_billed": 19
  }
}
POST/detectapi.intactvoice.com/v1

Scores how likely a text is to be AI-generated, sentence by sentence, and returns the reasons: structural patterns, phrase habits and rhythm. Optionally calibrated against a known writer's own samples.

ParameterTypeDescription
textrequiredstringText to analyse, 40–25,000 words. Short texts return confidence: low.
granularitydocument | sentencesentence adds per-sentence scores.Default sentence.
explainbooleanReturn the signals behind the score.Default true.
calibrate_tostringA voice_id. Scores are reported relative to that writer's own baseline.

Billed per input word at the Detect rate. Calibrated requests cost the same.

FAQ

Questions, answered.

Something missing? Email support@intactvoice.com.

No, and please don't. A score is a signal about how text reads, not evidence of who wrote it. Use it to decide what to look at more closely: the response tells you which sentences and which patterns, so a person can make the call.

Know what to look at.

Score your own content sentence by sentence. Detect uses 1 word of allowance per 5 scanned, so 200,000 words on Basic API cover 1,000,000 words of detection.

  • Annual: 2 months free
  • Failed fidelity checks use no words
  • Cancel anytime