ImmichFrame vs Immich Kiosk: ¿qué marco de fotos encaja con tu configuración?

El año pasado escribimos sobre Immich Kiosk e ImmichFrame. Desde entonces, ambos proyectos han publicado muchas versiones. La pregunta que nos hacen los usuarios ha cambiado con ellos. Antes era «¿se puede hacer?». Ahora es «¿cuál elijo?».
En la superficie, hacen lo mismo. Ambos se conectan a tu servidor de Immich con una clave API y muestran tus fotos a pantalla completa en una pantalla de tu casa. Ambos son proyectos de la comunidad, sin relación con Immich. Ambos funcionan con una cuenta de PixelUnion igual que con un servidor autoalojado: apúntalos a https://<username>.pixelunion.eu y dales una clave API.
Las listas de funciones coinciden casi por completo, así que en gran parte las voy a dejar de lado. Lo que separa a estos dos es la arquitectura. Este artículo trata las versiones actuales: ImmichFrame v1.0.38 (14 de septiembre de 2026) e Immich Kiosk v0.44.1 (25 de septiembre de 2026).
Dos ideas distintas de lo que es un marco de fotos
Immich Kiosk: un servidor, configurado por URL
Immich Kiosk, creado por Damon Golding, es un único binario de Go. Usa Echo para HTTP y templ para plantillas en el servidor, y sirve una página web en el puerto 3000. Ese es todo el producto. La pantalla es cualquier navegador: una Raspberry Pi con Chromium en modo quiosco, una tablet antigua con Fully Kiosk Browser, una smart TV, un receptor de Google Cast.
La decisión de diseño que importa: casi cualquier ajuste de config.yaml se puede sobrescribir con un parámetro de consulta en la URL. Un solo contenedor de Kiosk puede controlar todas las pantallas de tu casa, cada una con su propio comportamiento:
http://kiosk.local:3000/?album=ALBUM_ID&layout=splitview&transition=cross-fade
http://kiosk.local:3000/?person=PERSON_ID&show_time=true&image_fit=cover
La tablet de la cocina muestra el álbum familiar con un reloj. La pantalla del pasillo muestra las fotos de una persona en vertical. Mismo servidor, mismo archivo de configuración, URL distintas. La otra cara es que cualquiera en tu red que pueda acceder a la página puede cambiar lo que muestra. Si eso te molesta, disable_url_queries lo desactiva.
ImmichFrame: un servidor más apps nativas
ImmichFrame va en sentido contrario. El servidor está hecho en C# sobre ASP.NET Core con un frontend en SvelteKit, distribuido como ghcr.io/immichframe/immichframe en el puerto 8080. Encima de eso, el proyecto mantiene clientes nativos:
- Android, a través de Play Store o un APK instalado manualmente, incluido un servicio de salvapantallas para Android TV
- Apple TV, iPhone y iPad (iOS 17+) y Mac con Apple Silicon a través de la App Store
- Apps de escritorio para Windows, macOS y Linux
- Marcos Frameo, esos marcos Android baratos que se encuentran por unos 40 $, instalados mediante ADB (Android Debug Bridge)
Las apps nativas son el motivo por el que ImmichFrame es como es. Apple no permite WebViews (componentes de navegador integrados) en tvOS, así que la app de Apple TV reconstruye la pantalla con controles nativos. En Android TV, ImmichFrame puede sustituir al salvapantallas del sistema, algo que una pestaña del navegador no puede hacer. La app de Android también ejecuta un pequeño servidor HTTP en el puerto 53287 que acepta next, previous, pause, dim, undim y brightness?value=0.5. Esto último es lo que conectas a Home Assistant para atenuar el marco cuando se apagan las luces.
La contrapartida está en la configuración. Vive a nivel de instancia. Por lo que veo en la documentación, no hay equivalente a las sobrescrituras por URL de Kiosk, así que dos pantallas con álbumes distintos suelen significar dos contenedores o dos cuentas. Barato de mantener en marcha. Más que mantener.
Los detalles que importan a los usuarios avanzados
Configuración y estado
Kiosk es configuración como código. Un archivo YAML con un esquema JSON publicado para el autocompletado en tu editor, variables de entorno para los secretos y watch_config para recargar cuando hay cambios. Vive en un repositorio Git junto al resto de tus archivos compose.
ImmichFrame ha ido hace poco en la dirección opuesta. Ahora incluye una interfaz de administración en /admin donde cada ajuste, incluidas las cuentas de Immich, se edita en el navegador y se aplica al momento. Los ajustes se guardan en una base de datos SQLite (immichframe.db) en /app/Config. Un Settings.yml se importa una sola vez, en el primer arranque. Después, la base de datos es la fuente de verdad y los cambios en el archivo se ignoran.
Ese último punto va a pillar a más de uno por sorpresa. Si gestionas tu homelab de forma declarativa, la configuración de ImmichFrame es ahora un estado que tienes que respaldar, no un archivo que puedes comparar con un diff. Si prefieres hacer clic a editar YAML, es una mejora. Ninguno de los dos enfoques es incorrecto. Están pensados para personas distintas.
Selección de contenido
Ambos cubren lo básico: álbumes, álbumes excluidos, personas, etiquetas, valoraciones, recuerdos, favoritos, rangos de fechas y vídeo (todavía experimental en ImmichFrame). Las diferencias están en los extremos.
ImmichFrame está construido en torno a varias cuentas. Cada entrada bajo Accounts tiene su propia URL de servidor, su clave API y sus filtros. Combina tu biblioteca con la de tu pareja, o tira de dos servidores de Immich distintos, y el marco los mezcla en una sola presentación.
Kiosk profundiza más en el filtrado dentro de una biblioteca. require_all_people solo muestra fotos en las que aparecen juntas todas las personas indicadas, justo lo que quieres para un marco de «abuelos con nietos». Está excluded_people, excluded_partners, filter_exclude_faces para una pantalla solo de paisajes, y filter_newest para limitar una fuente a sus elementos más recientes. Con asset_weighting activado, un álbum pequeño no queda ahogado por uno grande cuando combinas fuentes. Kiosk también admite varios usuarios mediante immich_users_api_keys, seleccionables por pantalla a través de la URL.
Pantalla y hardware
Ambos ofrecen diseños de pantalla dividida para dos fotos en vertical en una pantalla horizontal, fondos desenfocados, zoom y desplazamiento al estilo Ken Burns, un reloj y el tiempo de OpenWeatherMap. ImmichFrame añade superposiciones de calendario desde cualquier feed ICS (iCalendar) mediante Webcalendars, lo que lo convierte en un panel de cocina bastante decente.
Kiosk tiene más opciones para hardware siempre encendido. burn_in_interval reduce periódicamente la opacidad de la interfaz para proteger los paneles OLED del quemado. sleep_start y sleep_end apagan la pantalla por la noche. offline_mode guarda en caché local un conjunto de elementos, para que un marco con una wifi inestable siga funcionando. optimize_images redimensiona en el servidor, para que una Pi Zero no tenga que decodificar un archivo de 48 MP cada 60 segundos.
Con el hardware Frameo, mantén las expectativas bajas. Estos dispositivos funcionan con Android 6. Salvo que actualices el WebView del sistema, algo que describe la documentación de ImmichFrame y que implica volver a montar /system como root, pierdes la pantalla dividida, la compatibilidad con HEIC (el formato de foto del iPhone) y el vídeo. Funciona. Es una buena forma de dar una segunda vida a un marco de 40 $. También es un proyecto de cacharreo, no un regalo que se configura en diez minutos.
Seguridad
Un marco de fotos pasa todo el día en tu red con una llave a toda tu biblioteca de fotos. La mayoría de la gente lo configura una vez y no lo vuelve a mirar. Esa combinación merece unos minutos de reflexión.
- Usa una clave API distinta para cada marco. Immich te permite crear claves API con permisos limitados. Dale al marco solo lo que necesita y revoca la clave si el dispositivo se pierde o se sustituye. ImmichFrame también admite
ApiKeyFile, para que la clave venga de un secreto de Docker en lugar de un archivo de configuración. - Ojo con el acceso de escritura. La superposición «more info» de Kiosk tiene botones de like y hide que marcan como favorito, etiquetan o archivan elementos en Immich. Útil, pero implica que la clave necesita permisos de escritura. Si no usas esos botones, desactívalos y mantén la clave en solo lectura.
- Protege el propio marco. Ninguno de los dos servidores debe estar expuesto a internet. Kiosk tiene una opción
passwordydisable_url_queries. ImmichFrame tiene unAuthenticationSecretpara los clientes y una contraseña de administrador aparte para/admin. La documentación de ImmichFrame indica que la interfaz de administración muestra las claves API y las transmite en texto plano, así que ponla detrás de HTTPS si es accesible desde fuera de tu red local. - Ten claro qué sale de tu red. Con PixelUnion, tus fotos viajan desde nuestros servidores en Europa hasta el contenedor de tu casa y de ahí a tu pantalla. Nada pasa por una nube de terceros. La excepción es el tiempo: ambos proyectos envían tus coordenadas a la API de OpenWeatherMap. Una fuga pequeña, pero real.
Las licencias también difieren. Kiosk es AGPL-3.0 e ImmichFrame es GPL-3.0. Para uso personal, eso no cambia nada. La AGPL también cubre el software ofrecido a través de una red, así que si piensas ofrecer cualquiera de los dos como servicio alojado para otras personas, lee antes las licencias.
Entonces, ¿cuál deberías usar?
Elige Immich Kiosk si tus pantallas son navegadores (Raspberry Pi, tablets de pared, smart TV) y quieres que un solo contenedor las controle todas. Encaja con quienes mantienen su homelab en YAML y Git, quieren filtros muy precisos y se preocupan por la protección contra el quemado, los horarios de reposo y la caché sin conexión en hardware siempre encendido.
Elige ImmichFrame si quieres apps nativas, sobre todo para Apple TV, un salvapantallas de Android TV o un marco Frameo reconvertido. Encaja con hogares que quieren mezclar varias cuentas de Immich en una sola presentación, o que prefieren gestionar los ajustes en una interfaz web antes que en un archivo de texto.
Mucha gente usa los dos. Kiosk ronda las 1,7k estrellas en GitHub e ImmichFrame las 2,4k, y ambos publican versiones cada pocas semanas y tienen canales de Discord activos en el servidor de Immich. Dos mantenedores que resuelven el mismo problema de formas distintas suelen hacer que ambos proyectos mejoren. Así es como se supone que funciona el código abierto, y no ocurre tan a menudo como la gente cree.
Ninguno de los dos te dirá nada sobre tus fotos que no sepas ya. Lo que hacen es sacar esas fotos de un servidor y llevarlas a la pared, donde de verdad las miras. Eso merece una tarde de cacharreo.
Si prefieres dedicar esa tarde al marco y no a mantener Immich, eso es justo lo que hacemos nosotros. Mantenemos el servidor actualizado y con copias de seguridad en infraestructura europea. Tú recibes una clave API a la que apuntar tu marco.