Muchas películas y episodios no tienen subtítulo en el idioma que necesitas, o no tienen ninguno. AISub crea uno con IA: traduce un subtítulo que ya existe (por ejemplo, inglés → rumano) o, si no hay ninguno, transcribe el audio de la película y luego lo traduce. Usas tus propias claves de IA, o un servidor de IA en tu propia red, y pagas directamente al proveedor de IA.
Qué hace
- Traducción de un subtítulo existente, desde un archivo de subtítulos junto al vídeo o un subtítulo de texto dentro del archivo: Claude Haiku por defecto, Claude Sonnet para la máxima calidad, o cualquier servidor compatible con OpenAI, como LM Studio, Ollama, OpenRouter o DeepSeek.
- Transcripción a partir del audio cuando el título no tiene ningún subtítulo: Groq Whisper large-v3-turbo por defecto (o Whisper large-v3), u OpenAI Whisper. Una misma transcripción se reutiliza para varios idiomas de destino.
- Funciona con Rosub: la IA solo genera los idiomas que Rosub buscó y no encontró. El subtítulo de IA se registra como provisional y se sustituye automáticamente por el primer subtítulo hecho por una persona.
- Automático: las películas y episodios nuevos se procesan al llegar, además de una tarea nocturna (Missing AI subtitles) para el resto de la biblioteca, con un límite por noche. Eliges una lista ordenada de idiomas de destino.
- Límites de coste: un coste máximo por título y por mes, para que la factura de IA no se dispare.
- Líneas fieles: el subtítulo se traduce por lotes con contexto, y se comprueba cada línea para que ningún texto se desplace a una línea vecina.
- Página de trabajos (cola, progreso, coste por trabajo, gasto del mes, generación a petición para un título) y página de proveedores (tus claves, con una prueba para la traducción y otra para la transcripción).
Qué envía y adónde
- Traducción: el texto del subtítulo, en lotes de líneas, va al proveedor de traducción que hayas elegido (Anthropic, o el servidor compatible con OpenAI que hayas configurado, que puede ser local, como LM Studio u Ollama), con una línea de contexto sobre el título: su nombre, año, hasta 4 géneros y la sinopsis (400 caracteres como máximo).
- Transcripción: la pista de audio de la película, en mono, comprimida y en fragmentos, va a Groq u OpenAI, con el idioma y el nombre del título. En esta versión no hay transcripción local. La imagen del vídeo nunca se envía.
- Las claves de tus proveedores se guardan en tu servidor, en un archivo aparte que solo puede leer la cuenta de servicio de Jellyfin, y se envían solo a su propio proveedor; la página del plugin muestra solo sus últimos 4 caracteres.
- Nada va a medialab.works salvo la comprobación de la licencia. Pagas directamente al proveedor de IA, con tu propia clave; nosotros no proporcionamos claves.
Todos los detalles de cada producto, incluido lo que permanece en tu servidor: Licencias, privacidad y compatibilidad.
La página del plugin muestra el coste habitual para una película de 2 horas, según las tarifas de los proveedores: unos 0,08 $ para traducir un subtítulo con Claude Haiku, unos 0,08 $ para transcribir con Groq Whisper large-v3-turbo, y nada para traducir con un servidor de IA local.
Compatibilidad con clientes
El resultado es un subtítulo .srt normal guardado junto al archivo de vídeo (Name.language.srt), así que cualquier app o reproductor que muestre subtítulos externos puede mostrarlo. Las páginas del plugin se comprobaron en Jellyfin Web; las apps concretas todavía no se han probado una por una. Los subtítulos de IA se crean en segundo plano o desde la página del plugin; no aparecen en la búsqueda manual de subtítulos.
Requisitos
- Jellyfin Server 12.2 o posterior.
- Sin tarjeta gráfica: el trabajo de IA se hace en el proveedor que elijas; tu servidor solo extrae el audio, con el propio ffmpeg de Jellyfin.
- Al menos uno de estos: una clave de Anthropic (traducción), una clave de Groq u OpenAI (transcripción), o un servidor local compatible con OpenAI para la traducción (LM Studio con "Serve on Local Network", u Ollama).
- Rosub es opcional, pero recomendable.
Límites
- En la versión 0.1.0, el modo local solo cubre la traducción: la transcripción necesita una clave de Groq u OpenAI.
- Un subtítulo de IA es provisional. Con Rosub, se sustituye en cuanto se encuentra un subtítulo hecho por una persona.
- Cuando se alcanza el límite mensual, los trabajos nuevos fallan con un mensaje claro hasta el mes siguiente (o hasta que subas el límite); la tarea nocturna vuelve a recoger más tarde los títulos pendientes.
Licencia
El plugin es de código abierto (GPL-3.0). Las compilaciones listas para instalar son públicas, igual que el código fuente. Lo que compras es la suscripción: la licencia para usar el plugin en un servidor de Jellyfin, las actualizaciones que incluye tu plan y el soporte: cada actualización mientras la suscripción esté activa, a través de tu repositorio privado de plugins, y ayuda cuando algo no funcione. El plugin comprueba la clave de suscripción una vez al día; sin una suscripción válida se detiene hasta que renueves (no se borra nada). Mensual, anual o de por vida (la de por vida incluye un año de actualizaciones), o incluido en el paquete para Jellyfin. 30 días de prueba gratis.
Código fuente. Para cada versión, el código fuente correspondiente completo es público, junto a la compilación, en el registro de cambios, y también en tu cuenta (Cuenta → Licencias, Código fuente); cada archivo comprimido contiene el texto completo de la GPL-3.0 (LICENSE). Si necesitas el código fuente de una versión que ya no puedes descargar, pídenoslo y te lo enviamos. Consulta la sección 10 del EULA.
AISub es código propio, escrito desde cero por MediaLab Works; no contiene código de terceros y solo usa .NET, las bibliotecas de Jellyfin y el ffmpeg de tu servidor de Jellyfin.