# Reconnaissance d'images hCaptcha

> Reconnaissez les défis d'images hCaptcha avec YesCaptcha (HCaptchaClassification) : sélection dans une grille, clic sur une position, glisser vers une position et questions animées ; réponse synchrone, sans débit de points quand aucune cible n'est trouvée.

Source: https://docs.yescaptcha.com/fr/tasks/hcaptcha-classification/ · Last verified: 2026-10-15

> This page was machine-translated from the Chinese version. If anything differs, the Chinese version prevails: https://docs.yescaptcha.com/zh/tasks/hcaptcha-classification/

`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).

> **Astuce:** Si vous ne voulez pas écrire la logique de clic, utilisez l’[extension de navigateur](https://docs.yescaptcha.com/fr/extension.md) : elle prend en charge tous ces types de questions. Pour obtenir un token plutôt que des positions de clic, utilisez [hCaptcha](https://docs.yescaptcha.com/fr/tasks/hcaptcha.md).

- POST `https://api.yescaptcha.com/createTask` (Endpoint mondial)
- POST `https://cn.yescaptcha.com/createTask` (Endpoint Chine)

## Types et prix

| Type de tâche | Prix | Mode | Remarques |
| --- | --- | --- | --- |
| `HCaptchaClassification` | $1.20 / 1k; 8 points/tâche · ¥8 / 1k | Synchrone | Aucun 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.

## Paramètres de la requête

| Champ | Type | Obligatoire | Description |
| --- | --- | --- | --- |
| `type` | string | Oui | Type de tâche ; voir « Types de tâches et prix » sur cette page |
| `queries` | array | Oui | Liste des images de la question encodées en Base64, dans l'ordre de la page (9 vignettes pour une grille 3×3) |
| `question` | string | Non | La 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 |
| `anchors` | array | Non | Images 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.

> **Attention:** Si la question affiche une image d’exemple en haut à droite, placez-la dans `anchors`. Les questions qui ne peuvent être résolues qu’avec l’image d’exemple ne sont pas reconnues sans `anchors`.

## Sélection dans une grille

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

```json
{
  "clientKey": "YOUR_CLIENT_KEY",
  "task": {
    "type": "HCaptchaClassification",
    "question": "Please click each image containing a bicycle",
    "queries": ["BASE64_IMAGE_1", "BASE64_IMAGE_2"]
  }
}
```

Réponse :

```json
{
  "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.

## Clic sur une position

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](https://docs.yescaptcha.com/_astro/hcaptcha-click-areas.DCBFUFPf_Z123RnJ.webp)

POST https://api.yescaptcha.com/createTask

```json
{
  "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 :

```json
{
  "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", ...]`.

## Glisser vers une position

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.

```json
{
  "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](https://docs.yescaptcha.com/_astro/hcaptcha-drag-result.vEj4iyUz_1Ou9zz.webp)

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.

## Questions animées

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.

## Signalement et remboursement après signalement

Si la vérification échoue après vos clics, vous pouvez signaler la tâche avec [report](https://docs.yescaptcha.com/fr/api/report.md) 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](https://docs.yescaptcha.com/fr/getting-started/billing.md).

## Tutoriels associés

-   [Clics simulés pour la reconnaissance d’images hCaptcha (Selenium)](https://docs.yescaptcha.com/fr/guides/hcaptcha-click-selenium.md)
