Fabulador

Fabulador es una aplicación educativa para componer fábulas originales ilustradas y generar una ficha didáctica de comprensión lectora. La aplicación permite elegir el público destinatario, el estilo visual y los modelos de texto e imagen.

Funciones

Arquitectura

El proyecto tiene dos partes:

Requisitos

Uso directo

  1. Abra index.html en un navegador.
  2. En Ajustes avanzados, introduzca una API key de Pollinations o pulse Obtener para iniciar el flujo de autorización.
  3. Escriba el tema de la fábula.
  4. Seleccione el público, el estilo artístico y los modelos.
  5. Pulse Componer la fábula.
  6. Responda las preguntas de comprensión en la ficha.
  7. Use Leer en voz alta para escuchar la fábula desde la aplicación.
  8. Pulse Descargar la fábula para obtener un HTML autónomo.

La clave se guarda en localStorage del navegador para no tener que escribirla en cada composición. No introduzca una clave compartida en un equipo público y elimínela del almacenamiento del navegador cuando termine.

Pollinations

La aplicación principal usa los endpoints de Pollinations directamente desde el navegador:

La clave se envía en la cabecera Authorization: Bearer plln_sk_... para texto y como parámetro key para imágenes, siguiendo el flujo de modelo.html.

El campo de modelos de texto incluye openai, openai-fast, gemini-fast, gpt-5.4-mini, qwen3.7-flash, gpt-5.6-luna, llama-scout y grok. El campo de modelos de imagen incluye zimage, klein, gptimage, krea, grok-imagine, gpt-image-2, ideogram-v4-turbo y qwen-image.

Servidor Express

El servidor es una alternativa para despliegues que prefieran mantener las claves en backend. No es necesario para el flujo directo de index.html con Pollinations.

Instalación:

npm install

Configuración:

  1. Copie .env.example como .env.
  2. Complete las claves del proveedor que vaya a utilizar.
  3. Revise ORIGENES_PERMITIDOS antes de publicar el servicio.

Arranque:

npm run inicio

El servidor escucha por defecto en http://localhost:3001 y expone:

Cliente React

El cliente alternativo se encuentra en cliente/.

cd cliente
npm install
npm run desarrollo

La variable VITE_API_URL permite cambiar la URL del servidor Express. Si no se define, el cliente usa http://localhost:3001.

Estilos visuales

El catálogo incluye estilos generales y estilos específicamente vinculados a la tradición de la fábula:

Lectura en voz alta

La aplicación principal utiliza la API Web Speech del navegador. El documento descargado incorpora su propio botón Leer en voz alta, por lo que funciona sin conexión con el servidor de Fabulador después de descargarlo. El texto se divide en fragmentos encadenados para evitar el límite práctico que algunos navegadores aplican a locuciones largas.

Si el navegador no implementa speechSynthesis, el botón se desactiva y muestra un aviso. El audio depende de las voces instaladas en el sistema operativo y de las políticas del navegador.

Accesibilidad

Seguridad y costos

Una API key introducida en index.html queda disponible para el código del navegador y no debe considerarse un secreto de backend. Para producción, utilice el servidor Express o un proxy propio si necesita ocultar credenciales, aplicar límites y registrar el consumo.

La aplicación incluye moderación local, límites de tiempo y controles de presupuesto en el servidor. Revise siempre el contenido generado antes de utilizarlo en el aula.

Licencia y autoría

Fabulador se distribuye bajo licencia CC BY-NC-SA 4.0.

Autoría y diseño didáctico: José M. Fernández.

Autoría y código base: Juan Guillermo Rivera Berrío.

Investigación de arquitectura: Gemini Pro (Google).

Arquitectura y desarrollo: Claude (Anthropic).