doniramdani820/geetest-slider-api
0
Geetest Slider Detection API
๐ ONNX-based slider position detection for Geetest captcha using YOLOv8 model.
๐ง Setup Requirements
Files to Upload:
app.py- Main FastAPI applicationrequirements.txt- Python dependenciesDockerfile- Container configurationbest_model.onnx- Your trained YOLO modeldata.yaml- Model configuration file
Environment Variables:
Set in Space Settings โ Repository secrets:
API_SECRET_KEY = DASDAS2๐ฏ API Endpoints
POST /predict
Predict slider position from captcha image.
Headers:
Content-Type: application/json
Authorization: Bearer DASDAS2Request Body:
{
"image": "base64_encoded_image_string",
"confidence_threshold": 0.5
}Response:
{
"success": true,
"bbox": {
"x1": 100,
"y1": 50,
"x2": 120,
"y2": 70,
"confidence": 0.85
},
"slider_position": 150.5,
"confidence": 0.85,
"message": "Slider position detected successfully"
}GET /health
Check API health status.
๐ Usage
const response = await fetch('https://doniramdani820-geetest-slider-api.hf.space/predict', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer DASDAS2'
},
body: JSON.stringify({
image: base64_image_string,
confidence_threshold: 0.5
})
});
const result = await response.json();
console.log('Predicted position:', result.slider_position);๐ Model Requirements
- Format: ONNX (YOLOv8)
- Input: 640x640 RGB images
- Output: Bounding boxes for slider position
- Classes: Based on your
data.yamlconfiguration
๐ก๏ธ Security
- API key authentication required
- Rate limiting applied
- Input validation and sanitization
๐ Performance
- ONNX Runtime 1.18.0 for optimal inference
- CPU optimized execution providers
- Memory efficient session configuration
