✨ NoCaptcha v2 is here — fresh look, API v2 & agentic solving.Read the changelog →
Image Tasks

Tencent

Solve Tencent captchas with the NoCaptchaAI API.

Create a task

POST https://api.nocaptchaai.com/createTask

The task type is TencentClassification. The questionType field determines the sub-type.

Grid captcha

{
  "clientKey": "YOUR_API_KEY",
  "task": {
    "questionType": "tencent_grid",
    "type": "TencentClassification",
    "websiteURL": "https://example.com",
    "images": ["base64-slice-0", "...", "base64-slice-5"],
    "question": "Select all images containing ships"
  }
}

Click captcha

{
  "clientKey": "YOUR_API_KEY",
  "task": {
    "questionType": "tencent_click",
    "type": "TencentClassification",
    "websiteURL": "https://example.com",
    "images": ["base64-background-image"],
    "examples": ["base64-answer-example-image"]
  }
}

Slide captcha

{
  "clientKey": "YOUR_API_KEY",
  "task": {
    "questionType": "tencent_slide",
    "type": "TencentClassification",
    "websiteURL": "https://example.com",
    "images": ["base64-background-image"],
    "examples": ["base64-piece-image"]
  }
}

Get the result

// Grid / Click — points + original size:
{
  "errorId": 0,
  "solution": {
    "sol": [[120, 90], [310, 40]],
    "size": [344, 344]
  }
}

// Slide — drag target:
{ "errorId": 0, "solution": { "slide": [120, 45] } }
  • Grid / Click: sol is a list of [x, y] points; size is [width, height] of the original image (used for scaling).
  • Slide: slide[0] / slide[1] give the drag target; optional size is used for scaling.
  • The response may also be in answers instead of solution (both are accepted).

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": {
        "questionType": "tencent_grid",
        "type": "TencentClassification",
        "websiteURL": "https://example.com",
        "images": ["base64-slice-0", "base64-slice-1", "..."],
        "question": "Select all images containing ships"
    }
}).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: {
      questionType: "tencent_grid",
      type: "TencentClassification",
      websiteURL: "https://example.com",
      images: ["base64-slice-0", "base64-slice-1", "..."],
      question: "Select all images containing ships"
    }
  })
}).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": {
      "questionType": "tencent_grid",
      "type": "TencentClassification",
      "websiteURL": "https://example.com",
      "images": ["base64-slice-0", "base64-slice-1"],
      "question": "Select all images containing ships"
    }
  }'

Next steps

On this page

Content-Length: 0