Типы задач
Распознавание изображений hCaptcha
Эта страница переведена с китайской версии машинным переводом и может содержать ошибки. Приоритет имеет китайская версия.
1
2
3
4
5GIF · 12 FPS
HCaptchaClassification распознаёт графические задания hCaptcha: вы отправляете вопрос и изображения, а в ответ получаете, какие картинки выбрать, куда кликнуть или откуда и куда перетащить. Действие в браузере выполняет ваша программа. Токен не возвращается. Ответ синхронный, каждый запрос стоит 8 pts (≈ $1.20 / 1k); если цель не найдена (пустой результат), баллы не списываются.
https://api.yescaptcha.com/createTaskГлобальный endpointhttps://cn.yescaptcha.com/createTaskEndpoint для КитаяТипы и цены
Заголовок раздела «Типы и цены»| Тип задачи | Цена | Режим | Примечания |
|---|---|---|---|
HCaptchaClassification | $1.20 / 1k; 8 pts/задача · ¥8 / 1k | Синхронный | Баллы не списываются, если цель не найдена |
Цены в долларах США являются оценочными и рассчитаны по курсу 1 USD ≈ ¥6.67; списание за задачи производится в баллах.
Параметры запроса
Заголовок раздела «Параметры запроса»| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
type | string | Да | Тип задачи; см. «Типы задач и цены» на этой странице |
queries | array | Да | Список изображений капчи в кодировке Base64 в порядке их расположения на странице (9 фрагментов для сетки 3×3) |
question | string | Нет | Полный текст вопроса так, как он показан на странице (рекомендуются упрощённый китайский или английский), например Please click each image containing a bicycle. Передайте хотя бы одно из полей question и anchors; рекомендуется передавать оба |
anchors | array | Нет | Список примеров изображений в кодировке Base64, показанных рядом с вопросом; обязателен для вопросов, в которых они есть |
- В
questionпередавайте вопрос целиком в том виде, как он показан на странице; переводить его не нужно, но рекомендуется переключить hCaptcha на английский или упрощённый китайский. Новые формулировки обычно поддерживаются быстро, совершенно новые категории — в течение 3 рабочих дней.
Выбор в сетке 3×3
Заголовок раздела «Выбор в сетке 3×3»Вопрос выглядит как «Please click each image containing …», ниже расположены 9 маленьких изображений. В queries передайте 9 изображений в Base64 по порядку:
{ "clientKey": "YOUR_CLIENT_KEY", "task": { "type": "HCaptchaClassification", "question": "Please click each image containing a bicycle", "queries": ["BASE64_IMAGE_1", "BASE64_IMAGE_2"] }}Ответ:
{ "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 и top_k содержат одну и ту же информацию: objects показывает для каждого изображения, является ли оно целью, а top_k — номера изображений-целей (с 0). Кликните по этим изображениям.
Клик в указанной позиции
Заголовок раздела «Клик в указанной позиции»Вопрос выглядит как «Please click on …», ниже одно большое изображение, на котором нужно кликнуть в одной или нескольких позициях.
- В
questionпередайте вопрос со страницы; если есть примеры изображений, передайте их вanchors. - В
queriesпередайте одно изображение: лучше всего исходное изображение, экспортированное напрямую из canvas (рекомендуется преобразовать в JPG). Если возможен только скриншот, захватите область большого изображения (внутри красной рамки на рисунке ниже) — без лишнего и без недостающего. boxв ответе — координаты для клика: x1, y1, x2, y2 и так далее, начало координат — левый верхний угол загруженного изображения.- Если размер загруженного изображения отличается от размера на странице, пересчитайте координаты: x на странице = возвращённый x × отображаемая ширина ÷ ширина загруженного изображения (для y аналогично). Например, если вернулся x = 769, ширина canvas на странице 350, а ширина загруженного изображения 1000, то на странице нужно кликнуть в 769 × 350 ÷ 1000 ≈ 269.

{ "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"] }}Ответ:
{ "errorId": 0, "status": "ready", "solution": { "box": ["221", "213"] }}Если нужно кликнуть по нескольким целям, в box по порядку идут несколько пар координат: ["221", "213", "340", "118", ...].
Перетаскивание в указанное место
Заголовок раздела «Перетаскивание в указанное место»Вопрос выглядит как «Drag … to …»: нужно перетащить фрагменты справа на соответствующие места на изображении.
- В
questionпередайте вопрос со страницы. - Сделайте скриншот и передайте его в
queries. На изображении должны быть одновременно и перетаскиваемые фрагменты, и целевые места; каждая сторона изображения — не менее 260 пикселей. - Каждый элемент
boxв ответе — одно перетаскивание:start— позиция фрагмента,end— место, куда его нужно перетащить. Если фрагментов несколько, перетаскивайте их по одному.
{ "errorId": 0, "status": "ready", "solution": { "type": "drag", "box": [ { "start": [644, 218], "end": [239, 315] } ] }}
Если вместо скриншота у вас протокольные данные (изображения фрагментов, их координаты и большое фоновое изображение), сначала по координатам наложите фрагменты на фон, чтобы получилось изображение, как на скриншоте страницы, и только потом отправляйте его.
Анимированные задания
Заголовок раздела «Анимированные задания»Если изображение задания анимированное, передайте в queries анимацию (GIF и т. п.) в Base64. Рекомендуемая длительность анимации — не менее 3 секунд, лучше 5–6 секунд, частота кадров около 12 FPS.
Жалобы и возврат баллов
Заголовок раздела «Жалобы и возврат баллов»Если после клика проверка не пройдена, сообщите о неверном результате через report в течение 1 часа; возврат баллов после жалобы рассчитывается примерно через 24 часа. Правила — в разделе Тарификация и возврат баллов.