Skip to content

Обычная капча ​

Обычная капча (текстовая, image-based) — картинка с искажённым, но читаемым текстом: буквы и/или цифры, одно или несколько слов. Сервис распознаёт текст на изображении и возвращает его строкой.

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

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

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

methodstringобязателен

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

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

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

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

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

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

1 — учитывать регистр символов

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

1 — капча содержит только цифры

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

Код специализированной модели распознавания вместо базовой OCR — см. список моделей

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

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

Требования к изображению

От 100 байт до 100 КБ, формат JPG, JPEG, PNG или GIF, текст на изображении должен быть чётко виден.

Модель под конкретный сайт

Если капча — с известного сайта или сервиса (Facebook, Steam, Яндекс, ВКонтакте и т.д.), укажите подходящий module — это точнее универсальной OCR. Полный список — на странице Модели для капчи-изображений.

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

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

Сохраните картинку с капчей как есть, без обрезки — в формате JPG, JPEG, PNG или GIF.

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

bash
curl -X POST "https://captcha-api.iwhat.pw/in.php" \
  -F key=YOUR_API_KEY \
  -F method=post \
  -F file=@captcha.jpg \
  -F json=1
python
import requests

with open('captcha.jpg', 'rb') as f:
    response = requests.post('https://captcha-api.iwhat.pw/in.php', data={
        'key': 'YOUR_API_KEY',
        'method': 'post',
        '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('json', '1');
form.append('file', new Blob([readFileSync('captcha.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:
    text = result['request']
    print(f"Распознанный текст: {text}")

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

python
driver.find_element_by_name('captcha_input').send_keys(text)
driver.find_element_by_tag_name('form').submit()

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

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

json
{
  "status": 1,
  "request": "Xk4mQ7pR"
}

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

КодОписание
ERROR_WRONG_USER_KEYНеверный формат API-ключа
ERROR_KEY_DOES_NOT_EXISTТакого API-ключа не существует
ERROR_ZERO_BALANCEНедостаточно средств на балансе
ERROR_WRONG_FILE_EXTENSIONНеподдерживаемый формат файла
ERROR_ZERO_CAPTCHA_FILESIZEФайл пустой или повреждён
ERROR_TOO_BIG_CAPTCHA_FILESIZEФайл превышает 100 КБ
CAPCHA_NOT_READYРешение ещё не готово, подождите 5 сек

Советы и рекомендации ​

  • Используйте regsense=1, если регистр символов важен для проверки
  • Используйте numeric=1 для капч, состоящих только из цифр
  • Загружайте несжатые изображения хорошего качества — это повышает точность распознавания

TailCaptcha API Documentation