Modération d’images
Cet outil examine une image et signale ce qu’elle pourrait contenir de sensible : nudité, violence, contenus choquants et registres voisins. Il n’efface rien à votre place : il alerte, pour vous aider à décider ce qui peut paraître. Utile là où arrivent des images que vous n’avez pas produites vous-même.
Exécuter en ligne
Exécutez cette tâche sur nos serveurs, avec votre compte. Les outils gratuits tournent dans votre navigateur ; celui-ci est facturé sur votre solde KIT au prix affiché ci-dessus.
Ce que la modération signale
L’outil classe l’image selon des registres sensibles usuels — nudité, violence, contenus choquants — et indique lesquels semblent présents. Il ne censure pas : il concentre l’attention là où elle est nécessaire. La décision finale — publier, flouter, écarter — reste la vôtre. L’objectif est de gagner du temps de tri sur un volume d’images que personne ne peut regarder intégralement, en pointant celles qui appellent un examen humain.
Un filet, pas un juge
Aucune modération automatique n’est parfaite : le contexte, une œuvre d’art, une image médicale ou une simple ambiguïté peuvent tromper l’analyse dans un sens comme dans l’autre. Un visuel anodin peut être signalé, un cas limite peut passer. Traitez le repérage comme un premier filtre qui oriente une relecture, non comme un verdict appliqué sans contrôle, surtout lorsqu’une décision de publication ou d’exclusion en dépend directement.
Où elle rend service
La modération d’images est utile partout où affluent des visuels tiers : photos déposées par des utilisateurs, contributions à une galerie ouverte, images jointes à des messages. Elle permet un premier tri avant diffusion, protège une audience et aide à tenir une ligne éditoriale sans regarder chaque fichier reçu — ce qui deviendrait vite impossible dès que le flux monte en volume.
Traitement côté serveur
L’analyse s’exécute sur nos serveurs : l’image est transmise de façon chiffrée, examinée le temps de produire le repérage, puis supprimée. Rien n’est conservé au-delà. Sur des contenus par nature sensibles, ce point mérite d’être connu : le fichier quitte l’appareil le temps du traitement, à la différence d’un outil qui resterait dans le navigateur.
Cas d’usage
Photos déposées par des utilisateurs
Une plateforme reçoit des images du public et fait un premier tri avant qu’une personne ne valide ce qui est publié.
Galerie à contributions ouvertes
Studio Lumen SAS filtre les visuels envoyés par une communauté pour écarter les contenus sensibles avant mise en ligne.
Petites annonces avec photos
Un site d’annonces signale les images à vérifier avant leur affichage, sans regarder chaque publication une à une.
Contrôle avant diffusion
Avant de publier les photos d’un événement, Élodie Garnier s’assure qu’aucun visuel problématique ne lui a échappé.
Questions fréquentes
L’outil supprime-t-il les images problématiques ?
Non. Il signale les visuels sensibles ; la décision de flouter, écarter ou publier reste la vôtre. C’est un repérage, pas une censure automatique.
Le repérage est-il fiable à 100 % ?
Aucune modération automatique ne l’est. Une œuvre, une image médicale ou un cas ambigu peuvent fausser l’analyse. Traitez le résultat comme un premier filtre à relire.
Quels registres sont couverts ?
Les registres sensibles usuels : nudité, violence et contenus choquants. Le repérage classe l’image par catégorie pour orienter votre décision.
Quel est le tarif d’une analyse ?
Le tarif est de $0.010 par requête et $0.0575 par image, en dollars US, réglé à l’usage, sans abonnement ni volume minimal.
Les images sensibles sont-elles conservées ?
Non. Chaque image est transmise de façon chiffrée, analysée le temps du repérage, puis supprimée de nos serveurs. Rien n’est gardé au-delà.
Peut-on modérer un flux entrant en continu ?
Oui. Au-delà de cette page, la même fonction est accessible via API, pour filtrer un flux d’images dans votre propre circuit de publication.
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre stack
curl -X POST https://api.kit.forhosting.com/image/moderate \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"image":"https://ejemplo.com/imagen.jpg"}'const res = await fetch("https://api.kit.forhosting.com/image/moderate", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"image": "https://ejemplo.com/imagen.jpg"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/image/moderate",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"image": "https://ejemplo.com/imagen.jpg"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/image/moderate", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"image":"https://ejemplo.com/imagen.jpg"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"image":"https://ejemplo.com/imagen.jpg"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/image/moderate", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemple de requête
{
"image": "https://ejemplo.com/imagen.jpg"
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "image.moderate",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Limites
max_mb | 15 |
max_megapixels | 12 |
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |
422 | task_failed | La tâche a échoué : elle ne vous est pas facturée. |