37 rutas de imagen y video, refinamiento de prompts editable, archivo local de resultados y un ledger de costos reales — todo funcionando en tu máquina, con las claves del lado del servidor.

La mayoría de los productos creativos de IA combinan acceso a modelos, refinamiento de prompts, enrutamiento, almacenamiento y facturación — y esconden las costuras detrás de una suscripción. Bench conserva la comodidad y deja cada costura a la vista. No es dueño de los modelos; te da la capa portátil que conecta ideas, herramientas, proveedores, archivos y costos.
Cada endpoint acepta entradas diferentes (una imagen, una lista, un fotograma inicial, ninguna). El registro curado describe el contrato de cada ruta y la interfaz muestra solo los controles que realmente existen.
Estimación de preflight basada en la unidad de precio del modelo y los parámetros solicitados; después, el monto cobrado cuando el proveedor devuelve un recibo suficiente. Los valores estimados, medidos y registrados son distintos: no son lo mismo.
Resultados reflejados en el disco y metadatos en SQLite local (data/bench.db). El navegador nunca recibe secretos del proveedor: quien guarda la clave es el servicio loopback.
La interfaz de React y el servidor MCP se comunican con la misma API local. Esta valida el payload específico del modelo, guarda las credenciales, transmite el progreso, guarda copias de los artefactos y registra los metadatos duraderos.
Bench agrega la estructura que el modelo elegido suele entender y te muestra el borrador reescrito. Lo editas o lo rechazas antes de gastar. Sin GOOGLE_API_KEY, el prompt original se envía directamente y la interfaz avisa que el refinamiento está desactivado.
El catálogo del proveedor se convierte en una instantánea de descubrimiento con evidencia del esquema y el precio. Solo después de revisarlo, el modelo se incorpora al registro curado. Esto evita que un modelo nuevo, renombrado o mal especificado rompa silenciosamente un flujo de pago.
El servidor MCP expone once herramientas: descubrir modelos, inspeccionar contratos, cargar referencias, generar imágenes y videos, consultar resultados, vistas previas y gastos, crear y dar seguimiento a proyectos de sitios web y documentos, y buscar los artefactos.
Es una herramienta local para un solo usuario; no es un servidor alojado. Lo esencial es Node reciente y una clave de fal.ai; lo demás es opcional y desactiva funcionalidades específicas.
Node 24 es lo recomendado, porque Bench usa node:sqlite. También necesitas npm.
node -v # v22.5 o superior
Obligatoria para generar imágenes y videos. La clave de Google es opcional y solo sirve para refinar prompts.
# ~/.env (nunca en el repo) FAL_KEY=<sua-chave-fal> GOOGLE_API_KEY=<opcional>
Se usa para imprimir los PDF y para el preflight visual de overflow. Opcional: una instalación de Codex con sesión iniciada, para las builds de sitios y documentos.
google-chrome --versionComandos reales del proyecto. Esta es la distribución pública sanitizada: llega sin historial de generación, cargas, base de datos privada, rutas personales ni credenciales — tu archivo empieza vacío.
Clona el repositorio e instala las dependencias.
git clone https://github.com/inematds/bench-studio-public.git cd bench-studio-public npm install
Bench lee las credenciales de ~/.env. Nunca pongas una clave del proveedor en una variable de Vite ni la confirmes en el repositorio.
# ~/.env FAL_KEY=<sua-chave-fal> GOOGLE_API_KEY=<chave-google-opcional>
Un comando inicia la API local y la interfaz web juntas. Abre http://localhost:5200. La API está en http://localhost:8787 y el resumen del estado/capacidad en /api/health.
npm run dev # estudio en :5200, API en :8787 # si los puertos están ocupados: PORT=8790 BENCH_API_PORT=8790 BENCH_WEB_PORT=5201 npm run dev
En la pestaña Create, elige la ruta, adjunta las referencias que acepta ese modelo, revisa el borrador del prompt y el cálculo estimado, y aprueba. El resultado aparece inline y se guarda en el archivo local con el prompt enviado, el modelo, la URL del proveedor, el archivo local y el costo registrado.
# actualizar el roster curado y los contratos de entrada npm run registry npm run capabilities # actualizar el descubrimiento y la evidencia de precios del proveedor npm run catalog:sync
Websites genera sitios estáticos originales con código fuente editable, vista previa local y bundle para descargar. Documents genera PDF diseñados a partir de un HTML editable, impresos con Chromium, con preflight de overflow. El sitio y el documento pueden invocar un agente de código autenticado localmente; revisa el código fuente antes de publicar.
Abre Connect, elige el cliente y copia la configuración generada — Bench inserta la ruta absoluta correcta de la máquina actual (el repositorio no incluye el home de nadie). La skill en integrations/skills/bench-studio/ aporta el criterio y el flujo; MCP aporta la ejecución.
npm run mcp # servidor MCP en stdio npm run test:mcp # prueba rápida de descubrimiento y medios
La puerta de release cubre el build de producción, los contratos de API y de base de datos, el descubrimiento MCP, los recorridos en el navegador, la accesibilidad, la contención responsiva, los estados de error, las transiciones de modelo y las capturas visuales.
npm run test:contracts # API, persistencia y contratos de modelos npm run test:e2e # recorridos del navegador + accesibilidad npm run test:release # la puerta completa
El repositorio comienza sin data/; Bench lo crea en la primera ejecución. Todo el directorio está excluido de Git. Borrar un resultado elimina el registro de la base de datos y los archivos espejados — no promete borrar las copias que conserve un proveedor externo.
data/ ├── bench.db # generaciones, assets, gasto y proyectos ├── inputs/ # cargas espejadas ├── outputs/ # generaciones espejadas ├── previews/ # pósteres de video locales └── projects/ # fuente de sitios y documentos
Las dos pantallas principales: donde creas y el catálogo del que salen las rutas.


Vale la pena leerlo antes de adoptar: son los límites declarados por el propio proyecto.