rankion.ai
API

API Outils IA (Detector + Humanizer)

AI Detection et Humanizer via HTTP — single-shot ou batch.

L'API Outils IA regroupe deux domaines fonctionnels : l'AI Detector (détecte du texte généré par IA et fournit un score 0–100) et le Humanizer (réécrit du texte IA pour le rendre plus humain — en single-shot ou en batch sur plusieurs documents). Tous les endpoints sont sous /v1/... et team-scoped.

Contexte des modules : AI Detector · Humanizer.

AI Scanner (Detect + Humanize inline)

La voie rapide — détection + humanisation sur un article déjà présent dans Rankion.

Méthode Endpoint Body Crédits
POST /v1/ai-scanner/detect {text, scan_type?:"full"|"snippet"} 2
POST /v1/ai-scanner/humanize {article_id, level?:"light"|"medium"|"heavy"} 5
TOKEN="$RANKION_API_TOKEN"
BASE="https://rankion.ai/api/v1"

# Détection sur un snippet
curl -X POST "$BASE/ai-scanner/detect" \
  -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
  -d '{"text":"Künstliche Intelligenz revolutioniert die digitale Welt...","scan_type":"snippet"}'

Réponse :

{
  "ai_probability": 87,
  "verdict": "likely_ai",
  "confidence": "high",
  "flagged_passages": [
    { "start": 0, "end": 142, "score": 92, "reason": "Generic opener pattern" }
  ]
}

scan_type=full analyse au niveau du paragraphe et fournit un tableau heatmap passages[] avec un score par paragraphe. scan_type=snippet (défaut) ne renvoie que le score agrégé.

L'endpoint humanize réécrit inline un article existant dans Rankion (écrase article.content, crée une version) — le level pilote l'agressivité : light = corrections de phrasing, medium = syntaxe + vocabulaire, heavy = reformulation complète.

Humanizer (batch, async)

L'endpoint Humanizer dédié prend du texte libre (pas besoin de stub d'article) et le traite en batch — idéal pour le rewriting en masse ou les workflows headless.

Méthode Endpoint Body Crédits
POST /v1/humanize {text, project_id?, language?, level?} → 202 + {batch_id} 8
GET /v1/humanize/{batch_id} Statut du batch + liste de sortie
GET /v1/humanize/{batch_id}/documents/{id} Détail d'un document
# Démarrer le batch
BATCH=$(curl -s -X POST "$BASE/humanize" \
  -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
  -d '{
    "text":"AI-generierter Originaltext, mehrere Absätze...",
    "language":"de",
    "level":"medium"
  }' | jq -r .batch_id)

# Poller le statut (async : 15 à 60 s par document)
curl "$BASE/humanize/$BATCH" \
  -H "Authorization: Bearer $TOKEN"

Valeurs de status : queuedprocessingcompleted (ou failed).

Réponse GET /humanize/{batch_id} (200) :

{
  "batch_id": 19,
  "status": "completed",
  "language": "de",
  "level": "medium",
  "documents": [
    {
      "id": 102,
      "original_word_count": 740,
      "humanized_word_count": 758,
      "ai_score_before": 91,
      "ai_score_after": 22,
      "preview": "Erste 200 Zeichen des humanisierten Texts..."
    }
  ],
  "credits_used": 8
}

Tu récupères le texte humanisé complet via GET /humanize/{batch_id}/documents/{id} (champ humanized_text).

Exemple complet : Detect → Humanize → Re-Detect

TEXT="..."  # texte IA original

# 1) Détection avant
SCORE_BEFORE=$(curl -s -X POST "$BASE/ai-scanner/detect" \
  -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
  -d "{\"text\":\"$TEXT\",\"scan_type\":\"snippet\"}" | jq -r .ai_probability)

# 2) Batch Humanize
BATCH=$(curl -s -X POST "$BASE/humanize" \
  -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
  -d "{\"text\":\"$TEXT\",\"level\":\"medium\"}" | jq -r .batch_id)

# 3) Polling
while [ "$(curl -s "$BASE/humanize/$BATCH" \
  -H "Authorization: Bearer $TOKEN" | jq -r .status)" != "completed" ]; do
  sleep 5
done

# 4) Texte humanisé + nouvelle détection
DOC_ID=$(curl -s "$BASE/humanize/$BATCH" \
  -H "Authorization: Bearer $TOKEN" | jq -r '.documents[0].id')
HUMANIZED=$(curl -s "$BASE/humanize/$BATCH/documents/$DOC_ID" \
  -H "Authorization: Bearer $TOKEN" | jq -r .humanized_text)

curl -s -X POST "$BASE/ai-scanner/detect" \
  -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
  -d "{\"text\":\"$HUMANIZED\",\"scan_type\":\"snippet\"}" \
  | jq '{before: '$SCORE_BEFORE', after: .ai_probability}'

Notes & pièges

  • Humanize ne ramène pas garantissement le score IA à 0. Réaliste : 80+ → 15–30. Qui promet « score IA 0 » ment. Utilise level=heavy pour une réduction plus forte (changement de style plus marqué).
  • /humanize est async, /ai-scanner/humanize est sync. Article unique en sync, bulk/texte libre en async.
  • La détection est probabiliste. Score IA < 30 = probablement humain, > 70 = probablement IA. Les valeurs entre les deux doivent honnêtement être interprétées comme indéterminées.
  • Spécifie la langue. Sans language, le Humanizer devine — en cas de mix linguistique (DE dans un texte EN), cela donne de moins bons résultats.

Voir aussi : API Articles · Crédits · AI Detector · Humanizer.

Letzte Aktualisierung: 1 mai 2026

Cookies : Nous utilisons des cookies nécessaires pour le fonctionnement et facultatifs pour les améliorations. Détails

Nécessaire
Actif
Analytique
Marketing