Text Captcha
Gambaran Umum
Text captcha standar adalah gambar yang berisi teks terdistorsi yang dapat dibaca oleh manusia. Untuk menyelesaikan gambar captcha, pengguna harus memasukkan teks dari gambar tersebut.
Text captcha dapat mencakup angka, huruf, atau kombinasi keduanya. Mereka biasanya menggunakan distorsi gambar, noise, dan berbagai font untuk membuat pembacaan otomatis menjadi sulit.

1. Buat Task
Request
POST https://api.achicaptcha.com/createTask
Parameter
| Parameter | Tipe Data | Wajib? | Deskripsi |
|---|---|---|---|
clientKey | string | ya | API key |
task.type | string | ya | ImageToTextTask |
task.image | string | ya | Base64 dari gambar |
task.subType | string | ya | Salah satu dari jenis berikut: common, amazon, microsoft, facebook, garena, artistshot, gmx, 11166, houssam |
Contoh Request
POST /createTask HTTP/1.1
Host: api.achicaptcha.com
Content-Type: application/json
{
"clientKey": "Your API_KEY",
"task": {
"type": "ImageToTextTask",
"image": "base64 encoded image",
"subType": "gmx"
}
}Response
Jika berhasil, server akan mengembalikan errorId = 0 dan taskId
{
"errorId": 0,
"taskId": "f2fc70d6-c76b-4fba-9480-205ac1fe9fb9"
}2. Dapatkan Hasil
Request
POST https://api.achicaptcha.com/getTaskResult
Parameter
| Parameter | Tipe Data | Wajib? | Deskripsi |
|---|---|---|---|
clientKey | string | ya | API key |
taskId | string | ya | TaskId dari langkah (1) |
Contoh 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": "swamn"
}Penjelasan Status
errorId = 0danstatus = ready: Berhasil diselesaikan, baca hasil disolution.texterrorId = 0danstatus = processing: Captcha sedang diselesaikan, tunggu 2 detik dan coba lagierrorId > 0: Kesalahan sistem, kode kesalahan dan deskripsi disediakan
Pilihan SubType
Achicaptcha mendukung berbagai jenis text captcha melalui parameter subType:
| SubType | Deskripsi |
|---|---|
common | Text captcha umum, paling populer |
amazon | Captcha khusus Amazon dengan distorsi khusus |
microsoft | Captcha yang digunakan pada layanan Microsoft |
facebook | Captcha Facebook dengan font yang khas |
garena | Captcha pada platform Garena |
artistshot | Captcha dari website Artistshot |
gmx | Captcha email GMX |
11166 | Jenis captcha khusus dengan kode 11166 |
houssam | Jenis captcha khusus bernama Houssam |
discord | Jenis captcha khusus Discord |
okvip | Jenis captcha khusus OKVIP |
shopee | Jenis captcha khusus Shopee |
Biasanya subType: common dapat menangani semua jenis text captcha. Jika text captcha website Anda terlalu spesifik, silakan hubungi admin (opens in a new tab) untuk dukungan.
Contoh Integrasi
import requests
import time
import base64
def solve_captcha(image_path, sub_type='common', api_key='YOUR_API_KEY'):
# Baca dan encode gambar
with open(image_path, 'rb') as image_file:
image_base64 = base64.b64encode(image_file.read()).decode('utf-8')
# Langkah 1: Buat task
create_task_url = 'https://api.achicaptcha.com/createTask'
create_task_payload = {
'clientKey': api_key,
'task': {
'type': 'ImageToTextTask',
'image': image_base64,
'subType': sub_type
}
}
response = requests.post(create_task_url, json=create_task_payload)
result = response.json()
if result['errorId'] != 0:
raise Exception(result['errorDescription'])
task_id = result['taskId']
# Langkah 2: Dapatkan hasil
get_result_url = 'https://api.achicaptcha.com/getTaskResult'
while True:
time.sleep(2) # Tunggu 2 detik
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:
raise Exception(result['errorDescription'])
if result['status'] == 'ready':
return result['solution']
# Jika status == 'processing', lanjutkan loop
# Penggunaan
solution = solve_captcha('captcha.png', 'common', 'YOUR_API_KEY')
print('Hasil captcha:', solution)Kode Error Umum
| Kode Error | Deskripsi | Catatan |
|---|---|---|
| 0 | sukses | Sukses |
| 1 | memproses | Memproses |
| 2 | field yang diperlukan hilang | Field yang diperlukan hilang, periksa parameter |
| 3 | task tidak didukung | Jenis task tidak didukung |
| 4 | pembuatan task gagal | Pembuatan task gagal |
| 5 | client key tidak ada | API key tidak ada, periksa API key Anda |
| 6 | saldo akun tidak mencukupi | Saldo akun tidak mencukupi, tambahkan kredit |
| 7 | task gagal, silakan buat task baru | Task gagal, silakan buat task baru |
| 8 | task ID tidak ada | Task ID tidak ada |
Praktik Terbaik
Untuk mencapai hasil terbaik saat menggunakan API Achicaptcha, ikuti prinsip-prinsip berikut:
1. Kualitas Gambar
- Gunakan gambar dengan resolusi yang baik
- Pastikan gambar tidak terlalu buram atau berisik
- Pilih
subTypeyang sesuai untuk jenis captcha Anda
2. Interval Polling
- Tunggu setidaknya 2 detik antara pemeriksaan hasil
- Jangan spam API dengan terlalu banyak request berturut-turut
- Miliki timeout untuk menghindari loop tak terbatas
3. Logika Retry
- Implementasikan retry untuk error sementara seperti
ERROR_NO_SLOT_AVAILABLE - Gunakan exponential backoff saat retry
- Batasi jumlah maksimum percobaan retry
4. Keamanan API Key
- Jangan hardcode API key dalam kode
- Gunakan environment variables
- Jangan expose API key di sisi client
Link Berguna: