Multi-Select Image CAPTCHA
Solve captchas requiring multiple image selections with AI-powered recognition. Multi-select CAPTCHAs require selecting all images matching specific criteria with 99.3% accuracy.
Multi-select image CAPTCHAs present a set of images and ask users to select ALL images that match a specific criteria (e.g., "Select all images with cars" or "Select all images with red objects"). Unlike single-selection captchas, users must identify multiple correct images from the set.
Captcha Type
Use the following captcha type identifier in your API requests:
"type": "MULTI_SELECT_CAPTCHA_IMAGE"
Request Format
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
auth.token |
string | required | Your API key |
captcha.type |
string | required | Must be "MULTI_SELECT_CAPTCHA_IMAGE" |
captcha.metadata.siteUrl |
string | required | URL where captcha appears |
captcha.payload.images |
array | required | Array of base64-encoded images |
captcha.payload.question |
string | required | The selection criteria (e.g., "Select all images with cars") |
captcha.payload.referenceImages |
array | optional | Reference images for comparison |
Example Request
const response = await fetch('https://solver-api.mydisct.com/createTask', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'apikey': 'YOUR_API_KEY'
},
body: JSON.stringify({
auth: { token: 'YOUR_API_KEY' },
context: { source: 'api', version: '1.0.0' },
captcha: {
type: 'MULTI_SELECT_CAPTCHA_IMAGE',
metadata: {
siteUrl: 'https://example.com'
},
payload: {
images: ['img1_base64', 'img2_base64', 'img3_base64'],
question: 'Select all images with cars',
referenceImages: []
}
}
})
});
const data = await response.json();
console.log('Task ID:', data.task.id);
Python Example
import requests
import time
def solve_multi_select_captcha(images, question, site_url, api_key, reference_images=None):
"""
Solve multi-select captcha challenge
Args:
images: List of base64-encoded images
question: Selection criteria
site_url: URL where captcha appears
api_key: Your MyDisct Solver API key
reference_images: Optional reference images
Returns:
List of selected indices
"""
# Step 1: Create task
create_response = requests.post(
'https://solver-api.mydisct.com/createTask',
headers={
'Content-Type': 'application/json',
'apikey': api_key
},
json={
'auth': {'token': api_key},
'context': {'source': 'api', 'version': '1.0.0'},
'captcha': {
'type': 'MULTI_SELECT_CAPTCHA_IMAGE',
'metadata': {'siteUrl': site_url},
'payload': {
'images': images,
'question': question,
'referenceImages': reference_images or []
}
}
}
)
create_data = create_response.json()
if not create_data['success']:
raise Exception(create_data['error']['message'])
task_id = create_data['task']['id']
# Step 2: Poll for result
while True:
time.sleep(3)
result_response = requests.post(
'https://solver-api.mydisct.com/fetchResult',
headers={
'Content-Type': 'application/json',
'apikey': api_key
},
json={'taskId': task_id}
)
result_data = result_response.json()
if result_data['task']['status'] == 'completed':
return result_data['task']['result']['answers']
elif result_data['task']['status'] == 'failed':
raise Exception('Multi-select captcha solving failed')
# Usage
solution = solve_multi_select_captcha(
images=['img1_base64', 'img2_base64', 'img3_base64'],
question='Select all images with cars',
site_url='https://example.com',
api_key='YOUR_API_KEY'
)
print(f'Selected indices: {solution}')
Response Format
Create Task Response (Processing)
{
"success": true,
"service": "MyDisct Solver",
"message": "Captcha is being processed",
"task": {
"id": "MyDisctSolver_abc123def456",
"status": "processing"
}
}
Fetch Result Response (Completed)
{
"success": true,
"service": "MyDisct Solver",
"message": "Captcha solved successfully",
"task": {
"id": "MyDisctSolver_abc123def456",
"status": "completed",
"result": {
"answers": [0, 2, 5, 7],
"timestamp": "2025-11-05T12:34:56.789Z"
}
}
}
The answers array contains the indices of all images that should be selected.
For multi-select captchas, multiple indices are returned as users must select all matching images.
Best Practices
- Include the exact question text as displayed
- Multi-select captchas require selecting ALL matching images
- Use high-quality images without compression
- Include reference images when available for better accuracy
- Poll every 3 seconds for results
Common Issues
Solution: Multi-select captchas require selecting ALL images that match the criteria. Ensure your application handles multiple selections correctly.
Solution: Only select images that exactly match the criteria. Over-selection can cause validation failures.
Solution: Pay close attention to the question wording (e.g., "all", "containing", "with"). Different phrasings can change the expected selections.