İçeriğe geç
DurumPanel

Görev türleri

hCaptcha görsel tanıma

Bu sayfa Çince sürümden makine çevirisiyle hazırlanmıştır ve hatalar içerebilir. Geçerli olan Çince sürüm sürümüdür.

Örnek görselGörsel ızgarası: sorunun altında 9 görsel bulunur, sağ üstte bazen bir örnek görsel (anchors) yer alır; API, tıklanacak görsellerin numaralarını döndürür.

HCaptchaClassification, hCaptcha’nın gösterdiği görsel soruları çözer: soruyu ve görselleri gönderirsiniz, yanıtta hangi görsellerin seçileceği, hangi konuma tıklanacağı veya nereden nereye sürükleneceği döner; işlemi tarayıcıda kendi programınız yapar. Token döndürmez. Senkron çalışır. Her istek için ücret: 8 puan (≈ $1.20 / 1k). Hedef bulunamazsa (sonuç boşsa) puan düşülmez.

POSThttps://api.yescaptcha.com/createTaskGlobal uç nokta
POSThttps://cn.yescaptcha.com/createTaskÇin uç noktası
Görev türüFiyatModNotlar
HCaptchaClassification$1.20 / 1k; 8 puan/görev · ¥8 / 1kSenkronHedef bulunamadığında puan düşümü yapılmaz

ABD doları fiyatları, 1 ABD doları ≈ ¥6.67 kuruyla hesaplanan tahminlerdir; görevler puan üzerinden ücretlendirilir.

AlanTürZorunluAçıklama
typestringEvetGörev türü; bu sayfadaki "Görev türleri ve fiyatlar" bölümüne bakın
queriesarrayEvetSayfadaki sıraya göre Base64 kodlu soru görsellerinin listesi (3×3 ızgarada 9 küçük görsel)
questionstringHayırSayfada görüntülenen sorunun tam metni (Basitleştirilmiş Çince veya İngilizce önerilir), ör. Please click each image containing a bicycle. question ve anchors alanlarından en az birini gönderin; ikisini birden göndermeniz önerilir
anchorsarrayHayırSorunun yanında gösterilen örnek görsellerin Base64 kodlu listesi; örnek görseli olan sorularda gönderilmesi gerekir
  • question alanına sayfada görünen soru cümlesini olduğu gibi gönderin; çevirmeniz gerekmez. hCaptcha dilini Basitleştirilmiş Çince veya İngilizce yapmanız önerilir. Yeni soru ifadeleri genellikle hızla desteklenir; tamamen yeni kategoriler 3 iş günü içinde desteklenir.

Soru “Please click each image containing …” biçimindedir ve altında 9 küçük görsel bulunur. queries alanına 9 görselin Base64 verisini sayfadaki sırayla koyun:

POST https://api.yescaptcha.com/createTask
{
"clientKey": "YOUR_CLIENT_KEY",
"task": {
"type": "HCaptchaClassification",
"question": "Please click each image containing a bicycle",
"queries": ["BASE64_IMAGE_1", "BASE64_IMAGE_2"]
}
}

Yanıt:

{
"errorId": 0,
"status": "ready",
"solution": {
"objects": [true, false, false, true, true, false, true, true, false],
"top_k": [0, 3, 4, 6, 7],
"confidences": [1.0, 0.0, 0.0, 1.0, 1.0, 0.0, 1.0, 1.0, 0.0]
}
}

objects ve top_k aynı bilgiyi taşır: objects her görselin hedef olup olmadığını, top_k ise hedef görsellerin sıra numarasını (0’dan başlayarak) verir. Bu görsellere tıklamanız yeterlidir.

Soru “Please click …” biçimindedir ve altında büyük bir görsel bulunur; görselin üzerinde bir veya birkaç konuma tıklanır.

  1. question alanına sayfadaki soruyu yazın; örnek küçük görseller varsa anchors alanına koyun.
  2. queries alanına tek bir görsel koyun: mümkünse canvas’tan doğrudan dışa aktarılan orijinal görseli (JPG’ye çevirmeniz önerilir) gönderin. Yalnızca ekran görüntüsü alabiliyorsanız aşağıdaki kırmızı çerçevedeki büyük görsel alanını eksiksiz ve fazlasız kırpın.
  3. Yanıttaki box, tıklanacak koordinatları sırayla x1, y1, x2, y2… şeklinde verir; başlangıç noktası yüklenen görselin sol üst köşesidir.
  4. Yüklenen görselin boyutu sayfadaki görüntülenen boyutundan farklıysa ölçekleme yapın: sayfadaki x = dönen x × görüntülenen genişlik ÷ yüklenen görselin genişliği (y için de aynı). Örneğin dönen x = 769, canvas’ın görüntülenen genişliği 350 ve yüklenen görselin genişliği 1000 ise sayfada tıklanacak konum 769 × 350 ÷ 1000 ≈ 269 olur.

Tıklama sorusunda ekran görüntüsü alanı: soru metni question, üç örnek küçük görsel anchors, alttaki büyük görsel queries olur

POST https://api.yescaptcha.com/createTask
{
"clientKey": "YOUR_CLIENT_KEY",
"task": {
"type": "HCaptchaClassification",
"question": "Please click on the entity present in the sample image.",
"anchors": ["BASE64_ANCHOR_1", "BASE64_ANCHOR_2", "BASE64_ANCHOR_3"],
"queries": ["BASE64_OF_THE_BIG_IMAGE"]
}
}

Yanıt:

{
"errorId": 0,
"status": "ready",
"solution": {
"box": ["221", "213"]
}
}

Birden fazla hedefe tıklanması gerekiyorsa box içinde sırayla birden çok koordinat çifti bulunur: ["221", "213", "340", "118", ...].

Soru “Drag … to …” biçimindedir; sağdaki parçaların görseldeki ilgili konuma sürüklenmesi gerekir.

  1. question alanına sayfadaki soruyu yazın.
  2. queries alanına bir ekran görüntüsü koyun. Görselde sürüklenecek parçalar ile hedef konumlar birlikte görünmelidir; görselin her kenarı en az 260 piksel olmalıdır.
  3. Yanıttaki box içindeki her öğe bir sürüklemedir: start parçanın bulunduğu konum, end bırakılacağı konumdur. Birden fazla parça varsa tek tek sürükleyin.
{
"errorId": 0,
"status": "ready",
"solution": {
"type": "drag",
"box": [
{
"start": [644, 218],
"end": [239, 315]
}
]
}
}

Sürükleme sorusu sonucu: Start sürüklenecek parçayı, End hedef konumu gösterir

Ekran görüntüsü yerine protokol verisi (parça görselleri, parça koordinatları ve arka plan görseli) elde ettiyseniz önce parçaları koordinatlarına göre arka plan görseline yapıştırın; sayfadaki ekran görüntüsüyle aynı görünüme getirdikten sonra gönderin.

Soru görseli animasyonsa animasyonun (GIF vb.) Base64 verisini queries alanına koyun. Animasyon süresinin en az 3 saniye, tercihen 5-6 saniye olması ve kare hızının yaklaşık 12 FPS olması önerilir.

Tıklamadan sonra doğrulama başarısız olursa 1 saat içinde report ile bildirebilirsiniz; bildirim sonrası puan iadesi yaklaşık 24 saat sonra hesaplanır. Kurallar için Faturalandırma ve puan iadesi sayfasına bakın.