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'
})