Skip to main content
डॉक्यूमेंटेशन
लर्निंग सेंटर

विस्तृत गाइड, ट्यूटोरियल और API डॉक्यूमेंटेशन के साथ कंटेंट मॉडरेशन में महारत हासिल करें

क्विक लिंक

छवि NSFW पहचान

Discuse इमेज मॉडरेशन, उपयोगकर्ताओं द्वारा सबमिट की गई छवियों को स्पष्ट सामग्री के लिए स्कोर करता है। check_images सक्षम करके छवि URLs को POST https://api.discuse.com/api/v2/check पर भेजें, और API results.images ऑब्जेक्ट के अनुसार porn, sexual, और neutral संभावनाएँ, साथ ही एक hit फ़्लैग लौटाता है।

NSFW पहचान कैसे काम करती है?

Discuse का कंप्यूटर-विज़न मॉडल हर छवि के लिए तीन संभावनाएँ लौटाता है, जिनका योग 1.0 की ओर होता है:

  • porn: छवि के पोर्नोग्राफ़िक होने की संभावना।
  • sexual: छवि के यौन रूप से संकेतात्मक होने की संभावना।
  • neutral: छवि के सुरक्षित होने की संभावना।

hit फ़्लैग बताता है कि छवि ने आपके प्रोजेक्ट की NSFW थ्रेशहोल्ड पार कर ली है। कच्चे स्कोर का उपयोग करके स्पष्ट रूप से अश्लील छवि (ऑटो-ब्लॉक) को सीमा-रेखा वाली छवि (मानवीय समीक्षा) से अलग करें।

मैं किसी छवि की जाँच कैसे करूँ?

एक या अधिक छवि URLs सबमिट करें और check_images के साथ इमेज चेक सक्षम करें:

curl -X POST https://api.discuse.com/api/v2/check \
  -H "Content-Type: application/json" \
  -H "X-API-Key: YOUR_API_KEY" \
  -d '{
    "content": {
      "image_urls": ["https://example.com/user-upload.jpg"]
    },
    "settings": {
      "check_images": true
    }
  }'

एक अनुरोध में अधिकतम 10 छवि URLs स्वीकार किए जाते हैं।

प्रतिक्रिया प्रारूप

{
  "has_violations": true,
  "cached": false,
  "message": "NSFW content detected",
  "results": {
    "hits": true,
    "images": {
      "status": "ok",
      "porn": 0.95,
      "sexual": 0.85,
      "neutral": 0.02,
      "hit": true
    }
  },
  "usage": {
    "api_requests_used": 12,
    "api_requests_limit": 2000,
    "api_requests_remaining": 1988
  }
}

छवि परिणाम results.images के अंतर्गत होता है। processing_time_ms केवल तब मौजूद होता है जब आपके प्रोजेक्ट सेटिंग्स में टाइमिंग सक्षम हो।

कई छवियों की जाँच करना

{
  "content": {
    "image_urls": [
      "https://example.com/image1.jpg",
      "https://example.com/image2.jpg",
      "https://example.com/image3.jpg"
    ]
  },
  "settings": {
    "check_images": true
  }
}

स्कैन की गई हर छवि आपके इमेज-स्कैन कोटा में अलग से गिनी जाती है।

मैं स्कोर को कैसे समझूँ?

porn, sexual, और neutral 0.0 से 1.0 तक की संभावनाएँ हैं। किसी स्पष्ट छवि के लिए, porn उच्च और neutral कम होता है; सुरक्षित छवि के लिए, neutral प्रमुख होता है।

function interpretImageResult(result) {
  const img = result.results.images;

  if (img.porn > 0.8) {
    return 'block';   // automatically reject
  } else if (img.porn > 0.5 || img.sexual > 0.7) {
    return 'review';  // queue for human review
  } else if (img.sexual > 0.5) {
    return 'warn';    // allow with a content-warning label
  } else {
    return 'allow';
  }
}

आप hit फ़्लैग के आधार पर भी गेट लगा सकते हैं, जो पहले से ही आपके प्रोजेक्ट की threshold_images_porn और threshold_images_sexual सेटिंग्स लागू करता है।

उपयोग के मामले

सोशल प्लेटफ़ॉर्म

प्रोफ़ाइल तस्वीरों और पोस्ट छवियों को लाइव होने से पहले स्क्रीन करें:

async function handleImageUpload(imageUrl) {
  const result = await checkImage(imageUrl);
  const img = result.results.images;

  if (img.porn > 0.7) {
    throw new Error('This image violates our community guidelines');
  }
  if (img.sexual > 0.7) {
    return { url: imageUrl, hasContentWarning: true };
  }
  return { url: imageUrl, hasContentWarning: false };
}

मार्केटप्लेस

उत्पाद छवियों के लिए अधिक सख्त कटऑफ़ लागू करें:

def validate_product_image(image_url):
    result = check_image(image_url)
    img = result['results']['images']

    if img['porn'] > 0.3 or img['sexual'] > 0.3:
        return {'approved': False, 'reason': 'Image contains inappropriate content'}

    return {'approved': True}

सर्वोत्तम अभ्यास

स्थायी स्टोरेज से पहले स्कैन करें

async function processUpload(file) {
  const tempUrl = await uploadToTemp(file);
  const result = await checkImage(tempUrl);

  if (result.has_violations) {
    await deleteTempFile(tempUrl);
    throw new Error('Image rejected');
  }
  return await moveToPermanent(tempUrl);
}

टेक्स्ट मॉडरेशन के साथ मिलाएँ

एक ही अनुरोध में छवि और उसके कैप्शन को साथ में स्कैन किया जा सकता है:

{
  "content": {
    "text": "Check out this photo from my vacation!",
    "image_urls": ["https://example.com/vacation.jpg"]
  },
  "settings": {
    "check_sentiment": true,
    "check_spam": true,
    "check_images": true
  }
}

कैश किए गए परिणामों का उपयोग करें

कैश की गई प्रतिक्रियाएँ आपके कोटा में नहीं गिनी जातीं, इसलिए पहले से स्कैन की गई छवि को दोबारा दिखाना या फिर से वैलिडेट करना मुफ़्त है। प्रतिक्रिया में cached फ़्लैग आपको बताता है कि परिणाम कब कैश से आया था।

उपयोग सीमाएँ

प्लान मासिक इमेज स्कैन अतिरिक्त उपयोग दर
Basic 500 उपलब्ध नहीं
Gold 2,000 $0.00075/scan
Platinum 5,000 $0.00064/scan (15% छूट)
Ultimate 10,000 $0.00056/scan (25% छूट)

इंटीग्रेशन उदाहरण

Node.js

const checkImage = async (imageUrl) => {
  const response = await fetch('https://api.discuse.com/api/v2/check', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
      'X-API-Key': process.env.DISCUSE_API_KEY
    },
    body: JSON.stringify({
      content: { image_urls: [imageUrl] },
      settings: { check_images: true }
    })
  });

  return response.json();
};

Python

import os
import requests

def check_image(image_url):
    response = requests.post(
        'https://api.discuse.com/api/v2/check',
        headers={
            'Content-Type': 'application/json',
            'X-API-Key': os.environ['DISCUSE_API_KEY']
        },
        json={
            'content': {'image_urls': [image_url]},
            'settings': {'check_images': True}
        }
    )
    return response.json()

अगले चरण

Discuse टीम द्वारा लिखा गया · अंतिम अपडेट June 2026

संबंधित लेख

Text Analysis और Sentiment Detection

टेक्स्ट content में spam, toxicity, profanity का पता लगाएँ और sentiment का विश्लेषण करें

Spam Detection

टेक्स्ट और messages के लिए AI-संचालित spam filtering

File Antivirus Scanning

अपने प्लेटफ़ॉर्म को malware, viruses, और malicious files से सुरक्षित रखें