Rotate CAPTCHA
The method is used to solve captchas where you need to rotate an object to place it properly. Returns the required rotation angle.
Supported image formats: JPEG, PNG, GIF
Max file size: 600 kB
Max image size: 1000px on any side
RotateTask type specification
Property | Type | Required | Description |
---|---|---|---|
type | String | Yes | RotateTask |
body | String | Yes | Image encoded into Base64 format. Data-URI format (containing data:content/type prefix) is also supported |
angle | Integer | No | One step rotation angle. You can count how many steps are required to rotate the image 360 degrees and then divide 360 by this count to get the angle value |
comment | String | No | A comment will be shown to workers to help them to solve the captcha properly |
imgInstructions | String | No | An optional image with instruction that will be shown to workers. Image should be encoded into Base64 format. Max file size: 100 kB |
Request example
Method: createTask
API endpoint: https://api.2captcha.com/createTask
json
{ "clientKey":"YOUR_API_KEY", "task": { "type": "RotateTask", "body": "R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==", "comment": "position the image properly", "angle": 60 }, "languagePool": "en" }
Response example
Method: getTaskResult
API endpoint: https://api.2captcha.com/getTaskResult
json
{ "errorId": 0, "status": "ready", "solution": { "rotate": 180 }, "cost": "0.0005", "ip": "1.2.3.4", "createTime": 1692863536, "endTime": 1692863556, "solveCount": 1 }
Code examples
php
// https://github.com/2captcha/2captcha-php require(__DIR__ . '/../src/autoloader.php'); $solver = new \TwoCaptcha\TwoCaptcha('YOUR_API_KEY'); try { $result = $solver->rotate([ 'file' => 'path/to/captcha.jpg', 'angle' => 15, ]); } catch (\Exception $e) { die($e->getMessage()); } die('Captcha solved: ' . $result->code);
python
# https://github.com/2captcha/2captcha-python import sys import os sys.path.append(os.path.dirname(os.path.dirname(os.path.realpath(__file__)))) from twocaptcha import TwoCaptcha api_key = os.getenv('APIKEY_2CAPTCHA', 'YOUR_API_KEY') solver = TwoCaptcha(api_key) try: result = solver.rotate('./images/rotate.jpg') except Exception as e: sys.exit(e) else: sys.exit('result: ' + str(result))
csharp
// https://github.com/2captcha/2captcha-csharp using System; using System.Linq; using TwoCaptcha.Captcha; namespace TwoCaptcha.Examples { public class RotateExample { public void Main() { TwoCaptcha solver = new TwoCaptcha("YOUR_API_KEY"); Rotate captcha = new Rotate(); captcha.SetFile("path/to/captcha.jpg"); captcha.SetAngle(15); try { solver.Solve(captcha).Wait(); Console.WriteLine("Captcha solved: " + captcha.Code); } catch (AggregateException e) { Console.WriteLine("Error occurred: " + e.InnerExceptions.First().Message); } } } }
java
// https://github.com/2captcha/2captcha-java package examples; import com.twocaptcha.TwoCaptcha; import com.twocaptcha.captcha.Rotate; public class RotateExample { public static void main(String[] args) { TwoCaptcha solver = new TwoCaptcha("YOUR_API_KEY"); Rotate captcha = new Rotate(); captcha.setFile("path/to/captcha.jpg"); captcha.setAngle(15); try { solver.solve(captcha); System.out.println("Captcha solved: " + captcha.getCode()); } catch (Exception e) { System.out.println("Error occurred: " + e.getMessage()); } } }
go
// https://github.com/2captcha/2captcha-go package main import ( "fmt" "log" "github.com/2captcha/2captcha-go" ) func main() { client := api2captcha.NewClient("API_KEY") captcha := api2captcha.Rotate{ File: "path/to/captcha.jpg", Angle: 15, } code, err := client.Solve(captcha.ToRequest()) if err != nil { log.Fatal(err); } fmt.Println("code "+code) }
ruby
# https://github.com/2captcha/2captcha-ruby require 'api_2captcha' client = Api2Captcha.new("YOUR_API_KEY") result = client.rotate({ image: 'path/to/captcha.jpg', angle: 40, lang: 'en', hint_image: 'path/to/hint.jpg', hint_text: 'Put the images in the correct way' })