Skip to content
API
hCAPTCHA
छवि

hCAPTCHA Image

अवलोकन

hCaptcha Image एक कैप्चा प्रकार है जिसके लिए उपयोगकर्ताओं को आवश्यकताओं, क्लिक बिंदुओं के अनुसार छवियों को पहचानने और चुनने या छवियों को खींचने की आवश्यकता होती है।

🖼️

hCaptcha Token का व्यापक रूप से कई वेबसाइटों जैसे Cloudflare, Discord, OpenSea और कई अन्य सेवाओं पर बॉट्स से बचाने के लिए उपयोग किया जाता है।

hCaptcha Token BBox

1. कार्य बनाएँ

अनुरोध

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

पैरामीटर्स

पैरामीटर नामडेटा प्रकारआवश्यक?विवरण
clientKeystringहाँApi key
task.typestringहाँHCaptchaImageTask
task.subTypestringहाँमान 0 के बराबर है
task.imagestringहाँ| द्वारा अलग की गई base64 छवियों की सूची
base64_question1|base64_question2|...|base64_question9|base64_sample1|base64_sample2|...|base64_sampleN
नोट: नमूना छवियां मौजूद हो भी सकती हैं और नहीं भी। छवियों को base64 में एन्कोड किया जाना चाहिए
task.otherstringहाँप्रश्न|छवि गणना|कैप्चा प्रकार
उदाहरण: "Please identify and click on all pictures featuring a bird|9|grid"
- प्रश्न: "Please identify and click on all pictures featuring a bird"
- छवि गणना: 9 (केवल question ग्रिड में छवियों की गणना करें, sample छवियों की नहीं)
- कैप्चा प्रकार: grid (9 कोशिकाओं में से उन कोशिकाओं का चयन करें जो शर्त को पूरा करती हैं) या bbox (शर्त को पूरा करने वाली वस्तु को चिह्नित करने के लिए एक/कई बिंदुओं पर क्लिक करें या खींचें) या drag (पूर्ण छवि बनाने के लिए एक/कई पहेली के टुकड़ों को खींचें)

अनुरोध उदाहरण

POST /createTask HTTP/1.1
Host: api.achicaptcha.com
Content-Type: application/json
 
{
  "clientKey": "YOUR_API_KEY",
  "task": {
    "type": "HCaptchaImageTask",
    "subType": "0",
    "image": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==|iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==|...(9 base64 images joined by |)",
    "other": "Please identify and click on all pictures featuring a bird|9|grid"
  }
}

प्रतिक्रिया

सफल होने पर, सर्वर errorId = 0 और taskId लौटाता है

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

कैप्चा सर्वर को भेजने के लिए छवि उदाहरण

टिप: सर्वोत्तम कैप्चा पहचान गुणवत्ता के लिए, अपनी छवि को नीचे दिए गए उदाहरण चित्रों में लाल और बैंगनी बक्सों के अनुसार क्रॉप करें।
सुनिश्चित करें कि क्रॉप की गई छवि का रेज़ोल्यूशन कम से कम 500–600 पिक्सेल चौड़ाई/ऊँचाई हो ताकि सर्वोत्तम परिणाम मिल सकें।

मल्टी क्लिक अनुरोध उदाहरण

2. परिणाम प्राप्त करें

अनुरोध

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

पैरामीटर्स

पैरामीटर नामडेटा प्रकारआवश्यक?विवरण
clientKeystringहाँApi key
taskIdstringहाँ(1) से प्राप्त TaskId

अनुरोध उदाहरण

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

प्रतिक्रिया

{
  "errorId": 0,
  "status": "ready",
  // solution: क्लिक करने के लिए बिंदुओं के निर्देशांक (x1,y1,x2,y2,...) 
  "solution": "20,30,40,50"
}

स्थिति स्पष्टीकरण

  • errorId = 0 और status = ready: सफलतापूर्वक हल किया गया, solution.gRecaptchaResponse में परिणाम पढ़ें
  • errorId = 0 और status = processing: कैप्चा हल किया जा रहा है, 2 सेकंड प्रतीक्षा करें और पुनः प्रयास करें
  • errorId > 0: सिस्टम त्रुटि, त्रुटि कोड और विवरण लौटाता है

एकीकरण उदाहरण

import requests
import time
import base64
 
def image_url_to_base64(url):
    """Convert image URL to base64"""
    response = requests.get(url)
    return base64.b64encode(response.content).decode('utf-8')
 
def solve_hcaptcha_image(image_base64_list, question, image_count, captcha_type, api_key='YOUR_API_KEY'):
    # Step 1: Create task
    create_task_url = 'https://api.achicaptcha.com/createTask'
    create_task_payload = {
        'clientKey': api_key,
        'task': {
            'type': 'HCaptchaImageTask',
            'subType': '0',
            'image': image_base64_list,
            'other': f'{question}|{image_count}|{captcha_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']
    
    # 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:
            raise Exception(result['errorDescription'])
        
        if result['status'] == 'ready':
            return result['solution']['gRecaptchaResponse']
        
        # If status == 'processing', continue loop
 
# Usage
# Convert image URLs to base64
image_urls = [
    'https://example.com/image1.jpg',
    'https://example.com/image2.jpg',
    # ... other images
    'https://example.com/image9.jpg'
]
 
base64_images = [image_url_to_base64(url) for url in image_urls]
image_base64_list = '|'.join(base64_images)
 
question = 'Please identify and click on all pictures featuring a bird'
image_count = 9
captcha_type = 'grid'  # or 'bbox'
 
token = solve_hcaptcha_image(image_base64_list, question, image_count, captcha_type, 'YOUR_API_KEY')
print('hCaptcha token:', token)

सामान्य त्रुटि कोड

त्रुटि कोडविवरणनोट्स
0successसफलता
1processingप्रसंस्करण
2missing required fieldsआवश्यक फ़ील्ड गायब है, पैरामीटर फिर से जाँचें
3task not supportedकार्य प्रकार समर्थित नहीं है
4task creation failedकार्य निर्माण विफल
5client key does not existAPI कुंजी मौजूद नहीं है, API कुंजी फिर से जाँचें
6insufficient account balanceअपर्याप्त खाता शेष, क्रेडिट टॉप अप करें
7task failed, please create a new taskकार्य विफल, कृपया एक नया कार्य बनाएँ
8task ID does not existकार्य ID मौजूद नहीं है

सर्वोत्तम प्रथाएँ

Achicaptcha API का उपयोग करते समय सर्वोत्तम परिणामों के लिए, इन सिद्धांतों का पालन करें:

1. इनपुट डेटा मान्य करें

  • अनुरोध भेजने से पहले छवि सूची की जाँच करें
  • भेजने से पहले छवियों को base64 में एन्कोड किया जाना चाहिए
  • सही प्रारूप सुनिश्चित करें: base64_image1|base64_image2|...|base64_image9 या अतिरिक्त नमूना छवियों के साथ
  • सत्यापित करें कि प्रश्न और कैप्चा प्रकार (grid/bbox) सटीक हैं
  • छवि गणना ग्रिड में छवियों की वास्तविक संख्या से मेल खानी चाहिए

2. कई राउंड संभालें

  • hCaptcha को कई लगातार राउंड हल करने की आवश्यकता हो सकती है
  • Achicaptcha API इन राउंड को स्वचालित रूप से संभालता है
  • हल करने का समय टेक्स्ट कैप्चा (15-30 सेकंड) से अधिक हो सकता है

3. पोलिंग अंतराल

  • परिणाम जाँचों के बीच कम से कम 2 सेकंड प्रतीक्षा करें
  • बहुत अधिक लगातार अनुरोधों के साथ API को स्पैम न करें
  • अनंत लूप से बचने के लिए टाइमआउट सेट करें (120 सेकंड अनुशंसित)

4. पुनः प्रयास तर्क

  • ERROR_NO_SLOT_AVAILABLE जैसी अस्थायी त्रुटियों के लिए पुनः प्रयास लागू करें
  • पुनः प्रयास करते समय घातीय बैकऑफ़ (exponential backoff) का उपयोग करें
  • अधिकतम पुनः प्रयास प्रयासों को सीमित करें

5. API कुंजी सुरक्षा

  • कोड में API कुंजी को हार्डकोड न करें
  • पर्यावरण चर (environment variables) का उपयोग करें
  • क्लाइंट-साइड पर API कुंजी को उजागर न करें

उपयोगी लिंक: