Ir al contenido
EstadoPanel

Tipos de tarea

Reconocimiento de imágenes de hCaptcha

Esta página se tradujo automáticamente de la versión en chino y puede contener errores. Prevalece la versión en chino.

IlustraciónCuadrícula de imágenes: 9 imágenes bajo la pregunta, a veces con una imagen de ejemplo (anchors) arriba a la derecha; la API devuelve los números de las imágenes en las que hay que hacer clic.

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

POSThttps://api.yescaptcha.com/createTaskEndpoint global
POSThttps://cn.yescaptcha.com/createTaskEndpoint China
Tipo de tareaPrecioModoNotas
HCaptchaClassification$1.20 / 1k; 8 puntos/tarea · ¥8 / 1kSíncronoNo 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.

CampoTipoObligatorioDescripción
typestringSíTipo de tarea; consulta "Tipos de tarea y precios" en esta página
queriesarraySí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)
questionstringNoLa 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
anchorsarrayNoImá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.

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
{
"clientKey": "YOUR_CLIENT_KEY",
"task": {
"type": "HCaptchaClassification",
"question": "Please click each image containing a bicycle",
"queries": ["BASE64_IMAGE_1", "BASE64_IMAGE_2"]
}
}

Respuesta:

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

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

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

Respuesta:

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

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

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.

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.

Si la verificación falla después de tus clics, puedes reportar la tarea con report en un plazo de 1 hora; el reembolso se liquida en unas 24 horas. Las reglas están en Facturación y reembolsos.