SlideScope — Visual AI Analyzer

Analiza el estilo visual de PDFs y presentaciones PPTX página por página usando modelos de visión con IA. Extrae paleta de colores, tipografía, composición y tono visual, y opcionalmente genera nuevas imágenes coherentes con ese estilo.


Demo rápido

  1. Abre index.html en el navegador
  2. Sube un PDF o PPTX
  3. Ingresa tu API Key de Pollinations (solo en la versión de pago)
  4. Elige el modelo de visión y haz clic en ◈ Analizar con IA
  5. Explora el JSON resultante o genera imágenes con ese estilo

Características

Carga de archivos

Análisis visual con IA

Campo Descripción
paleta_colores Array de códigos HEX dominantes
tipografia.principal Descripción del estilo tipográfico principal
tipografia.secundaria Tipografía secundaria si existe
tipografia.estilo Descripción general del sistema tipográfico
estilo_ilustracion Estilo gráfico/visual de la página
estructura Composición y disposición de zonas visuales
elementos_decorativos Lista de elementos decorativos identificados
tono_visual Tono y sensación visual general

Selector de modelos de texto/visión

Elige entre 7 modelos disponibles vía la API de Pollinations:

Nombre visible Identificador en API
GPT-5.4 Nano (por defecto) openai
Llama 4 Scout llama-scout
Qwen 3 qwen-vision
GPT 5 Nao openai-fast
Claude Haiku 4.5 claude-fast
GPT-5.4 Mini gpt-5.4-mini
Grok 4.3 grok-4.3

Visor JSON

Generador de imágenes (modal)


Requisitos


Uso

La app es un único archivo HTML sin proceso de build. Basta con servirlo:

# Con Node.js
npx serve .

# Con Python
python -m http.server 8080

# O simplemente abrir index.html directo en el navegador (file://)

Estructura del proyecto

.
├── index.html   # App completa: HTML + CSS + JS en un solo archivo
└── README.md    # Este archivo

Todas las dependencias se cargan desde CDN en tiempo de ejecución:

Librería Versión Uso
PDF.js 3.11.174 Rasterizado de páginas PDF a canvas
JSZip 3.10.1 Descompresión de PPTX para extraer imágenes (carga dinámica)
Google Fonts Tipografías Syne y Space Mono

API de Pollinations

Análisis visual — /v1/chat/completions

Endpoint compatible con OpenAI. Cada página se envía como image/jpeg base64 (normalizada desde el formato original) junto al prompt de extracción de estilo. La app siempre convierte la imagen a JPEG antes de enviarla para garantizar compatibilidad con todos los modelos.

POST https://gen.pollinations.ai/v1/chat/completions
Authorization: Bearer <api_key>

{
  "model": "<modelo_seleccionado>",
  "messages": [{
    "role": "user",
    "content": [
      { "type": "text", "text": "<prompt>" },
      { "type": "image_url", "image_url": { "url": "data:image/jpeg;base64,..." } }
    ]
  }]
}

Generación de imágenes — /v1/images/generations

POST https://gen.pollinations.ai/v1/images/generations
Authorization: Bearer <api_key>

{
  "model": "<modelo_imagen>",
  "prompt": "<prompt enriquecido con estilo>",
  "n": 1,
  "size": "1024x1024",
  "quality": "medium",
  "response_format": "b64_json"
}

Personalización

Añadir modelos de análisis: edita el <select id="modelSelect"> y agrega <option value="id-del-modelo">Nombre visible</option>.

Añadir modelos de imagen: edita el <select id="img-model-sel"> en el modal de generación.

Cambiar el prompt de análisis: busca la constante userPrompt dentro de analyzePageWithClaude() y ajusta los campos JSON solicitados.

Escala de renderizado PDF: cambia scale: 1.5 en page.getViewport({ scale: 1.5 }) — mayor valor = más detalle, más memoria.


Limitaciones conocidas


Licencia

MIT