Metin moderasyonu API’si: on dilde yorum, mesaj ve gönderileri denetleyin.
Detectivision’ın metin moderasyonu API’si, gönderdiğiniz on dilden birindeki metni sekiz bayrağa göre denetler: küfür, hakaret, nefret söylemi, ırkçılık, cinsiyetçilik, cinsel içerik, kendine zarar verme ve uyuşturucu, alkol, sigara ya da kumarın anlatılması veya özendirilmesi. Cevapta kalkan her bayrak ve güven puanı yer alır; yayınlamak, bekletmek ya da engellemek sizin kararınızdır.
Sekiz bayrak
Herkese açık durum uç noktası (/api/v1/status) 16 Ekim 2026’da metin moderasyonunu “operational”, bu sekiz bayrağı da “available” olarak gösteriyordu. Hesabınızın bayrakları planınıza bağlıdır: GET /api/v1/flags hangilerini gönderebileceğinizi listeler. Her bayrak metni bir bütün olarak değerlendirir.
Küfür ve kaba argo; arkadaşça söylense de, kimseye yönelmese de. “Salak” gibi küfür sayılmayan kaba sözler hakarete girer.
Tek bir kişiye ya da okuyana yönelik saldırı: ad takma, aşağılama, birine küfrederek saldırma.
Irk, etnik köken, milliyet, din, cinsiyet, cinsel yönelim ya da engellilik nedeniyle bir gruba düşmanlık, aşağılama ya da olumsuz genelleme.
Irkçılık
Irk, etnik köken ya da milliyet üzerinden aşağılama, kalıp yargı ve genelleme.
Cinsiyetçilik
Bir cinsiyeti aşağı gören ya da belli rollere sokan sözler.
Cinsel içerik
Cinsel eylemi ya da çıplaklığı anlatan veya isteyen metinler; cinsel taciz ve teklif.
İntihar ya da kendine zarar verme isteği, anlatımı ya da özendirilmesi; birinin yardıma ihtiyacı olabileceğini gösterir.
Kötü alışkanlıklar
Uyuşturucu, alkol, sigara ya da kumarın, bahis dahil, anlatılması ya da özendirilmesi.
Metni olduğu gibi gönderin
input alanına 1 ile 10.000 karakter arası bir metin koyun. Metin kırpılmadan, yazıldığı gibi denetlenir. Dil belirtmeniz gerekmez: İngilizce, İspanyolca, Portekizce, Fransızca, Almanca, İtalyanca, Türkçe, Arapça, Rusça ve Hintçe aynı uç noktaya gider. Karakterler Unicode kod noktası olarak sayılır, yani bir emoji tek karakterdir.
Bayrakları seçin
Varsayılan olarak hesabınızın bütün metin bayraklarına bakılır. Yalnızca bazılarını istiyorsanız flags alanına yazın: diğerlerine bakılmaz ve fiyat artmaz.
Anında ya da arka planda
Yayından önce karar gerekiyorsa cevabı anında alın. Bekleyebilecek içerikleri "async": true ile gönderin: API hemen isteğin id’sini döner, kontrol kısa süre sonra yapılır ve sonuç moderation.completed ya da moderation.flagged webhook’uyla gelir. Arka planda yapılan kontrol, anında cevabın yarı fiyatınadır.
Cevaba göre karar verin
flagged, en az bir bayrak kalktığında true olur. flags kalkan bayrakları güven puanlarıyla, checked bakılan bayrakları verir. İşe flagged ve bayrak adlarıyla başlayın; sonra kendi çizginizi çizin, örneğin 0,5 ile 0,7 arasındaki sonuçları bir insana gönderin.
Moderatörler devralsın
Moderatörleriniz bir isteği panelin Logs ekranında açar. Onayla ya da Engelle gibi kendi aksiyonlarınızı tanımlarsınız; bir moderatör birini seçince sisteminize moderation.action webhook’u gider ve işlemi sisteminiz yapar. metadata alanına koyduğunuz yorum ve kullanıcı numaraları (en çok 16 KB) cevapta, Logs’ta ve her webhook’ta değişmeden geri gelir.
Fiyat
Sonuç webhook ile gelirse başlayan her 2.500 karakter için bir kredi; anında cevap bunun iki katı. Hatalar ve bir bayrağa bakılamadığı kısmi (partial) sonuçlar ücretsizdir. Planlar ve fiyatlar fiyatlandırma sayfasında (İngilizce).
Bir istek, bir cevap
curl https://api.detectivision.ai/api/v1/moderation \
-H "Api-Key: $DETECTIVISION_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"type": "text_moderation",
"input": "Kızlar matematikten anlamaz, sen de tam bir salaksın.",
"mode": "detect",
"metadata": { "commentId": "c_10233" }
}'{
"id": 10871,
"type": "text_moderation",
"mode": "detect",
"status": "completed",
"flagged": true,
"flags": [
{ "flag": "insult", "confidence": 0.91 },
{ "flag": "sexism", "confidence": 0.87 }
],
"checked": [
"bad_habits",
"hate",
"insult",
"profanity",
"racism",
"self_harm",
"sexism",
"sexual"
],
"unchecked": [],
"tookMs": 720,
"usage": { "charged": 2, "remaining": 5308 },
"metadata": { "commentId": "c_10233" }
}İstekte flags olmadığı için sekiz bayrağın hepsine bakılır; checked bunu gösterir. Tanımlara göre mesajdaki “salak” küfür değil hakarettir; kızlar hakkındaki genelleme ise cinsiyetçiliktir. detect modu yalnızca kalkan bayrakları ve güven puanlarını döndürür. Bugünkü planlarda bayraklar metni bir bütün olarak değerlendirdiği için kelime konumu dönmez. Bu bir örnek cevaptır: biçim API referansındaki gibidir, değerler örnek amaçlıdır.
Neyi yapmaz
Kelimenin yerini göstermez
Bugünkü planlarda bayraklar metni bir bütün olarak değerlendirir: hangi kelimenin bayrağı kaldırdığını söylemez, yıldızlanmış bir kopya da döndürmez. Kararınızı mesajın tamamı için verin.
Yalnızca on dilde güvenilir
İngilizce, İspanyolca, Portekizce, Fransızca, Almanca, İtalyanca, Türkçe, Arapça, Rusça ve Hintçe. Başka dillerdeki metinler de denetlenir, ama sonuçlar güvenilir değildir.
0,5’in altını göstermez
Bir bayrak 0,5 güven puanından itibaren kalkar; altındaki bulgular cevaba hiç gelmez. Kendi çizginizi 0,5’in üstünde çizebilirsiniz, altında değil.
Spam, tehdit ya da kişisel veri bayrağı yok
Her hesapta olan metin bayrakları bu sekizidir; aralarında spam, tehdit, dolandırıcılık mesajı ya da telefon numarası gibi kişisel veriler için bir bayrak yoktur. Hesabınızın bayraklarını GET /api/v1/flags listeler.
İşlemi sizin yerinize yapmaz
Detectivision cevap verir, işlemi sisteminiz yapar. Hiçbir şeyi kendisi silmez, gizlemez ya da yasaklamaz.
Ses, video ve canlı yayın yakında
Bu sayfa metin içindir. Ses, video ve canlı yayın moderasyonu yakında; sesli sohbet bugün denetlenmez.
Hukuki hüküm vermez
Bir bayrak, metnin ne içerdiğini söyler. Yasaya ya da kurallarınıza aykırı olup olmadığına siz karar verirsiniz.
Sık sorulanlar
Webhook kurmadan arka planda denetim yapabilir miyim?
Evet. "async": true ile gönderdiğiniz isteğin sonucunu GET /api/v1/moderation/{id} ile sorgulayabilirsiniz: istek beklerken queued, denetlenirken processing döner, bitince cevabın kendisini verir. En fazla birkaç saniyede bir sorgulayın; webhook yine de daha iyi bir yoldur.
Cevapta unchecked alanı boş değilse ne yapmalıyım?
Bu, bazı bayraklara o anda bakılamadığı anlamına gelir: sonucun status alanı partial olur ve ücret alınmaz. unchecked’teki bayrakları bilinmiyor sayın, temiz değil. Sizin için önemliyse kontrolü biraz sonra tekrarlayın; durum uç noktası bayrakların ne zaman döndüğünü gösterir.
Güven puanları bayraklar arasında karşılaştırılabilir mi?
Hayır. Güven puanı 0 ile 1 arasındadır, ama bayraklar arasında karşılaştırabileceğiniz bir olasılık değildir: 0,9’luk bir hakaret ile 0,9’luk bir nefret söylemi aynı kesinlikte olmak zorunda değildir. Her bayrak için çizginizi ayrı çizin ve işe flagged ile bayrak adlarıyla başlayın.
Kullanıcı mesajını düzenlerse ne yapmalıyım?
Düzenlenen metni yeniden gönderin: her istek ayrı bir kontroldür ve kendi fiyatıyla ücretlendirilir. Eski kararı yeni sonuca göre güncelleyebilmek için mesaj numaranızı metadata’ya koyun; numara cevapta ve webhook’larda değişmeden geri gelir.