Skip to main content
التوثيق
مركز التعلّم

أتقن إشراف المحتوى عبر أدلة شاملة، وشروحات عملية، ووثائق API

روابط سريعة

استخراج النصوص عبر OCR

يستخرج Discuse النصوص من الصور والمستندات كي تتمكّن من قراءة — ومراجعة — المحتوى الذي كان سيبقى غير مرئي لمرشّح النصوص. أرسل ما يصل إلى 5 عناوين URL لصور أو مستندات إلى POST /api/v2/ocr وستحصل على النص المتعرّف عليه، وبشكل افتراضي، يتم تمرير هذا النص عبر فحوصات المحتوى الخاصة بمشروعك.

لماذا نستخدم OCR في الإشراف؟

يختبئ الكثير من الإساءة داخل الصور: إهانة مضمّنة في ميم، رابط تصيّد داخل لقطة شاشة، أو رقم هاتف احتيالي على منشور. الفحص النصي العادي لا يراها أبدًا. يستخرج OCR الكلمات أولًا، بحيث تُطبَّق فحوصات المشاعر والرسائل المزعجة والكلمات المسيئة واللغة نفسها التي تستخدمها بالفعل على النصوص، على محتوى الصور والمستندات أيضًا.

كيف أستخرج النص؟

أرسل عنوان URL واحدًا أو أكثر للملفات. القيمة الافتراضية لـ moderate هي true، لذلك يتم أيضًا فحص النص المستخرج وستحصل على كائن results في الرد؛ اضبطها على false إذا كنت تريد النص الخام فقط.

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
  }'

يقبل الطلب الواحد ما يصل إلى 5 عناوين URL لصور أو مستندات.

الاستجابة

{
  "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
  }
}

عندما تكون moderate بقيمة false (أو لم يتم العثور على نص)، يتم حذف results وتكون has_violations بقيمة false — وستحصل فقط على text المستخرج.

حقول الطلب

الحقل النوع ملاحظات
api_key string اختياري في جسم الطلب؛ يمكنك إرسال X-API-Key بدلًا منه
file_urls string[] عناوين URL للصور أو المستندات المطلوب قراءتها. مطلوب عنوان واحد على الأقل، وبحد أقصى 5
moderate boolean تمرير النص المستخرج عبر فحوصات النص لديك. القيمة الافتراضية هي true

حقول الاستجابة

الحقل النوع الوصف
text string النص المتعرّف عليه، مدمجًا من جميع الملفات
has_text boolean تكون True إذا تم التعرّف على أي نص غير فارغ
num_files number عدد الملفات التي تمت قراءتها بنجاح
has_violations boolean تكون True إذا تسبّب النص الذي تمت مراجعته في تشغيل أحد الفحوصات
results object نتائج فحص النص (راجع تحليل النص)، وتظهر فقط عندما يتم تشغيل المراجعة والعثور على نص
usage object api_requests_used, api_requests_limit, api_requests_remaining

يحمل كائن results البنية نفسها الخاصة بـ POST /api/v2/checkspamfinder و sentiment و language و badwords، بالإضافة إلى علم hits في المستوى الأعلى. راجع تحليل النص للاطلاع على تفاصيل الحقول.

حدود الاستخدام

OCR ميزة متاحة في الخطط المدفوعة؛ كل ملف تستخرج منه النص يُحتسب مرة واحدة ضمن حصة OCR الخاصة بك.

الخطة عمليات استخراج OCR الشهرية تكلفة التجاوز
Basic غير متاحة -
Gold 1,000 $0.0015/استخراج
Platinum 2,000 $0.001275/استخراج (خصم 15%)
Ultimate 4,000 $0.001125/استخراج (خصم 25%)

إذا لم يكن لدى المشروع اشتراك نشط، فسيتم رفض طلبات OCR.

أفضل الممارسات

راجع المحتوى في استدعاء واحد

اترك moderate مفعّلة (وهو الإعداد الافتراضي) عندما يكون هدفك رصد انتهاكات السياسات في الصور. استدعاء OCR واحد يستخرج النص ويفحصه معًا، بدلًا من استدعاء OCR يتبعه استدعاء منفصل لـ /check.

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

تحقّق من has_text قبل اتخاذ إجراء

الصورة التي لا تحتوي على نص قابل للقراءة تُرجع has_text: false و text فارغًا. استخدم هذا الشرط في منطقك حتى لا تتعامل مع "لا يوجد ما يُقرأ" على أنه "نظيف ومؤكَّد".

اجمع الملفات ذات الصلة في دفعة واحدة

إذا كان الإرسال يحتوي على عدة صور، فأرسلها معًا (حتى 5) في طلب واحد بدلًا من استدعاء لكل ملف — رحلات أقل ذهابًا وإيابًا، واستجابة واحدة متتبَّعة ضمن الحصة.

أمثلة التكامل

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()

هل أنت مستعد لقراءة النصوص من الصور؟ ابدأ مع Discuse.

كتبه فريق Discuse · آخر تحديث June 2026

مقالات ذات صلة

تحليل النص واكتشاف المشاعر

اكتشف الرسائل المزعجة والسمّية والألفاظ النابية، وحلّل المشاعر في المحتوى النصي

اكتشاف NSFW في الصور

اكتشف الصور غير الملائمة ومحتوى البالغين وقم بتصفيتها تلقائيًا

اكتشاف الرسائل المزعجة

تصفية الرسائل المزعجة في النصوص والرسائل باستخدام AI