Skip to content

Как отправить картинку на распознавание.

Список поддерживаемых заданий:

Solve Media, Facebook, Yandex, Steam, VKontakte, BotDetect, Google, HotMail, Avito и более 100.000 других видов.

Как выбрать нужную нейросеть под свой вид капчи:

logo
Выберите нейросеть которая идеально подойдет под ваш тип капчи на странице https://cap.guru/ru/my/settings/
Изменения вступят в силу в течении 5 минут.

Method OLD - Самый универсальный метод, подходит под любые типы капчи, процент распознавания ниже чем у специальных.
General v1 - Общий метод распознавания капчи, с более точным распознаванием некоторых подвидов.
individual_v1 - Похож на предыдущий метод, но более точен к числовым капчам.
General Cyrillic - Общий метод для кириллических капч.

Отправка

http://api.cap.guru/in.php

ПараметрТипОбязателенОписание
keyСтрокаДаКлюч можно посмотреть тут
methodСтрокаДаpost — говорит о том, что вы отправляете изображение с помощью multipart-фомы
base64 — говорит о том, что вы отправляете изображение в формате base64
fileФайлДа*Файл изображения.
* - обязателен, если вы отправляете картинку как файл (method=post)
bodyСтрокаДа*Изображение, закодированное в формат Base64,
* - обязателен, если вы отправляете картинку в Base64 (method=base64)
jsonЧисло
По умолчанию: 0
Нет0 - Сервер отправит ответ в виде обычного текста
1 - Сервер отправит ответ в формате JSON
vernetЧислоНет2 - General v1
6 - General v2
22 - Arithmetic
12 - Rambler
18 - General Yandex
20 - Yandex, 6 ch.
16 - VKontakte
14 - SolveMedia
13 -Gibdd
9 - Ok.ru
17 - World of Tanks
5 - Hotmail Microsoft

Пример: vernet=5
Пример запроса/ответа

Пример запроса

text
POST  http://api.cap.guru/in.php
Host: api.cap.guru
Content-Type: application/json
json
{
  "key": "YOUR_API_KEY",
  "method": "base64",
  "body": "R0lGODlheAAoAAAAACwAAAAAeAAoAIcAAAAAADMAAGYAAJkAAMwAAP8AKwAAKzMAK2YAK5kAK8wAK/8AVQAAVTMAVWYAVZkAVcwAVf8AgAAAgDMAgGYAgJkAgMwAgP8AqgAAqjMAqmYAqpkAqswAqv8A1QAA1TMA1WYA1ZkA1cwA1f8A/wAA/zMA/2YA/5kA/8wA//8zAAAzADMzAGYzAJkzAMwzAP8zKwAzKzMzK2YzK5kzK8wzK/8zVQAzVTMzVWYzVZkzVcwzVf8zgAAzgDMzgGYzgJkzgMwzgP8zqgAzqjMzqmYzqpkzqswzqv8z1QAz1TMz1WYz1Zkz1cwz1f8z/wAz/zMz/2Yz/5kz/8wz//9mAABmADNmAGZmAJlmAMxmAP9mKwBmKzNmK2ZmK5lmK8xmK/9mVQBmVTNmVWZmVZlmVcxmVf9mgABmgDNmgGZmgJlmgMxmgP9mqgBmqjNmqmZmqplmqsxmqv9m1QBm1TNm1WZm1Zlm1cxm1f9m/wBm/zNm/2Zm/5lm/8xm//+ZAACZADOZAGaZAJmZAMyZAP+ZKwCZKzOZK2aZK5mZK8yZK/+ZVQCZVTOZVWaZVZmZVcyZVf+ZgACZgDOZgGaZgJmZgMyZgP+ZqgCZqjOZqmaZqpmZqsyZqv+Z1QCZ1TOZ1WaZ1ZmZ1cyZ1f+Z/wCZ/zOZ/2aZ/5mZ/8yZ///MAADMADPMAGbMAJnMAMzMAP/MKwDMKzPMK2bMK5nMK8zMK//MVQDMVTPMVWbMVZnMVczMVf/MgADMgDPMgGbMgJnMgMzMgP/MqgDMqjPMqmbMqpnMqszMqv/M1QDM1TPM1WbM1ZnM1czM1f/M/wDM/zPM/2bM/5nM/8zM////AAD/ADP/AGb/AJn/AMz/AP//KwD/KzP/K2b/K5n/K8z/K///VQD/VTP/VWb/VZn/Vcz/Vf//gAD/gDP/gGb/gJn/gMz/gP//qgD/qjP/qmb/qpn/qsz/qv//1QD/1TP/1Wb/1Zn/1cz/1f///wD//zP//2b//5n//8z///8AAAAAAAAAAAAAAAAI/wD3CRxIsKDBgwgTKlzIsKHDhxAjSpxIsaLFixgzatzIsaPHjyBDihxJsqTJkyYzoclELFMmlDA/igFAs2bNlyDRTLpxMAYAjmhs4uR4w6ZRADEsKgPA0yDNpE5/Zsx0lObQgsoWijlY9ahFmlxpZi0IFuOkrmINnm2KEMDWgj7L7ss0s+bbiTTvCqRKc0XBoGMvHl1q0+BMNAmL6hVYmCCxxnjlMoY8WarAujURN7RLkLJAn1B7IjUY13JnAFcjrpC8r7RpxoFd53VYM+rr1qMRxg3LdmDQ2xD5Bt4H1urpsXEnRX7N9zZhhQCG760dNXTku3WJyz0r9TlFyp73nf+Vftr6ZeoEuZuP+Hvg033etUOliaYl8IXc5e42aMCogRU3xFAaeaXBdZNFjwGgmXH1WEYYTl0tthBhYBG2nnZocVZQcwNhxtpykw20VFLCwWeTAaX1phCFXoUFAIBioCHGJB6ulyFNyl20n2RgcScQd8PFB11N9tV0oXwI8aUZWWipSNFvyiR42j7Q5LaUhOghRCFBHoaV2mk5MnmUhF/dN1NcUO132n0CbVlQgsCl1RZqLpKpEZyvGYVTgqm9NyRwRX2IY0If7oOZSIHSSRCLpy1WqGNZDpRfVOS5F51BboY0qZimYbZSeBseWNChTA55EIci1eWkhpa2qFBzNtJTtCqbhpL5G60ZJVjpDWQSU5qdtg1KpU3kPRoippHGxFFzaE2USaUYKhuSh65ulKy0HFX1JbbcSgRtt+CGK+645JZr7rnopqvuuuy26+678MYrb0AAOw==",
  "json": 1
}

После отправки задания нам, вы должны получить в ответ 'OK|65787087' или {"status":1,"request":"65787087"} в случае успешного выполнения запроса. Пожалуйста, ознакомьтесь с полным списком возможных ошибок в случае если вы не получили номер задания.

Пример ответа

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

Получение ответа

http://api.cap.guru/res.php

ПараметрТипОбязателенОписание
keyСтрокаДаКлюч можно посмотреть тут
actionСтрокаДаget — получить ответ
idЧислоДаID капчи, полученный от in.php
jsonЧисло
По умолчанию: 0
Нет0 — сервер вернёт ответ в виде простого текста
1 — сервер вернёт ответ в формате JSON
Пример запроса/ответа

Пример запроса

text
POST  http://api.cap.guru/res.php 
Host: api.cap.guru
Content-Type: application/json
json
{
  "key": "YOUR_API_KEY",
  "action": "get",
  "id": "XXXXXXXXXXXXXXXXXX", // for example 65787087
  "json": 1
}

После отправки задания нам, вы должны получить в ответ 'OK|W68HP' или {"status":1,"request":"W68HP"} в случае успешного выполнения запроса. Пожалуйста, ознакомьтесь с полным списком возможных ошибок в случае если вы не получили ответ.

Пример ответа

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

Распознавание через браузер.

Проверить работу сервиса и поддержку вашего вида капчи можно по адресу: http://imacros2.cap.guru/

Для этого нужно указать API ключ из личного кабинета и выбрать сохраненное изображение капчи.

Примеры

py
import requests
from io import BytesIO
import base64
import time

key = '17a1f02f43bfb8025f4ef3a56fc425cf'
url = 'https://test.cap.guru/web/_images/ex.png'
response = requests.get(url)

ee = base64.b64encode((response.content))

payload = {'key': key, 'method': 'base64', 'body': ee}
r = requests.post("http://api.cap.guru/in.php", data=payload)

time.sleep(10)

rt = r.text.split('|')
url = 'http://api.cap.guru/res.php?key='+key+'&id='+rt[1]
print(url);
response = requests.get(url)

print(response.content)
php
<?php 

 

$file = base64_encode(file_get_contents("http://test.cap.guru/web/_images/aws/99737344449386000000.png"));

$json = [];
$json['key'] = "17a1f02f43bfb8025f4ef3a56fc425cf";
$json['method'] = "base64";
$json['click'] = "oth";
$json['textinstructions'] = "Amazon,Place a dot at the end of the car's path";
$json['body'] = $file;


$postdata = http_build_query($json);

$opts = array('http' =>
    array(
        'method'  => 'POST',
        'header'  => 'Content-Type: application/x-www-form-urlencoded',
        'content' => $postdata
    )
);

$context  = stream_context_create($opts);

$result = file_get_contents('http://api.cap.guru/in.php', false, $context);

sleep(5);

//echo $server_output;
echo file_get_contents("http://api.cap.guru/res.php?key=17a1f02f43bfb8025f4ef3a56fc425cf&action=get&id=".explode("|", $result)[1]);

?>
js

var request = require('request');

var img =  getBinanceBase64();

var YOUR_API_KEY = "17a1f02f43bfb8025f4ef3a56fc425cf";

(async() => {
	var waw =  await k(img);
	console.log(waw);
})();

function delay(time) {
	return new Promise(function(resolve) {
		setTimeout(resolve, time)
	});
}
async function k(img) {

	return new Promise(async function(resolve2) {
		let buffurl1 = img
		var myJSONObject = {
			"key": YOUR_API_KEY,
			"method": "base64",
			"body": buffurl1,
			
		};
		request({
			url: "http://api.cap.guru/in.php",
			method: "POST",
			json: true,
			body: myJSONObject
		}, async function(error, response, body) {
			console.log(body);
			id = body.split("|")[1]
			let res = await delay(5000).then(async() => {
				let res2 = await get_result_request(id);
				console.log(res2);
				dd = res2.split("|")[1]
				resolve2(dd )
			});
		});
	});

	function get_result_request(id) {
		return new Promise(async resolve => {
			return await request.get('http://api.cap.guru/res.php?key=' + YOUR_API_KEY + '&id=' + id + '&action=get', async function(error2, response2, body2) {
				resolve(body2);
			})
		});
	}
}



function getBinanceBase64(){
	return "data:image/gif;base64,R0lGODlheAAoAAAAACwAAAAAeAAoAIcAAAAAADMAAGYAAJkAAMwAAP8AKwAAKzMAK2YAK5kAK8wAK/8AVQAAVTMAVWYAVZkAVcwAVf8AgAAAgDMAgGYAgJkAgMwAgP8AqgAAqjMAqmYAqpkAqswAqv8A1QAA1TMA1WYA1ZkA1cwA1f8A/wAA/zMA/2YA/5kA/8wA//8zAAAzADMzAGYzAJkzAMwzAP8zKwAzKzMzK2YzK5kzK8wzK/8zVQAzVTMzVWYzVZkzVcwzVf8zgAAzgDMzgGYzgJkzgMwzgP8zqgAzqjMzqmYzqpkzqswzqv8z1QAz1TMz1WYz1Zkz1cwz1f8z/wAz/zMz/2Yz/5kz/8wz//9mAABmADNmAGZmAJlmAMxmAP9mKwBmKzNmK2ZmK5lmK8xmK/9mVQBmVTNmVWZmVZlmVcxmVf9mgABmgDNmgGZmgJlmgMxmgP9mqgBmqjNmqmZmqplmqsxmqv9m1QBm1TNm1WZm1Zlm1cxm1f9m/wBm/zNm/2Zm/5lm/8xm//+ZAACZADOZAGaZAJmZAMyZAP+ZKwCZKzOZK2aZK5mZK8yZK/+ZVQCZVTOZVWaZVZmZVcyZVf+ZgACZgDOZgGaZgJmZgMyZgP+ZqgCZqjOZqmaZqpmZqsyZqv+Z1QCZ1TOZ1WaZ1ZmZ1cyZ1f+Z/wCZ/zOZ/2aZ/5mZ/8yZ///MAADMADPMAGbMAJnMAMzMAP/MKwDMKzPMK2bMK5nMK8zMK//MVQDMVTPMVWbMVZnMVczMVf/MgADMgDPMgGbMgJnMgMzMgP/MqgDMqjPMqmbMqpnMqszMqv/M1QDM1TPM1WbM1ZnM1czM1f/M/wDM/zPM/2bM/5nM/8zM////AAD/ADP/AGb/AJn/AMz/AP//KwD/KzP/K2b/K5n/K8z/K///VQD/VTP/VWb/VZn/Vcz/Vf//gAD/gDP/gGb/gJn/gMz/gP//qgD/qjP/qmb/qpn/qsz/qv//1QD/1TP/1Wb/1Zn/1cz/1f///wD//zP//2b//5n//8z///8AAAAAAAAAAAAAAAAI/wD3CRxIsKDBgwgTKlzIsKHDhxAjSpxIsaLFixgzatzIsaPHjyBDihxJsqTJkyYzoclELFMmlDA/igFAs2bNlyDRTLpxMAYAjmhs4uR4w6ZRADEsKgPA0yDNpE5/Zsx0lObQgsoWijlY9ahFmlxpZi0IFuOkrmINnm2KEMDWgj7L7ss0s+bbiTTvCqRKc0XBoGMvHl1q0+BMNAmL6hVYmCCxxnjlMoY8WarAujURN7RLkLJAn1B7IjUY13JnAFcjrpC8r7RpxoFd53VYM+rr1qMRxg3LdmDQ2xD5Bt4H1urpsXEnRX7N9zZhhQCG760dNXTku3WJyz0r9TlFyp73nf+Vftr6ZeoEuZuP+Hvg033etUOliaYl8IXc5e42aMCogRU3xFAaeaXBdZNFjwGgmXH1WEYYTl0tthBhYBG2nnZocVZQcwNhxtpykw20VFLCwWeTAaX1phCFXoUFAIBioCHGJB6ulyFNyl20n2RgcScQd8PFB11N9tV0oXwI8aUZWWipSNFvyiR42j7Q5LaUhOghRCFBHoaV2mk5MnmUhF/dN1NcUO132n0CbVlQgsCl1RZqLpKpEZyvGYVTgqm9NyRwRX2IY0If7oOZSIHSSRCLpy1WqGNZDpRfVOS5F51BboY0qZimYbZSeBseWNChTA55EIci1eWkhpa2qFBzNtJTtCqbhpL5G60ZJVjpDWQSU5qdtg1KpU3kPRoippHGxFFzaE2USaUYKhuSh65ulKy0HFX1JbbcSgRtt+CGK+645JZr7rnopqvuuuy26+678MYrb0AAOw==";
}