De nombreux films et épisodes n’ont pas de sous-titres dans la langue dont vous avez besoin, ou pas du tout. AISub en crée un avec l’IA : il traduit un sous-titre qui existe déjà (par exemple l’anglais vers le roumain) ou, quand il n’y en a pas, transcrit l’audio du film puis le traduit. Vous utilisez vos propres clés d’IA, ou un serveur d’IA sur votre propre réseau, et vous payez le fournisseur d’IA directement.
Ce qu’il fait
- Traduction d’un sous-titre existant, depuis un fichier de sous-titres à côté de la vidéo ou un sous-titre texte dans le fichier : Claude Haiku par défaut, Claude Sonnet pour une qualité maximale, ou tout serveur compatible OpenAI, comme LM Studio, Ollama, OpenRouter ou DeepSeek.
- Transcription depuis l’audio, quand le titre n’a aucun sous-titre : Groq Whisper large-v3-turbo par défaut (ou Whisper large-v3), ou OpenAI Whisper. Une transcription est réutilisée pour plusieurs langues cibles.
- Fonctionne avec Rosub : l’IA ne génère que les langues que Rosub a cherchées et n’a pas trouvées. Le sous-titre IA est enregistré comme provisoire et remplacé automatiquement par le premier sous-titre fait par un humain.
- Automatique : les nouveaux films et épisodes sont traités à leur arrivée, plus une tâche nocturne (Missing AI subtitles) pour le reste de la bibliothèque, avec un plafond par nuit. Vous choisissez une liste ordonnée de langues cibles.
- Plafonds de coût : un coût maximal par titre et par mois, pour que la facture d’IA ne s’emballe pas.
- Des lignes fidèles : le sous-titre est traduit par lots avec du contexte, et chaque ligne est vérifiée pour qu’aucun texte ne glisse sur une ligne voisine.
- Page Jobs (file d’attente, progression, coût par tâche, dépenses du mois, génération pour un titre à la demande) et page Providers (vos clés, avec un test pour la traduction et un pour la transcription).
Ce qu’il envoie où
- Traduction : le texte des sous-titres, par lots de lignes, va au fournisseur de traduction que vous avez choisi (Anthropic, ou le serveur compatible OpenAI que vous avez configuré, qui peut être local comme LM Studio ou Ollama), avec une ligne de contexte sur le titre : son nom, son année, jusqu’à 4 genres et le synopsis (au plus 400 caractères).
- Transcription : la piste audio du film, mono, compressée et par morceaux, va vers Groq ou OpenAI, avec la langue et le nom du titre. Il n’y a pas de transcription locale dans cette version. L’image vidéo n’est jamais envoyée.
- Vos clés de fournisseur sont stockées sur votre serveur, dans un fichier séparé lisible uniquement par le compte de service de Jellyfin, et ne sont envoyées qu’à leur propre fournisseur ; la page du plugin n’en affiche que les 4 derniers caractères.
- Rien ne va vers medialab.works, hormis la vérification de la licence. Vous payez le fournisseur d’IA directement, avec votre propre clé ; nous ne fournissons pas de clés.
Tous les détails pour chaque produit, y compris ce qui reste sur votre serveur : Licences, confidentialité et compatibilité.
La page du plugin indique le coût typique d’un film de 2 h, aux tarifs des fournisseurs : environ $0.08 pour traduire un sous-titre avec Claude Haiku, environ $0.08 pour transcrire avec Groq Whisper large-v3-turbo, et rien pour traduire avec un serveur d’IA local.
Compatibilité avec les clients
Le résultat est un sous-titre .srt normal, enregistré à côté du fichier vidéo (Name.language.srt), de sorte que toute application ou tout lecteur qui affiche les sous-titres externes peut l’afficher. Les pages du plugin ont été vérifiées dans Jellyfin Web ; les applications individuelles n’ont pas encore été testées une par une. Les sous-titres IA sont créés en arrière-plan ou depuis la page du plugin ; ils n’apparaissent pas dans la recherche manuelle de sous-titres.
Exigences
- Jellyfin Server 12.2 ou plus récent.
- Pas de carte graphique nécessaire : le travail d’IA s’exécute chez le fournisseur que vous choisissez ; votre serveur extrait seulement l’audio, avec le ffmpeg de Jellyfin.
- Au moins l’un des éléments suivants : une clé Anthropic (traduction), une clé Groq ou OpenAI (transcription), ou un serveur local compatible OpenAI pour la traduction (LM Studio avec « Serve on Local Network », ou Ollama).
- Rosub est facultatif, mais recommandé.
Limites
- Dans la version 0.1.0, le mode local ne couvre que la traduction : la transcription nécessite une clé Groq ou OpenAI.
- Un sous-titre IA est un sous-titre provisoire. Avec Rosub, il est remplacé dès qu’un sous-titre fait par un humain est trouvé.
- Quand le plafond mensuel est atteint, les nouvelles tâches échouent avec un message clair jusqu’au mois suivant (ou jusqu’à ce que vous augmentiez le plafond) ; la tâche nocturne reprend les titres manquants plus tard.
Licences
Le plugin est open source (GPL-3.0). Les versions compilées prêtes à installer sont publiques, comme le code source. Ce que vous achetez, c’est l’abonnement : la licence d’utilisation du plugin sur un serveur Jellyfin, les mises à jour comprises dans votre formule et le support — chaque mise à jour tant que l’abonnement est actif, via votre dépôt de plugins privé, plus de l’aide quand quelque chose ne fonctionne pas. Le plugin vérifie la clé d’abonnement une fois par jour ; sans abonnement valide, il s’arrête jusqu’au renouvellement (rien n’est supprimé). Mensuel, annuel ou à vie (la licence à vie comprend un an de mises à jour), ou inclus dans le pack Jellyfin. Essai gratuit de 30 jours.
Code source. Pour chaque version, le code source complet correspondant est public, à côté de la version compilée, dans l’historique des versions, ainsi que dans votre compte (Compte → Licences, Code source) ; chaque archive contient le texte complet de la GPL-3.0 (LICENSE). Si vous avez besoin du code source d’une version que vous ne pouvez plus télécharger, écrivez-nous et nous vous l’envoyons. Voir la section 10 de la Licence (CLUF).
AISub est notre propre code, écrit à partir de zéro par MediaLab Works ; il ne contient aucun code tiers et n’utilise que .NET, les bibliothèques Jellyfin et le ffmpeg de votre serveur Jellyfin.