Skip to content

Grid Image ​

Grid Image — капча в виде сетки изображений (обычно 3×3 или 4×4), где нужно выбрать ячейки по текстовой инструкции («светофоры», «пешеходные переходы» и т.п.). Чаще всего встречается как image-челлендж reCAPTCHA V2. Сервис анализирует изображение и возвращает индексы подходящих ячеек.

Обзор ​

  • Сетка 3×3 (9 ячеек) или 4×4 (16 ячеек)
  • Ячейки нумеруются слева направо, сверху вниз, начиная с 1
  • Возвращает массив индексов подходящих ячеек

Формат запроса ​

POST/in.php
keystringобязателен

Ваш API-ключ (32 символа)

methodstringобязателен

Значение: post (файл) или base64 (строка)

filefileопционально

Файл изображения сетки (form-data). Обязателен при method=post

bodystringопционально

Изображение сетки в Base64. Обязателен при method=base64

img_typestringобязателен

Значение: recaptcha

grid_sizestringобязателен

Размер сетки: 3x3 или 4x4

instructionsstringобязателен

Текст задания, до 140 символов (например, «crosswalks»)

jsoninteger (0/1)по умолчанию: 0опционально

0 — ответ текстом, 1 — ответ JSON

Как решать капчу ​

Шаг 1. Подготовьте изображение сетки ​

  • Сохраните изображение сетки целиком, без обрезки
  • Запишите текст инструкции (например, «traffic lights»)
  • Определите размер сетки — 3×3 или 4×4

Шаг 2. Отправьте задачу нам ​

bash
curl -X POST "https://captcha-api.iwhat.pw/in.php" \
  -F key=YOUR_API_KEY \
  -F method=post \
  -F file=@grid.jpg \
  -F img_type=recaptcha \
  -F grid_size=3x3 \
  -F instructions=crosswalks \
  -F json=1
python
import requests

with open('grid.jpg', 'rb') as f:
    response = requests.post('https://captcha-api.iwhat.pw/in.php', data={
        'key': 'YOUR_API_KEY',
        'method': 'post',
        'img_type': 'recaptcha',
        'grid_size': '3x3',
        'instructions': 'crosswalks',
        'json': '1',
    }, files={'file': f})

task_id = response.json()['request']
print(f"ID задачи: {task_id}")
js
import { readFileSync } from 'fs';

const form = new FormData();
form.append('key', 'YOUR_API_KEY');
form.append('method', 'post');
form.append('img_type', 'recaptcha');
form.append('grid_size', '3x3');
form.append('instructions', 'crosswalks');
form.append('json', '1');
form.append('file', new Blob([readFileSync('grid.jpg')]));

const res = await fetch('https://captcha-api.iwhat.pw/in.php', { method: 'POST', body: form });
const { request: taskId } = await res.json();
console.log(`ID задачи: ${taskId}`);

Шаг 3. Получение решения ​

python
import time

time.sleep(5)

result = requests.get('https://captcha-api.iwhat.pw/res.php', params={
    'key': 'YOUR_API_KEY',
    'action': 'get',
    'id': task_id,
    'json': '1',
}).json()

if result['status'] == 1:
    tiles = result['request']
    print(f"Индексы ячеек: {tiles}")

Шаг 4. Используем данные ​

python
for tile_index in tiles:
    driver.find_element_by_css_selector(f'.rc-imageselect-tile:nth-child({tile_index})').click()

Формат ответа ​

JSON-ответ (при json=1):

json
{
  "status": 1,
  "request": [2, 4, 7]
}

Диапазон индексов: 1–9 для сетки 3×3, 1–16 для 4×4.

Распространённые ошибки ​

КодОписание
ERROR_WRONG_USER_KEYНеверный формат API-ключа
ERROR_KEY_DOES_NOT_EXISTТакого API-ключа не существует
ERROR_ZERO_BALANCEНедостаточно средств на балансе
ERROR_BAD_PARAMETERSПроверьте grid_size, instructions и img_type
ERROR_WRONG_FILE_EXTENSIONНеподдерживаемый формат файла
CAPCHA_NOT_READYРешение ещё не готово, подождите 5 сек

TailCaptcha API Documentation