Skip to content
API
Tiktok Captcha

TikTok Captcha

Pangkalahatang-ideya

Ang TikTok Captcha ay isang sistema ng pag-verify na ginagamit ng TikTok upang protektahan ang platform mula sa mga bot at spam. Ang captcha na ito ay karaniwang lumalabas kapag nagrerehistro ng bagong account, nagla-log in, o kapag may natukoy na hindi pangkaraniwang aktibidad.

🎵

Sa kasalukuyan, may mga available na extension para sa lahat ng 4 na uri ng captcha sa mga browser. Mangyaring mag-inbox sa admin upang matanggap ang extension. Nagbibigay ng lahat ng uri ng captcha para sa mga browser, emulator, at telepono.

Rotate Captcha

1. Lumikha ng Task

Request

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

Mga Parameter

ParameterUri ng DataKinakailangan?Paglalarawan
clientKeystringooAPI key
task.typestringooTiktokCaptchaTask
task.imagestringooBase64 ng larawan
task.subTypeintooUri ng Captcha: 0 (Rotate captcha sa browser), 1 (Slider captcha), 2 (Pumili ng 2 magkatulad na bagay), 3 (Rotate captcha sa telepono, emulator), 5 (Pumili ng mga bagay na tumutugon sa tanong)
task.otherstringhindiPara sa subType 5, ang field na ito ay kinakailangan. Ang tanong sa captcha, halimbawa: "Which of these objects neighs"

Halimbawa ng Request

POST /createTask HTTP/1.1
Host: api.achicaptcha.com
Content-Type: application/json
 
{
	"clientKey": "YOUR_API_KEY",
	"task": {
		"type": "TiktokCaptchaTask",
		"image": "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...(10460 chars omitted)...V7Q4rk8i3IvOS/eZexY2wFyvTDXyzAWT5qNlUXkiKiAJVRdUYlkBFEQQRQEC2yAghRCyCWQSyBZAsgWQW1kCyCoCCoqIqoFkVCiCKXVC3ooCKKKxIRkhCxZw+Zj8FjMPpFmJjHRYdL69ad0OidK+5LIM1V6WM3fQBZRD5TbagWWbCZZKsVRiqqCIIindVil0UJQEQ5XRV5oiHZA3sgKBzRBFSyIHS6AgWRQa3RCyAgHZFUahA5ofAdkVLoKgnOyKE6KgoBQUDVGSE2CBYWUVjyRU5qMtgAKCAAqKoGqErZVFCrHYAqjIBRAKoiAqj//Z",
		"subType": 2
	}
}

Response

Sa tagumpay, ang server ay magbabalik ng errorId = 0 at taskId

{
  "errorId": 0,
  "taskId": "f2fc70d6-c76b-4fba-9480-205ac1fe9fb9"
}

Mga Halimbawa ng Larawan na Ipadadala sa Captcha Solving Server

Sa browser:

Field image = base64_outer_image|base64_inner_image

Rotate Captcha - Outer Image
Rotate Captcha - Inner Image

Sa emulator, telepono:

Field image ay base64 ng 1 larawan, na-crop upang maglaman lamang ng bahagi ng rotate captcha (kasama ang parehong bilog, maaaring may sobrang puting espasyo sa mga gilid, ang haba ng gilid ay flexible)

Rotate Captcha on phone

2. Kunin ang Resulta

Request

POST https://api.achicaptcha.com/getTaskResult

Mga Parameter

ParameterUri ng DataKinakailangan?Paglalarawan
clientKeystringooAPI key mula sa website
taskIdstringooTaskId mula sa hakbang (1)

Halimbawa ng Request

POST /getTaskResult HTTP/1.1
Host: api.achicaptcha.com
Content-Type: application/json
 
{
	"clientKey": "Your API_KEY",
	"taskId": "f2fc70d6-c76b-4fba-9480-205ac1fe9fb9"
}

Response

{
  "errorId": 0,
  "status": "ready",
  "solution": "x1,y1,x2,y2"
}

Kahulugan ng Response

  • errorId = 0 at status = ready: Matagumpay na nalutas, basahin ang resulta sa solution
  • errorId = 1 at status = processing: Ang captcha ay nilulutas pa, maghintay ng 1-2 segundo at subukang muli
  • errorId maliban sa 0 at 1: Error sa sistema, ibinigay ang error code at paglalarawan
  • solution:
    • Para sa rotate captcha sa browser: ibinabalik ang haba ng distansya ng pag-drag ng slider
    • Para sa rotate captcha sa emulator, telepono: ibinabalik ang anggulo ng pag-ikot, kinakalkula ng user ang distansya ng pag-drag gamit ang formula: Drag distance = (L / 180) * solution (kung saan ang L ay ang distansya mula sa simula hanggang sa posisyon ng pagtatapos ng slider, sinusukat mula sa gitna ng slider)
    • Para sa slider captcha: ibinabalik ang x-axis coordinate upang i-drag
    • Para sa select 2 similar objects captcha: ibinabalik ang pares ng mga coordinate upang i-click sa larawan "x1,y1,x2,y2"
    • Para sa select multiple objects that satisfy question captcha: ibinabalik ang mga coordinate upang i-click sa larawan "x1,y1,x2,y2,x3,y3,..."

Mga Halimbawa ng Integrasyon

import requests
import time
import base64
 
def solve_tiktok_captcha(image_base64, sub_type, question=None, api_key='YOUR_API_KEY'):
    # Step 1: Create task
    task = {
        'type': 'TiktokCaptchaTask',
        'image': image_base64,
        'subType': sub_type
    }
    
    # If subType = 5, add other field (question)
    if sub_type == 5 and question:
        task['other'] = question
    
    create_task_url = 'https://api.achicaptcha.com/createTask'
    create_task_payload = {
        'clientKey': api_key,
        'task': task
    }
    
    response = requests.post(create_task_url, json=create_task_payload)
    result = response.json()
    
    if result['errorId'] != 0:
        raise Exception(result.get('errorDescription', 'Unknown error'))
    
    task_id = result['taskId']
    
    # Step 2: Get result
    get_result_url = 'https://api.achicaptcha.com/getTaskResult'
    
    while True:
        time.sleep(2)  # Wait 2 seconds
        
        get_result_payload = {
            'clientKey': api_key,
            'taskId': task_id
        }
        
        response = requests.post(get_result_url, json=get_result_payload)
        result = response.json()
        
        if result['errorId'] == 0 and result.get('status') == 'ready':
            return result['solution']
        
        if result['errorId'] == 1 and result.get('status') == 'processing':
            # Continue waiting
            continue
        
        # Other errors
        raise Exception(result.get('errorDescription', 'Unknown error'))
 
# Usage - Example with select 2 objects captcha (subType = 2)
with open('captcha_image.png', 'rb') as f:
    image_base64 = base64.b64encode(f.read()).decode('utf-8')
 
sub_type = 2  # 0: Rotate browser, 1: Slider, 2: Select 2 objects, 3: Rotate phone, 5: Select by question
solution = solve_tiktok_captcha(image_base64, sub_type, api_key='YOUR_API_KEY')
print('TikTok captcha solution:', solution)  # "x1,y1,x2,y2"

Mga Karaniwang Error Code

Mga Error Code Kapag Gumagawa ng Task

Error CodePaglalarawanMga Tala
0successMatagumpay na nalikha ang task
2missing required fieldsKulang ang mga kinakailangang field, suriin ang mga parameter (image, subType)
3task not supportedHindi suportado ang uri ng task
4task creation failedNabigo ang paglikha ng task, subukang muli mamaya
5client key does not existHindi umiiral ang API key, suriin ang iyong API key
6insufficient account balanceHindi sapat ang balanse ng account, magdagdag ng credits

Mga Error Code Kapag Kumukuha ng Resulta

Error CodePaglalarawanMga Tala
0successTagumpay, basahin ang resulta sa field na solution
1processingPinoproseso, maghintay ng 1-2 segundo at ipadala muli ang request
5client key does not existHindi umiiral ang API key, suriin ang iyong API key
7task failed, please create a new taskNabigo ang task, mangyaring lumikha ng bagong task
8task ID does not existHindi umiiral ang Task ID o nag-expire na

Pinakamahuhusay na Kasanayan

Upang makamit ang pinakamahusay na mga resulta kapag ginagamit ang Achicaptcha API, sundin ang mga prinsipyong ito:

1. Tukuyin ang Tamang Uri ng Captcha at subType

  • Ang TikTok ay gumagamit ng iba't ibang uri ng captcha
  • Tumpak na tukuyin ang uri ng captcha na ipinapakita
  • Ipadala ang tamang subType sa request:
    • 0: Rotate captcha sa browser
    • 1: Slider captcha
    • 2: Pumili ng 2 magkatulad na bagay
    • 3: Rotate captcha sa telepono, emulator
    • 5: Pumili ng mga bagay na tumutugon sa tanong (kinakailangan ang other field)

2. I-format nang Tama ang mga Larawan

  • Rotate captcha sa browser: Ipadala ang base64_outer_image|base64_inner_image
  • Rotate captcha sa telepono/emulator: Ipadala ang base64 ng 1 larawan (naglalaman lamang ng bahagi ng rotate captcha)
  • Iba pang mga uri: Ipadala ang base64 ng kaukulang larawan
  • Tiyaking ang mga larawan ay naka-encode sa tamang base64 format

3. Hawakan nang Maayos ang mga Resulta

  • Para sa rotate captcha sa emulator/telepono: Kalkulahin ang distansya ng pag-drag gamit ang formula: Drag distance = (L / 180) * solution
    Paano sukatin ang L para sa rotate captcha drag
    Sukatin ang L gaya ng ipinakita sa itaas: ang haba para sa pagkalkula ng pag-drag
  • Para sa select objects captcha: I-parse ang coordinate string na "x1,y1,x2,y2" upang makuha ang mga click point
  • Para sa slider captcha: Gamitin ang ibinalik na x coordinate upang i-drag ang slider

4. Interval ng Polling

  • Maghintay ng hindi bababa sa 1-2 segundo sa pagitan ng mga pagsusuri ng resulta
  • Huwag i-spam ang API ng masyadong maraming sunud-sunod na request
  • Magkaroon ng timeout upang maiwasan ang mga infinite loop (inirerekomenda ang 120 segundo)

5. Paghawak ng Error

  • Suriin para sa errorId = 1 at status = processing upang magpatuloy sa paghihintay
  • Hawakan nang maayos ang iba pang mga error
  • Magpatupad ng retry logic para sa mga pansamantalang error

6. Seguridad ng API Key

  • Huwag i-hardcode ang API key sa code
  • Gumamit ng mga environment variable
  • Huwag ilantad ang API key sa client-side

Mga Kapaki-pakinabang na Link: