Détection de toxicité

Une API de toxicité qui distingue une insulte d'une blague

Vous envoyez un message et recevez un score de toxicité entre 0 et 1. VigiMod lit toute la phrase, et les messages précédents si vous les envoyez : une attaque contre une personne est signalée, alors que pester contre un jeu vidéo ou taquiner un ami ne l'est pas. Entraînée sur 26 langues, gratuite pendant la bêta.

De vraies réponses, pas une liste de mots

Voici les scores que l'API a donnés à chaque message. Une liste de gros mots signalerait « killing », « hate » et « idiot » et manquerait la plupart des vraies attaques.

MessageScore toxicRésultat
enyou're honestly the dumbest person in this server, just leave1.00signalé
enthis boss fight is killing me, I hate this level so much0.00non signalé
itma stai zitto, nessuno ti ha chiesto niente, fai pena1.00signalé
itche partita di merda, abbiamo giocato malissimo0.00non signalé
escállate ya, das asco, nadie te quiere aquí1.00signalé
dedu bist so ein erbärmlicher Versager, verschwinde endlich1.00signalé
frt'es vraiment trop fort, bien joué mec !0.00non signalé
enst*pid l0ser, g0 away1.00signalé
enlol you absolute idiot, I love youenvoyé après : “happy birthday mate!!” · “you forgot it last year”0.01non signalé

Réponses de VigiMod 1.2.1 du 11 novembre 2026, avec les seuils par défaut.

Ce que signifie le score toxic

  • Signalés : les messages grossiers, irrespectueux ou agressifs envers quelqu'un. Insultes, humiliations, dire à une personne qu'elle ne vaut rien ou qu'elle doit partir.
  • Non signalés : le langage cru visant des choses (un match, un niveau, un bug), les compliments et les taquineries entre amis quand les messages précédents montrent que c'est une blague.
  • Les astuces sont défaites d'abord : lettres remplacées par des chiffres ou des symboles, lettres espacées et mots étirés sont lus comme le mot qu'ils cachent.
  • Les insultes, la haine et les menaces ont aussi leur propre score : vous pouvez traiter une menace autrement qu'une simple grossièreté.

Une seule requête

Un POST avec le message. Tout le reste est facultatif : les messages précédents, les catégories utiles, votre propre seuil.

import requests

r = requests.post(
    "https://api.vigimod.com/moderate",
    headers={"X-API-Key": VIGIMOD_KEY},
    json={
        "text": message,
        "context": previous_messages,        # optional: the last messages, oldest first
        "categories": ["toxic", "insult"],   # optional: only what you need (faster)
        "thresholds": {"toxic": 0.8},        # optional: flag less
    },
)
result = r.json()
result["scores"]["toxic"]   # 0.0 to 1.0
result["flags"]["toxic"]    # True when the score reaches the threshold

Vous choisissez la sévérité

  1. Chaque catégorie a un seuil par défaut, réglé sur des données de validation. Un score égal ou supérieur déclenche le signalement.
  2. Montez le seuil pour signaler moins (moins de fausses alertes), baissez-le pour en attraper plus. Il peut changer à chaque requête : chaque communauté a le sien.
  3. VigiMod ne fait que signaler. La suite (supprimer, masquer, avertir, transmettre à un modérateur) vous appartient.

À quoi s'attendre

VigiMod donne le meilleur en italien, anglais, espagnol, français, allemand et portugais, et comprend 26 langues. Pour les réponses courtes, le sarcasme et les blagues, envoyez les messages précédents comme contexte : le modèle les lit avec le message. Pour les décisions les plus importantes, ajoutez la relecture d'un modérateur.

Questions

Qu'est-ce qu'un score de toxicité ?
Un nombre entre 0 et 1 qui indique la probabilité qu'un message soit grossier, irrespectueux ou agressif envers quelqu'un. L'API le compare à un seuil et renvoie un signalement ; vous pouvez aussi lire le score et décider vous-même.
Les gros mots sont-ils signalés comme toxiques ?
Pas à eux seuls. « Quel match de merde » n'attaque personne et n'est pas signalé ; une insulte visant une personne l'est. Si votre communauté n'accepte aucun gros mot, ajoutez une règle comme « Pas de gros mots » ou activez block_slurs.
Dans quelles langues fonctionne-t-elle ?
Elle a été entraînée sur 26 langues et fonctionne le mieux en italien, anglais, espagnol, français, allemand et portugais. Inutile d'indiquer la langue du message.
Combien ça coûte ?
C'est gratuit pendant la bêta, avec 120 messages par minute pour chaque clé API. Des offres payantes avec des limites plus élevées viendront plus tard, annoncées bien à l'avance.
Conservez-vous les messages ?
Non. Les messages sont vérifiés puis écartés : ils ne sont ni enregistrés ni utilisés pour entraîner des modèles. La seule exception est une file de revue que vous activez pour vos modérateurs : ses messages sont gardés le nombre de jours choisi, puis supprimés.

Essayez-la sur vos messages

Créez une clé gratuite et envoyez votre première requête en quelques minutes.