Skip to main content
Documentation
Centre d’apprentissage

Maîtrisez la modération de contenu grâce à des guides complets, des tutoriels et une documentation API

Liens rapides

Extraction de texte OCR

Discuse extrait le texte des images et des documents afin que vous puissiez lire — et modérer — du contenu qui serait autrement invisible pour un filtre textuel. Envoyez jusqu’à 5 URL d’images ou de documents à POST /api/v2/ocr et vous récupérez le texte reconnu, ainsi que, par défaut, ce texte soumis aux contrôles de contenu de votre projet.

Pourquoi utiliser l’OCR pour la modération ?

De nombreux abus se cachent dans les images : une insulte intégrée à un mème, un lien de phishing dans une capture d’écran, un numéro de téléphone frauduleux sur un flyer. Une vérification de texte simple ne les voit jamais. L’OCR extrait d’abord les mots, afin que les mêmes contrôles de sentiment, de spam, de mots interdits et de langue que vous appliquez déjà au texte s’appliquent aussi au contenu des images et des documents.

Comment extraire du texte ?

Envoyez une ou plusieurs URL de fichiers. moderate vaut true par défaut, donc le texte extrait est également vérifié et vous recevez un objet results en retour ; définissez-le sur false si vous voulez uniquement le texte brut.

curl -X POST https://api.discuse.com/api/v2/ocr \
  -H "Content-Type: application/json" \
  -H "X-API-Key: YOUR_API_KEY" \
  -d '{
    "file_urls": ["https://example.com/user-meme.jpg"],
    "moderate": true
  }'

Une seule requête accepte jusqu’à 5 URL d’images ou de documents.

Réponse

{
  "text": "BUY FOLLOWERS NOW — dm @spammer for 50% off",
  "has_text": true,
  "num_files": 1,
  "has_violations": true,
  "results": {
    "hits": true,
    "spamfinder": {
      "label": "spam",
      "confidence": 0.94,
      "is_spam": true,
      "hit": true
    }
  },
  "usage": {
    "api_requests_used": 412,
    "api_requests_limit": 10000,
    "api_requests_remaining": 9588
  }
}

Lorsque moderate vaut false (ou qu’aucun texte n’a été trouvé), results est omis et has_violations vaut false — vous obtenez simplement le text extrait.

Champs de la requête

Champ Type Remarques
api_key string Facultatif dans le corps ; vous pouvez envoyer X-API-Key à la place
file_urls string[] URL d’images ou de documents à lire. Au moins une est requise, jusqu’à 5
moderate boolean Fait passer le texte extrait par vos contrôles textuels. Vaut true par défaut

Champs de la réponse

Champ Type Description
text string Texte reconnu, concaténé à partir de tous les fichiers
has_text boolean True si un texte non vide a été reconnu
num_files number Nombre de fichiers lus avec succès
has_violations boolean True si le texte modéré a déclenché un contrôle
results object Les résultats des contrôles textuels (voir Analyse de texte), présents uniquement lorsque la modération a été exécutée et qu’un texte a été trouvé
usage object api_requests_used, api_requests_limit, api_requests_remaining

L’objet results a la même structure que POST /api/v2/checkspamfinder, sentiment, language, badwords, ainsi que l’indicateur de premier niveau hits. Consultez Analyse de texte pour le détail des champs.

Limites d’utilisation

L’OCR est une fonctionnalité réservée aux offres payantes ; chaque fichier dont vous extrayez le contenu compte une fois dans votre quota OCR.

Offre Extractions OCR mensuelles Tarif de dépassement
Basic Non disponible -
Gold 1,000 $0.0015/extraction
Platinum 2,000 $0.001275/extraction (15 % de réduction)
Ultimate 4,000 $0.001125/extraction (25 % de réduction)

Si un projet n’a pas d’abonnement actif, les requêtes OCR sont refusées.

Bonnes pratiques

Modérez en un seul appel

Laissez moderate activé (valeur par défaut) lorsque votre objectif est de détecter les violations de règles dans les images. Un seul appel OCR extrait le texte et le vérifie, au lieu d’un appel OCR suivi d’un appel /check séparé.

async function moderateImage(fileUrl) {
  const res = await ocr([fileUrl], true);
  if (res.has_violations) {
    await flagForReview(fileUrl, res.results);
  }
  return res.text;
}

Vérifiez has_text avant d’agir

Une image sans texte lisible renvoie has_text: false et un text vide. Utilisez cette information pour éviter de considérer « rien à lire » comme « propre et confirmé ».

Regroupez les fichiers liés

Si une soumission contient plusieurs images, envoyez-les ensemble (jusqu’à 5) dans une seule requête plutôt que de faire un appel par fichier — moins d’allers-retours, et une seule réponse comptabilisée dans le quota.

Exemples d’intégration

Node.js

async function ocr(fileUrls, moderate = true) {
  const response = await fetch('https://api.discuse.com/api/v2/ocr', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
      'X-API-Key': process.env.DISCUSE_API_KEY
    },
    body: JSON.stringify({ file_urls: fileUrls, moderate })
  });
  return response.json();
}

Python

import os
import requests

def ocr(file_urls, moderate=True):
    response = requests.post(
        'https://api.discuse.com/api/v2/ocr',
        headers={
            'Content-Type': 'application/json',
            'X-API-Key': os.environ['DISCUSE_API_KEY']
        },
        json={'file_urls': file_urls, 'moderate': moderate}
    )
    return response.json()

Prêt à lire le texte des images ? Commencez avec Discuse.

Rédigé par Équipe Discuse · Dernière mise à jour June 2026

Articles associés

Analyse de texte et détection du sentiment

Détectez le spam, la toxicité, les grossièretés et analysez le sentiment dans le contenu textuel

Détection NSFW des images

Détectez et filtrez automatiquement les images inappropriées et le contenu pour adultes

Détection du spam

Filtrage du spam basé sur l’AI pour les textes et les messages