KyvShield API v2.1
API de verification de Carte d'Identite Nationale du Senegal avec detection de fraude multi-couches. Analysez les documents, detectez les manipulations et validez l'authenticite en temps reel.
Demarrage Rapide
- 1 Envoyez une image de CIN (recto ou verso) via POST multipart/form-data
- 2 Recevez l'analyse avec score de fraude, donnees extraites et decision
- 3 Interpretez le resultat: PASS (authentique), REVIEW (a verifier), REJECT (frauduleux)
Base URL
Local: http://localhost:8080
CNN Detection
Deep learning EfficientNet-B0
OCR Hybride
DocTR + Tesseract
6 Couches
Analyse multi-niveaux
Endpoints
Analyse le recto d'une CIN senegalaise. Extrait les informations et calcule un score de fraude.
Request
Body: image (file) - Image JPG/PNG de la CIN
Parametres optionnels
Tous les parametres de seuils et poids sont configurables. Voir les sections Seuils et Poids pour la documentation complete.
| Parametre | Type | Description |
|---|---|---|
| image | file | Requis - Image JPG/PNG de la CIN |
| birth_date | string | Date de naissance (JJ/MM/AAAA) pour validation croisee |
| debug_steps | boolean | Si true, retourne le detail des durees de chaque etape (Go + Python) dans debug_steps[] |
| threshold_* | float | Voir Seuils |
| weight_* | float | Voir Poids |
Analyse le verso d'une CIN. Extrait le NIN et les informations MRZ.
Retourne le statut de l'API et la configuration active.
Format de Reponse
Champs principaux
| Champ | Description |
|---|---|
| fraud_analysis.status | Decision: PASS, REVIEW, ou REJECT |
| fraud_analysis.authenticity_score | Score d'authenticite (0-1) |
| extraction | Donnees extraites (nom, prenoms, date, etc.) |
| cnn_analysis | Resultat du modele CNN |
| photoshop_analysis | Detection de manipulation |
Exemples de Code
Integrez l'API KyvShield dans votre application avec ces exemples.
Analyse CIN Recto
curl -X POST "https://kyvshield.innolink.sn/api/analyse/recto" \
-F "image=@/path/to/cin_recto.jpg"
/api/analyse/recto par /api/analyse/verso
Seuils (Thresholds)
Les seuils controlent les decisions PASS/REVIEW/REJECT et la sensibilite de detection.
| Parametre | Defaut | Plage | Description |
|---|---|---|---|
| threshold_pass | 0.3 | 0.0 - 1.0 | Score minimum pour PASS. En dessous = document authentique |
| threshold_review | 0.5 | 0.0 - 1.0 | Score minimum pour REVIEW. Entre PASS et REVIEW = verification manuelle |
| threshold_handwritten_boost | 0.7 | 0.0 - 1.0 | Boost applique si ecriture manuscrite detectee (fraude probable) |
| threshold_photoshop_boost | 0.6 | 0.0 - 1.0 | Boost applique si manipulation Photoshop detectee |
| threshold_invalid_format_boost | 0.35 | 0.0 - 1.0 | Boost applique si format CIN invalide (numero incorrect) |
| handwritten_threshold | 0.55 | 0.0 - 1.0 | Seuil pour considerer le texte comme manuscrit |
| ocrb_threshold | 0.4 | 0.0 - 1.0 | Seuil de conformite police OCR-B (numerique CIN) |
score < threshold_pass → PASSthreshold_pass ≤ score < threshold_review → REVIEWscore ≥ threshold_review → REJECT
Poids (Weights)
Les poids determinent l'importance relative de chaque composant dans le score final de fraude.
| Parametre | Defaut | Composant | Description |
|---|---|---|---|
| weight_cnn | 5.0 | CNN | Reseau neuronal EfficientNet-B0 (plus fiable) |
| weight_ocrb | 4.0 | OCR-B | Conformite police OCR-B standard CIN |
| weight_cin | 3.0 | Format CIN | Validation format numero CIN (13 chiffres) |
| weight_photoshop | 2.0 | Photoshop | Detection manipulation (metadonnees, artefacts) |
| weight_font | 2.0 | Police | Coherence typographique du document |
score = Σ(component_score × weight) / Σ(weights)
Par defaut: CNN (5) + OCR-B (4) + CIN (3) + Photoshop (2) + Font (2) = 16 points total
API Playground
Testez l'API directement depuis votre navigateur.
Request
Configuration Avancee
Seuils
Poids
JSON Genere
Glissez une image ici
JPG, PNG - Max 10MB
Capture Photo
Recadrer l'image
Cliquez et glissez pour selectionner la zone a conserver
Detection automatique: Vous pouvez aussi cliquer sur "Utiliser toute l'image" et laisser notre modele detecter automatiquement la carte et corriger l'orientation.
Serveur de test (CPU)
Le traitement peut prendre jusqu'a 30 secondes sur le serveur de test CPU. L'environnement de production utilise un GPU pour des temps de reponse <5s.
Response
Analyse en cours...
La reponse apparaitra ici apres l'envoi