Spaces:
Sleeping
Sleeping
| """ | |
| Example: Using CU1-X API from Hugging Face Space | |
| This example shows how to call the CU1-X API deployed on Hugging Face Spaces. | |
| """ | |
| from gradio_client import Client | |
| import json | |
| # Configuration | |
| SPACE_URL = "AI-DrivenTesting/CU1-X" # Remplacez par votre Space URL | |
| def detect_ui_elements(image_path: str): | |
| """ | |
| Détecte les éléments UI dans une image via l'API HF Space | |
| Args: | |
| image_path: Chemin vers l'image à analyser | |
| Returns: | |
| Tuple (annotated_image, summary, detections_json) | |
| """ | |
| # Créer le client Gradio | |
| client = Client(SPACE_URL) | |
| # Appeler l'API | |
| result = client.predict( | |
| image_path, # image | |
| 0.35, # confidence_threshold | |
| 2, # thickness | |
| True, # enable_clip (classification) | |
| True, # enable_ocr (extraction texte) | |
| False, # enable_blip (descriptions) | |
| False, # ocr_only | |
| "Only image & button", # blip_scope | |
| False, # preprocess | |
| "RF-DETR Optimized (Recommended)", # preprocess_mode | |
| "standard", # preprocess_preset | |
| api_name="/predict" | |
| ) | |
| # Déballer les résultats | |
| annotated_image, summary, detections_json = result | |
| return annotated_image, summary, detections_json | |
| def main(): | |
| """Exemple d'utilisation""" | |
| print("🚀 CU1-X API Example") | |
| print("=" * 50) | |
| # Chemin vers votre image de test | |
| test_image = "screenshot.png" # Remplacez par votre image | |
| try: | |
| print(f"\n📤 Uploading image: {test_image}") | |
| print("⏳ Processing... (this may take 30-60 seconds)") | |
| # Appeler l'API | |
| annotated_image, summary, detections = detect_ui_elements(test_image) | |
| # Afficher les résultats | |
| print("\n✅ Detection completed!") | |
| print("\n📊 Summary:") | |
| print(summary) | |
| print("\n🔍 Detections:") | |
| if isinstance(detections, str): | |
| detections = json.loads(detections) | |
| print(f" Total: {detections.get('total_detections', 0)} elements") | |
| if 'type_distribution' in detections: | |
| print("\n📈 Type Distribution:") | |
| for elem_type, count in detections['type_distribution'].items(): | |
| print(f" {elem_type}: {count}") | |
| print("\n💾 Saving annotated image...") | |
| # annotated_image est un fichier temporaire, vous pouvez le copier | |
| print(f" Annotated image saved at: {annotated_image}") | |
| except Exception as e: | |
| print(f"\n❌ Error: {e}") | |
| print("\nTroubleshooting:") | |
| print("1. Vérifiez que votre Space est déployé et en ligne") | |
| print("2. Vérifiez que SPACE_URL est correct") | |
| print("3. Assurez-vous d'avoir installé: pip install gradio_client") | |
| if __name__ == "__main__": | |
| main() | |