Grid Image
Grid Image — капча в виде сетки изображений (обычно 3×3 или 4×4), где нужно выбрать ячейки по текстовой инструкции («светофоры», «пешеходные переходы» и т.п.). Чаще всего встречается как image-челлендж reCAPTCHA V2. Сервис анализирует изображение и возвращает индексы подходящих ячеек.
Обзор
- Сетка 3×3 (9 ячеек) или 4×4 (16 ячеек)
- Ячейки нумеруются слева направо, сверху вниз, начиная с
1 - Возвращает массив индексов подходящих ячеек
Формат запроса
POST
/in.phpkeystringобязателенВаш 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=1python
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 сек |