/api/v1/outils-ia/detecter-texte-iaAPI Détecteur de texte IA
Estime, avec un score de 0 à 100, la probabilité qu'un texte ait été généré par une IA à partir de signaux stylistiques.
Tapez au moins 2 caractères pour lancer la recherche.
Présentation
Cet endpoint évalue si un texte présente les traits typiques d'une génération automatique et renvoie un score global, une catégorie lisible (humain, incertain, IA) et le détail des signaux qui l'expliquent.
L'analyse est locale et statistique, sans appel à un modèle externe. Quatre signaux sont pondérés : expressions clichées (40 %), régularité de la longueur des phrases (30 %), diversité lexicale (15 %) et ponctuation caractéristique (15 %). Un signal non calculable (texte trop court) vaut null et est écarté du score. Les expressions clichées repérées sont listées avec leur nombre d'occurrences.
Un indicateur d'aide à la décision, pas une preuve : aucun détecteur n'est infaillible, et un texte humain très formel peut obtenir un score élevé. À utiliser pour trier ou relire des contenus, jamais pour sanctionner seul.
Utilisation pas à pas
- 1Envoyez le texte à analyser (200 à 20 000 caractères) dans le champ text.
- 2Lisez score (0 à 100) et band : « humain », « incertain » ou « ia ».
- 3Consultez signals et detectedPhrases pour comprendre ce qui a fait monter ou baisser le score.
Limites à connaître
- Texte de 200 à 20 000 caractères : en dessous, l'analyse n'est pas fiable.
- Résultat indicatif, à interpréter avec prudence.
Endpoint et authentification
Chaque requête porte votre jeton dans l'en-tête Authorization, et le corps est envoyé en JSON (Content-Type: application/json). Le jeton est gratuit, sur demande depuis votre compte (formulaire en bas de page).
Authorization: Bearer VOTRE_JETONParamètres du corps (JSON)
| Paramètre | Type | Requis | Description |
|---|---|---|---|
| text | string | Requis | Texte à analyser (200 à 20 000 caractères). |
Exemples de code
Le même appel en plusieurs langages. Remplacez VOTRE_JETON par le jeton reçu par e-mail et gardez-le côté serveur (variable d'environnement), jamais dans un dépôt public.
curl -X POST https://www.websource.fr/api/v1/outils-ia/detecter-texte-ia \
-H "Authorization: Bearer VOTRE_JETON" \
-H "Content-Type: application/json" \
-d '{"text":"En conclusion, il est important de noter que l'\''intelligence artificielle joue un rôle de plus en plus crucial dans notre société moderne. Dans un monde en constante évolution, les entreprises doivent s'\''adapter afin de rester compétitives et d'\''exploiter pleinement le potentiel de ces technologies innovantes."}'<?php
$ch = curl_init('https://www.websource.fr/api/v1/outils-ia/detecter-texte-ia');
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 60,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer VOTRE_JETON',
'Content-Type: application/json',
],
CURLOPT_POSTFIELDS => json_encode([
'text' => 'En conclusion, il est important de noter que l\'intelligence artificielle joue un rôle de plus en plus crucial dans notre société moderne. Dans un monde en constante évolution, les entreprises doivent s\'adapter afin de rester compétitives et d\'exploiter pleinement le potentiel de ces technologies innovantes.',
], JSON_UNESCAPED_UNICODE),
]);
$response = json_decode(curl_exec($ch), true);
curl_close($ch);
print_r($response);
import requests
response = requests.post(
"https://www.websource.fr/api/v1/outils-ia/detecter-texte-ia",
headers={"Authorization": "Bearer VOTRE_JETON"},
json={
"text": "En conclusion, il est important de noter que l'intelligence artificielle joue un rôle de plus en plus crucial dans notre société moderne. Dans un monde en constante évolution, les entreprises doivent s'adapter afin de rester compétitives et d'exploiter pleinement le potentiel de ces technologies innovantes."
},
timeout=60,
)
print(response.json())
// Node.js 18+ (fetch natif)
const response = await fetch("https://www.websource.fr/api/v1/outils-ia/detecter-texte-ia", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.WEBSOURCE_API_TOKEN}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
"text": "En conclusion, il est important de noter que l'intelligence artificielle joue un rôle de plus en plus crucial dans notre société moderne. Dans un monde en constante évolution, les entreprises doivent s'adapter afin de rester compétitives et d'exploiter pleinement le potentiel de ces technologies innovantes."
}),
});
const data = await response.json();
console.log(data);
// ⚠️ Ne placez jamais votre jeton dans du code exécuté dans le navigateur.
// Appelez l'API depuis votre serveur (route API Next.js, Express…) et
// laissez React appeler cette route : ici "/api/websource/detecter-texte-ia".
import { useState } from "react";
export default function DetecterTexteIa() {
const [result, setResult] = useState(null);
const [loading, setLoading] = useState(false);
async function run() {
setLoading(true);
const response = await fetch("/api/websource/detecter-texte-ia", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
"text": "En conclusion, il est important de noter que l'intelligence artificielle joue un rôle de plus en plus crucial dans notre société moderne. Dans un monde en constante évolution, les entreprises doivent s'adapter afin de rester compétitives et d'exploiter pleinement le potentiel de ces technologies innovantes."
}),
});
setResult(await response.json());
setLoading(false);
}
return (
<div>
<button onClick={run} disabled={loading}>
{loading ? "Traitement…" : "Lancer"}
</button>
{result && <pre>{JSON.stringify(result, null, 2)}</pre>}
</div>
);
}
require "net/http"
require "json"
uri = URI("https://www.websource.fr/api/v1/outils-ia/detecter-texte-ia")
request = Net::HTTP::Post.new(uri)
request["Authorization"] = "Bearer VOTRE_JETON"
request["Content-Type"] = "application/json"
request.body = <<~JSON
{
"text": "En conclusion, il est important de noter que l'intelligence artificielle joue un rôle de plus en plus crucial dans notre société moderne. Dans un monde en constante évolution, les entreprises doivent s'adapter afin de rester compétitives et d'exploiter pleinement le potentiel de ces technologies innovantes."
}
JSON
response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |http|
http.request(request)
end
puts JSON.parse(response.body)
package main
import (
"bytes"
"fmt"
"io"
"net/http"
)
func main() {
payload := []byte(`{"text":"En conclusion, il est important de noter que l'intelligence artificielle joue un rôle de plus en plus crucial dans notre société moderne. Dans un monde en constante évolution, les entreprises doivent s'adapter afin de rester compétitives et d'exploiter pleinement le potentiel de ces technologies innovantes."}`)
req, _ := http.NewRequest("POST", "https://www.websource.fr/api/v1/outils-ia/detecter-texte-ia", bytes.NewBuffer(payload))
req.Header.Set("Authorization", "Bearer VOTRE_JETON")
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}
using System.Net.Http;
using System.Text;
using var client = new HttpClient();
client.DefaultRequestHeaders.Add("Authorization", "Bearer VOTRE_JETON");
var json = """
{
"text": "En conclusion, il est important de noter que l'intelligence artificielle joue un rôle de plus en plus crucial dans notre société moderne. Dans un monde en constante évolution, les entreprises doivent s'adapter afin de rester compétitives et d'exploiter pleinement le potentiel de ces technologies innovantes."
}
""";
var response = await client.PostAsync(
"https://www.websource.fr/api/v1/outils-ia/detecter-texte-ia",
new StringContent(json, Encoding.UTF8, "application/json"));
Console.WriteLine(await response.Content.ReadAsStringAsync());
// Java 15+ (java.net.http et blocs de texte)
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class Example {
public static void main(String[] args) throws Exception {
String json = """
{
"text": "En conclusion, il est important de noter que l'intelligence artificielle joue un rôle de plus en plus crucial dans notre société moderne. Dans un monde en constante évolution, les entreprises doivent s'adapter afin de rester compétitives et d'exploiter pleinement le potentiel de ces technologies innovantes."
}
""";
HttpRequest request = HttpRequest.newBuilder(URI.create("https://www.websource.fr/api/v1/outils-ia/detecter-texte-ia"))
.header("Authorization", "Bearer VOTRE_JETON")
.header("Content-Type", "application/json")
.POST(HttpRequest.BodyPublishers.ofString(json))
.build();
HttpResponse<String> response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
}
}
Réponses
Réponse en cas de succès (code 200) :
{
"success": true,
"score": 78,
"band": "ia",
"bandLabel": "Plutôt évocateur d'un texte généré par IA",
"wordCount": 46,
"sentenceCount": 2,
"signals": [
{ "key": "cliches", "label": "…", "score": 85, "detail": "…" },
{ "key": "burstiness", "label": "…", "score": null, "detail": "…" }
],
"detectedPhrases": [
{ "phrase": "il est important de noter", "count": 1 }
]
}| Code | Signification | Que faire |
|---|---|---|
| 400 | Paramètre manquant ou invalide | Lisez le champ error, il précise la limite dépassée. |
| 401 | Jeton absent, invalide ou révoqué | Vérifiez l'en-tête Authorization. |
| 429 | Limite horaire atteinte | Attendez l'échéance indiquée dans Retry-After. |
| 503 | Service momentanément indisponible | Réessayez après quelques instants. |
Toute erreur a la forme {"success": false, "error": "…"}. Limite par défaut : 60 requêtes par heure et par jeton (ajustable sur demande).
Demander un accès API
Gratuit. Un jeton vous est envoyé par e-mail une fois la demande approuvée. Il donne accès à tous les outils de cette API.
Pour demander un accès, connectez-vous ou créez un compte gratuit. Vous reviendrez ensuite directement sur ce formulaire.