Rotate CAPTCHA

Rotate

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

{
    "clientKey":"YOUR_API_KEY",
    "task": {
        "type": "RotateTask",
        "body": "R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==",
        "comment": "position the image properly",
        "angle": 60
    },
    "languagePool": "en"
}

Response example

{
    "errorId": 0,
    "status": "ready",
    "solution": {
        "rotate": 180
    },
    "cost": "0.0005",
    "ip": "1.2.3.4",
    "createTime": 1692863536,
    "endTime": 1692863556,
    "solveCount": 1
}

Code examples

// 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);
# 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))
// 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);
            }
        }
    }
}
// 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());
        }
    }
}
// https://github.com/2captcha/2captcha-go

package main

import (
  "fmt"
  "log"
  "github.com/2captcha/2captcha-go"
)

func main() {
  client := api2captcha.NewClient("API_KEY")
  cap := api2captcha.Rotate{
      File: "path/to/captcha.jpg",
      Angle: 15,
  }
  code, err := client.Solve(cap.ToRequest())
  if err != nil {
      log.Fatal(err);
  }
  fmt.Println("code "+code)
}
# 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'
})