CoolFace
Apppublic

doniramdani820/geetest-slider-api

sourceHugging Facemitupdated 1y agoView on Hugging Face
0likes
App README

Geetest Slider Detection API

๐Ÿš€ ONNX-based slider position detection for Geetest captcha using YOLOv8 model.

๐Ÿ”ง Setup Requirements

Files to Upload:

  • โ€”app.py - Main FastAPI application
  • โ€”requirements.txt - Python dependencies
  • โ€”Dockerfile - Container configuration
  • โ€”best_model.onnx - Your trained YOLO model
  • โ€”data.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 DASDAS2

Request Body:

json
{
  "image": "base64_encoded_image_string",
  "confidence_threshold": 0.5
}

Response:

json
{
  "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

javascript
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.yaml configuration

๐Ÿ›ก๏ธ 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