Aller au contenu
ÉtatTableau de bord

Types de tâches

Reconnaissance d'images hCaptcha

Cette page a été traduite automatiquement à partir de la version chinoise et peut contenir des erreurs. La version chinoise fait foi.

IllustrationGrille d'images : 9 images sous la question, parfois avec une image d'exemple (anchors) en haut à droite ; l'API renvoie les numéros des images à cliquer.

HCaptchaClassification reconnaît les défis d’images hCaptcha : envoyez la question et les images, et obtenez en retour les images à sélectionner, la position à cliquer, ou le point de départ et d’arrivée d’un glissement ; votre programme effectue l’action dans le navigateur. Il ne renvoie pas de token. La réponse est synchrone, chaque requête coûte 8 points (≈ $1.20 / 1k), et aucun point n’est débité quand aucune cible n’est trouvée (résultat vide).

POSThttps://api.yescaptcha.com/createTaskEndpoint mondial
POSThttps://cn.yescaptcha.com/createTaskEndpoint Chine
Type de tâchePrixModeRemarques
HCaptchaClassification$1.20 / 1k; 8 points/tâche · ¥8 / 1kSynchroneAucun débit de points lorsqu'aucune cible n'est trouvée

Les prix en dollars américains sont des estimations avec 1 USD ≈ ¥6.67 ; les tâches sont facturées en points.

ChampTypeObligatoireDescription
typestringOuiType de tâche ; voir « Types de tâches et prix » sur cette page
queriesarrayOuiListe des images de la question encodées en Base64, dans l'ordre de la page (9 vignettes pour une grille 3×3)
questionstringNonLa question complète telle qu'affichée sur la page (chinois simplifié ou anglais recommandé), par ex. Please click each image containing a bicycle. Envoyez au moins l'un de question et anchors ; il est recommandé d'envoyer les deux
anchorsarrayNonImages d'exemple encodées en Base64, affichées à côté de la question ; obligatoires pour les questions qui en comportent
  • Envoyez dans question la question telle qu’elle s’affiche sur la page, sans la traduire ; il est recommandé de passer hCaptcha en chinois simplifié ou en anglais. Les nouvelles formulations sont généralement prises en charge très vite, et les catégories entièrement nouvelles sous 3 jours ouvrés.

La question est du type « Please click each image containing … », avec 9 petites images en dessous. Placez dans queries les 9 images en Base64, dans l’ordre :

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

Réponse :

{
"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 et top_k contiennent la même information : le premier indique pour chaque image si c’est une cible, le second liste les index des images cibles (à partir de 0). Cliquez sur ces images.

La question est du type « Please click on … », avec une grande image en dessous : vous devez cliquer sur une ou plusieurs positions de cette image.

  1. Prenez question sur la page ; s’il y a des images d’exemple, placez-les dans anchors.
  2. Placez une image dans queries : idéalement l’original exporté directement du canvas (conversion en JPG recommandée). Si vous ne pouvez faire qu’une capture d’écran, capturez exactement la zone de la grande image encadrée en rouge, ni plus ni moins.
  3. box dans la réponse contient les coordonnées à cliquer, dans l’ordre x1, y1, x2, y2, …, avec pour origine le coin supérieur gauche de l’image envoyée.
  4. Si la taille de l’image envoyée diffère de sa taille affichée sur la page, convertissez : x sur la page = x renvoyé × largeur affichée ÷ largeur de l’image envoyée (idem pour y). Par exemple, pour x = 769, une largeur affichée du canvas de 350 et une image envoyée de 1000 de large, il faut cliquer à 769 × 350 ÷ 1000 ≈ 269 sur la page.

Zone de capture d’une question à cliquer : le texte de la question devient question, les trois petites images d’exemple deviennent anchors, la grande image en dessous devient queries

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

Réponse :

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

Quand plusieurs cibles sont à cliquer, box contient plusieurs paires de coordonnées à la suite : ["221", "213", "340", "118", ...].

La question est du type « Drag … to … » : vous devez faire glisser les pièces de droite vers leur emplacement dans l’image.

  1. Prenez question sur la page.
  2. Placez dans queries une capture qui montre à la fois la pièce à déplacer et l’emplacement cible, avec chaque côté d’au moins 260 pixels.
  3. Chaque élément de box dans la réponse est un glissement : start est la position de la pièce, end la position où la déposer. Avec plusieurs pièces, faites-les glisser une par une.
{
"errorId": 0,
"status": "ready",
"solution": {
"type": "drag",
"box": [
{
"start": [644, 218],
"end": [239, 315]
}
]
}
}

Exemple de résultat pour une question à glisser : Start est la pièce à déplacer, End est la position cible

Si vous disposez des données du protocole (images des pièces, coordonnées des pièces et grande image de fond) plutôt que d’une capture, collez d’abord les pièces sur l’image de fond selon leurs coordonnées, de façon à obtenir le même rendu que la capture de la page, puis envoyez-la.

Quand l’image de la question est une animation, placez l’animation (GIF ou format similaire) en Base64 dans queries. Une durée d’au moins 3 secondes, idéalement de 5 à 6 secondes, à environ 12 FPS est recommandée.

Si la vérification échoue après vos clics, vous pouvez signaler la tâche avec report dans un délai de 1 heure ; le remboursement est réglé après environ 24 heures. Les règles sont décrites dans Facturation et remboursement de points.