Skip to main content
Are you experiencing issues obtaining the token?
Contact support

betpunch_3x3_rotate

Attention!

Using proxy servers is not required for this task.


The request must contain nine images. The images must be provided in the following order:

Request parameters


IMPORTANT: obtain the base64 images directly before creating the task to avoid errors during solving (see section How to get base64).


type<string>required

ComplexImageTask


class<string>required

recognition


imagesBase64<array>required

An array of Base64-encoded images (without the data:image/png;base64, prefix).


Task (inside metadata)<string>required

Task name: betpunch_3x3_rotate

Create task method

POST
https://api.capmonster.cloud/createTask

Request example

{
"clientKey": "API_KEY",
"task": {
"type": "ComplexImageTask",
"class": "recognition",
"imagesBase64": [
"image_1_Base64",
"image_2_Base64",
"image_3_Base64",
"image_4_Base64",
"image_5_Base64",
"image_6_Base64",
"image_7_Base64",
"image_8_Base64",
"image_9_Base64",
],
"metadata": {
"Task": "betpunch_3x3_rotate"
}
}
}

Response example

{
"errorId":0,
"taskId":407533072
}

Get task result method

POST
https://api.capmonster.cloud/getTaskResult

Request example

{
"clientKey":"API_KEY",
"taskId": 407533072
}

Response example
"answer":[X,X,X,X,X,X,X,X,X], where X is an integer value from 1 to 4 for each image.
4 means the image does not need rotation; 1–3 indicate how many counterclockwise rotations are required.

{
"errorId":0,
"status":"ready",
"errorCode":null,
"errorDescription":null,
"solution":
{
"answer":[4,4,4,4,4,3,1,2,2],
"metadata":{"AnswerType":"NumericArray"}
}
}

How to get Base64

Images on pages can be represented either as a URL or already encoded in Base64 format. To find the required value, right-click the captcha image, select Inspect, and carefully examine the Elements section or network requests — there you can find either the image URL or the encoded content.

  1. Open your website where the captcha is displayed in the browser.
  2. Right-click the captcha element and select Inspect.

base64ComplexImage

Use the SDK library

Show code (for browser)
// https://github.com/CapMonsterCloud/capmonster-nodejs-captcha-solver

import {
CapMonsterCloudClientFactory,
ClientOptions,
ComplexImageTaskRecognitionRequest
} from "@zennolab_com/capmonstercloud-client";

document.addEventListener("DOMContentLoaded", async () => {

const API_KEY = "YOUR_API_KEY"; // Specify your CapMonster Cloud API key

const client = CapMonsterCloudClientFactory.Create(
new ClientOptions({ clientKey: API_KEY })
);

// Proxies are not required for ComplexImageTaskRecognitionRequest
const betpunchRequest = new ComplexImageTaskRecognitionRequest({
imagesBase64: [
"your_image_1_base64",
"your_image_2_base64",
"your_image_3_base64",
"your_image_4_base64",
"your_image_5_base64",
"your_image_6_base64",
"your_image_7_base64",
"your_image_8_base64",
"your_image_9_base64",
],
metaData: {
Task: "betpunch_3x3_rotate",
},
});

// You can check your balance if necessary
const balance = await client.getBalance();
console.log("Balance:", balance);

const result = await client.Solve(betpunchRequest);
console.log("Solution:", result.solution);
});
Show code (Node.js)
// https://github.com/CapMonsterCloud/capmonster-nodejs-captcha-solver

const {
CapMonsterCloudClientFactory,
ClientOptions,
ComplexImageTaskRecognitionRequest,
} = require("@zennolab_com/capmonstercloud-client");

const API_KEY = "YOUR_API_KEY"; // Specify your CapMonster Cloud API key

async function solveBetpunch3x3Rotate() {
const client = CapMonsterCloudClientFactory.Create(
new ClientOptions({ clientKey: API_KEY }),
);

// Proxies are not required for ComplexImageTaskRecognitionRequest
const betpunchRequest = new ComplexImageTaskRecognitionRequest({
imagesBase64: [
"your_image_1_base64",
"your_image_2_base64",
"your_image_3_base64",
"your_image_4_base64",
"your_image_5_base64",
"your_image_6_base64",
"your_image_7_base64",
"your_image_8_base64",
"your_image_9_base64",
],
metaData: {
Task: "betpunch_3x3_rotate",
},
});

// You can check your balance if necessary
const balance = await client.getBalance();
console.log("Balance:", balance);

const result = await client.Solve(betpunchRequest);
console.log("Solution:", result.solution);
}

solveBetpunch3x3Rotate().catch(console.error);