AI Content Detector

Estimate whether text, or the text of a web page, was written by an AI assistant. The result is a stylometric score, the signals behind it, and a band around the score. It does not judge images or other media.

Send exactly one of text or url. Under 80 words the verdict is uncertain. Detection is probabilistic and should not be the only evidence.

Step 1 — Text

curl -s -X POST https://x402-micro-pay.com/api/skills/ai-detector \
  -H "Content-Type: application/json" \
  -d '{"text":"Paste a passage of at least a few sentences."}'

A short snippet still returns signals, and the verdict stays uncertain until there are 80 words.

Step 2 — URL

curl -s -X POST https://x402-micro-pay.com/api/skills/ai-detector \
  -H "Content-Type: application/json" \
  -d '{"url":"https://www.gutenberg.org/files/1342/1342-h/1342-h.htm"}'

The page is fetched and its text is scored. A page that cannot be fetched, or that has no text, returns uncertain and a reason. No sample paragraph is substituted.

Step 3 — Agent

python -m agent.humanless_client ai_detector --text "Paste a passage of at least a few sentences."

Output fields

ai_likelihood is not a calibrated probability. The optional model check, when configured, is blended at a weight of 0.25 and reported under llm.

The 4-section rubric

The verdict comes from a fixed, deterministic rubric. Each section returns human_sign, ai_sign or no_signal with evidence.

Section Weight Looks at
rhythm 10% sentence-length variance and burstiness
vocabulary 40% a weighted list of LLM tell phrases (secondary signal)
voice_structure 30% hedging, distancing, over-tidy transitions, uniform paragraphs, missing specifics vs. first person, dialogue, names, asides
resolution 20% each section re-checks its neighbour

likely_ai or likely_human needs at least two sections agreeing with positive evidence and none pointing the other way. Tell phrases alone never decide: unconfirmed tells give possible_ai_influence. Disagreement gives uncertain. content_type (story, opinion, factual_claims) is a label only; nothing is fact-checked. ai_likelihood is still the stylometric score.