# Reconocimiento de imágenes de hCaptcha

> Resuelve los desafíos de imágenes de hCaptcha con YesCaptcha (HCaptchaClassification): selección en cuadrícula 3×3, clic en una posición, arrastrar a una posición y preguntas animadas; respuesta síncrona, sin cobro de puntos cuando no se encuentra ningún objetivo.

Source: https://docs.yescaptcha.com/es/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` reconoce los desafíos de imágenes de hCaptcha: envías la pregunta y las imágenes, y recibes qué imágenes seleccionar, en qué posición hacer clic o desde dónde y hasta dónde arrastrar; tu programa realiza la acción en el navegador. **No devuelve token**. Es síncrono, cuesta 8 puntos (≈ $1.20 / 1k) por solicitud y no se cobran puntos cuando no se encuentra ningún objetivo (resultado vacío).

> **Consejo:** Si no quieres escribir la lógica de clics, puedes usar la [extensión del navegador](https://docs.yescaptcha.com/es/extension.md), que admite todos estos tipos de pregunta. Si necesitas un token en lugar de posiciones de clic, usa [hCaptcha](https://docs.yescaptcha.com/es/tasks/hcaptcha.md).

- POST `https://api.yescaptcha.com/createTask` (Endpoint global)
- POST `https://cn.yescaptcha.com/createTask` (Endpoint China)

## Tipos y precios

| Tipo de tarea | Precio | Modo | Notas |
| --- | --- | --- | --- |
| `HCaptchaClassification` | $1.20 / 1k; 8 puntos/tarea · ¥8 / 1k | Síncrono | No se cobran puntos cuando no se encuentra ningún objetivo |

Los precios en dólares son estimaciones con US$1 ≈ ¥6.67; las tareas se cobran en puntos.

## Parámetros de la solicitud

| Campo | Tipo | Obligatorio | Descripción |
| --- | --- | --- | --- |
| `type` | string | Sí | Tipo de tarea; consulta "Tipos de tarea y precios" en esta página |
| `queries` | array | Sí | Lista de imágenes del desafío codificadas en Base64, en el orden de la página (9 imágenes pequeñas para una cuadrícula 3×3) |
| `question` | string | No | La pregunta completa tal como aparece en la página (se recomienda chino simplificado o inglés), p. ej., `Please click each image containing a bicycle`. Envía al menos uno de `question` y `anchors`; se recomienda enviar ambos |
| `anchors` | array | No | Imágenes de ejemplo codificadas en Base64 que aparecen junto a la pregunta; obligatorias para las preguntas que las incluyen |

-   Envía en `question` la frase completa tal como aparece en la página; no hace falta traducirla, pero se recomienda cambiar hCaptcha a chino simplificado o inglés. Las preguntas nuevas suelen admitirse enseguida; las categorías completamente nuevas, en un plazo de 3 días hábiles.

> **Precaución:** Si la pregunta muestra imágenes de ejemplo en la esquina superior derecha, envíalas en `anchors`. Las preguntas que solo se pueden resolver viendo las imágenes de ejemplo no se reconocen si no envías `anchors`.

## Selección en cuadrícula 3×3

La pregunta dice “Please click each image containing …” y debajo hay 9 imágenes. Pon en `queries` las 9 imágenes en Base64, en el orden de la página:

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

Respuesta:

```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` y `top_k` contienen la misma información: el primero indica para cada imagen si es un objetivo, y el segundo lista los índices de las imágenes objetivo (desde 0). Haz clic en esas imágenes.

## Clic en una posición

La pregunta dice “Please click on …” y debajo hay una imagen grande en la que debes hacer clic en una o varias posiciones.

1.  Toma `question` de la página; si hay imágenes de ejemplo, ponlas en `anchors`.
2.  Pon una imagen en `queries`: lo mejor es la imagen original exportada directamente del canvas (se recomienda convertirla a JPG). Si solo puedes hacer una captura de pantalla, captura el área de la imagen grande del recuadro rojo de abajo, sin que sobre ni falte nada.
3.  `box` en la respuesta son las coordenadas donde hacer clic, en el orden x1, y1, x2, y2…, con el origen en la esquina superior izquierda de la imagen enviada.
4.  Si el tamaño de la imagen enviada es distinto del que se muestra en la página, hay que convertir: x en la página = x devuelto × ancho mostrado ÷ ancho de la imagen enviada (igual para y). Por ejemplo, si se devuelve x = 769, el canvas se muestra con 350 de ancho y la imagen enviada tiene 1000 de ancho, en la página debes hacer clic en 769 × 350 ÷ 1000 ≈ 269.

![Área de captura de la pregunta de clic: el texto de la pregunta va como question, las tres imágenes de ejemplo como anchors y la imagen grande de abajo como 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"]
  }
}
```

Respuesta:

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

Cuando hay que hacer clic en varios objetivos, `box` contiene varios pares de coordenadas en orden: `["221", "213", "340", "118", ...]`.

## Arrastrar a una posición

La pregunta dice “Drag … to …” y debes arrastrar la pieza de la derecha a su posición correspondiente en la imagen.

1.  Toma `question` de la página.
2.  Haz una captura y ponla en `queries`; debe mostrar **a la vez** la pieza que se arrastra y la posición de destino, y cada lado de la imagen debe medir al menos 260 píxeles.
3.  Cada elemento de `box` en la respuesta es un arrastre: `start` es la posición de la pieza y `end` es la posición a la que hay que arrastrarla. Si hay varias piezas, arrástralas una por una.

```json
{
  "errorId": 0,
  "status": "ready",
  "solution": {
    "type": "drag",
    "box": [
      {
        "start": [644, 218],
        "end": [239, 315]
      }
    ]
  }
}
```

![Ejemplo de resultado de una pregunta de arrastre: Start es la pieza que se arrastra y End es la posición de destino](https://docs.yescaptcha.com/_astro/hcaptcha-drag-result.vEj4iyUz_1Ou9zz.webp)

Si lo que tienes son datos del protocolo (la imagen de la pieza, sus coordenadas y la imagen de fondo) en lugar de una captura de pantalla, primero pega la pieza sobre la imagen de fondo según las coordenadas, para obtener una imagen con el mismo aspecto que la captura de la página, y luego envíala.

## Preguntas animadas

Cuando la imagen de la pregunta es una animación, pon en `queries` la animación (GIF u otro formato) en Base64. Se recomienda que dure al menos 3 segundos, idealmente de 5 a 6, a unos 12 FPS.

## Reporte y reembolso tras reportar

Si la verificación falla después de tus clics, puedes reportar la tarea con [report](https://docs.yescaptcha.com/es/api/report.md) en un plazo de 1 hora; el reembolso se liquida en unas 24 horas. Las reglas están en [Facturación y reembolsos](https://docs.yescaptcha.com/es/getting-started/billing.md).

## Guías relacionadas

-   [Clics de reconocimiento de imágenes de hCaptcha con Selenium](https://docs.yescaptcha.com/es/guides/hcaptcha-click-selenium.md)
