#!/usr/bin/env python3 """ 🧪 Script de Prueba para Gráficos Vectoriales SVG Prueba la funcionalidad de generación de gráficos vectoriales con SVGDreamer """ import os import sys import time import tempfile import requests def test_svgdreamer_basic(): """Prueba básica de SVGDreamer""" print("🎨 Probando SVGDreamer - Generación básica...") try: # Configurar API API_URL = "https://api-inference.huggingface.co/models/jree423/svgdreamer" hf_token = os.getenv("HF_TOKEN") or os.getenv("HUGGING_FACE_HUB_TOKEN") headers = {"Authorization": f"Bearer {hf_token}"} if hf_token else {} # Payload básico payload = { "inputs": "a simple house icon", "parameters": { "n_particle": 1, "num_iter": 100, # Bajo para prueba rápida "guidance_scale": 7.5, "style": "iconography", "width": 224, "height": 224, "seed": 42 } } print(f"📦 Enviando payload: {payload}") # Realizar request start_time = time.time() response = requests.post(API_URL, headers=headers, json=payload) generation_time = time.time() - start_time if response.status_code != 200: raise Exception(f"Error en API: {response.status_code} - {response.text}") result = response.json() print(f"✅ Respuesta recibida en {generation_time:.2f}s") print(f"📊 Tipo de respuesta: {type(result)}") # Procesar respuesta if isinstance(result, dict) and 'generated_text' in result: svg_content = result['generated_text'] elif isinstance(result, list): svg_content = result else: svg_content = result print(f"📄 Contenido SVG recibido: {len(str(svg_content))} caracteres") # Guardar archivo de prueba with tempfile.NamedTemporaryFile(suffix='.svg', delete=False, mode='w', encoding='utf-8') as tmp_file: tmp_file.write(str(svg_content)) test_file = tmp_file.name print(f"💾 Archivo de prueba guardado: {test_file}") # Verificar que el archivo contiene SVG válido with open(test_file, 'r', encoding='utf-8') as f: content = f.read() if '