Image Tasks

GeeTest V4
Solve GeeTest v4 image challenges with the NoCaptchaAI API.
Create a task
POST https://api.nocaptchaai.com/createTask
The task type is always GeetestClassification. The question field determines the sub-type.
Slide captcha
{
"clientKey": "YOUR_API_KEY",
"task": {
"type": "GeetestClassification",
"websiteURL": "https://example.com",
"images": ["base64-background-image"],
"slice": ["base64-slider-piece"],
"question": "slide"
}
}Grid (nine-piece) captcha
{
"clientKey": "YOUR_API_KEY",
"task": {
"type": "GeetestClassification",
"websiteURL": "https://example.com",
"images": ["base64-slice-0", "...", "base64-slice-8"],
"slice": ["base64-question-image"],
"question": "grid:Select all images containing cars"
}
}Click captcha
{
"clientKey": "YOUR_API_KEY",
"task": {
"type": "GeetestClassification",
"websiteURL": "https://example.com",
"images": ["base64-background-image"],
"slice": ["base64-example-0", "base64-example-1"],
"question": "click:Select the same characters"
}
}Match (icon-crush) captcha
{
"clientKey": "YOUR_API_KEY",
"task": {
"type": "GeetestClassification",
"websiteURL": "https://example.com",
"numbers": [3, 1, 2]
}
}GoBang captcha
{
"clientKey": "YOUR_API_KEY",
"task": {
"type": "GeetestClassification",
"websiteURL": "https://example.com",
"numbers": [1, 2, 3]
}
}Get the result
// Slide — drag target:
{ "errorId": 0, "solution": { "slide": [120, 45] } }
// Grid / Click — cell indexes or click points:
{ "errorId": 0, "solution": { "objects": [0, 4, 8] } }
// Match / GoBang — swap coordinates:
{ "errorId": 0, "solution": { "valid_swaps": [[0, 0], [1, 1]] } }slide→[x, y]drag target coordinates.objects→ indexes to click (grid) or{x, y}point groups (click).valid_swaps→ two[row, col]coordinates for matching/swapping.
Code example
import requests
API_KEY = "YOUR_API_KEY"; BASE = "https://api.nocaptchaai.com"
res = requests.post(f"{BASE}/createTask", json={
"clientKey": API_KEY,
"task": {
"type": "GeetestClassification",
"websiteURL": "https://example.com",
"images": ["base64-background-image"],
"slice": ["base64-slider-piece"],
"question": "slide"
}
}).json()
print(res)const API_KEY = "YOUR_API_KEY", BASE = "https://api.nocaptchaai.com";
const res = await fetch(`${BASE}/createTask`, {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
clientKey: API_KEY,
task: {
type: "GeetestClassification",
websiteURL: "https://example.com",
images: ["base64-background-image"],
slice: ["base64-slider-piece"],
question: "slide"
}
})
}).then(r => r.json());
console.log(res);curl -X POST https://api.nocaptchaai.com/createTask \
-H "Content-Type: application/json" \
-d '{
"clientKey": "YOUR_API_KEY",
"task": {
"type": "GeetestClassification",
"websiteURL": "https://example.com",
"images": ["base64-background-image"],
"slice": ["base64-slider-piece"],
"question": "slide"
}
}'