Nos réalisations
Festival Scope
BotiqueAI
Festival ScopeLLM · EmbeddingsCinéma · Musique · Recommandation
Case Study

Music2Watch

D’un morceau à 3 films à voir, avec leur disponibilité en streaming.

Festival Scope est une plateforme en ligne où le public regarde des films de festivals et où les organisateurs créent leurs festivals ou cinémas virtuels. Nous avons conçu Music2Watch : un moteur qui analyse les paroles d’un morceau Spotify, trouve les films qui lui répondent, vérifie où les regarder et les classe par pertinence.

3
films par morceauSélection classée par pertinence
6
sources de donnéesSpotify, Genius, ReccoBeats, TheAudioDB/MusicBrainz, TMDB, JustWatch
LLM
analyse des parolesThèmes, intrigues et « ambiance »
2
modes de rerankingEmbeddings ou LLM, au choix
Client
Festival Scope
Plateforme de films de festivals
Secteur
Cinéma & Culture
Streaming, festivals en ligne
Entrée
Un morceau Spotify
Recherche par titre ou ID
Sortie
3 films
Avec dispo streaming
Stack
FastAPI · OpenAI
Next.js · Streamlit
Qualité
Jeu de test
Morceaux → films attendus
Le Défi

Relier deux univers :
la musique et le cinéma.

Un morceau et un film peuvent se répondre de deux façons : littéralement (le titre figure dans la bande originale) ou par le thème et l’ambiance (même histoire, même émotion). Une bonne recommandation doit couvrir les deux.

Et une recommandation n’a de valeur que si le spectateur peut réellement regarder le film.

Comprendre le morceau
Les paroles ne sont pas fournies par Spotify : il faut les retrouver (recherche Genius puis extraction de la page avec Firecrawl) et les compléter par les caractéristiques audio et les métadonnées d’artiste.
Trouver des films fiables
Un LLM seul peut inventer des liens. Les suggestions sont donc croisées avec une recherche web, chaque film recevant un score de confiance et une explication.
Classer et rendre accessible
Les candidats sont filtrés par disponibilité (JustWatch) puis classés par proximité avec les paroles.
La Solution

Un pipeline en 4 étapes,
exposé par une API.

Chaque requête enchaîne la compréhension du morceau, la recherche de films, la vérification de disponibilité et le classement. Tout est tracé avec Langfuse pour suivre la qualité et les coûts.

①
Compréhension du morceau

Recherche Spotify (titre ou ID), paroles retrouvées via l’API Genius (recherche) puis extraites avec Firecrawl, caractéristiques audio via ReccoBeats (valence, énergie…) et métadonnées consolidées depuis TheAudioDB et MusicBrainz.

Spotify APIGeniusFirecrawlReccoBeatsMusicBrainz
②
Découverte de films

Un LLM analyse les paroles et produit des requêtes thématiques (intrigue et « vibe »). Des films sont proposés directement par le LLM et via une recherche web (Google ou DuckDuckGo) filtrée par le LLM, avec score de confiance. Les fiches sont enrichies par TMDB.

GPT-4o-miniWeb searchTMDBPrompt engineering
③
Disponibilité et classement

Les films sont recherchés sur JustWatch pour vérifier la disponibilité. Le classement final se fait par similarité cosinus entre les embeddings des paroles et des synopsis (text-embedding-3-small), ou par un reranker LLM selon la configuration. Les 3 meilleurs sont retournés.

JustWatchEmbeddingsCosine similarityLLM reranker
④
Produit et exploitation

API FastAPI (recherche de morceaux, recommandations, disponibilité, reranking) limitée en débit (10 requêtes/min, 100/jour), interface Next.js et démo Streamlit, traçage Langfuse et script de test sur une liste de morceaux dont les films sont connus.

FastAPINext.jsStreamlitLangfuseRate limiting
Impact

Un moteur complet,
mesurable et tracé.

3
films retournés
Classés par similarité avec les paroles
6
sources croisées
Musique, cinéma et streaming
2
modes de classement
Embeddings ou LLM
Langfuse
traçage LLM
Chaque étape LLM observable
Stack Technique

Stack LLM
et données ouvertes

Des LLM OpenAI pour l’analyse et le classement, des API musique et cinéma pour les données, et FastAPI pour exposer le tout.

IA
🤖
OpenAI (GPT)
Analyse thématique, filtrage des résultats web et reranking
🧭
Embeddings
Similarité paroles ↔ synopsis (cosinus)
Données
🎵
Spotify · Genius · ReccoBeats
Morceau, paroles, caractéristiques audio
🎬
TMDB · JustWatch
Fiches films et disponibilité en streaming
Application
⚡
FastAPI
API de recommandation avec limitation de débit
🖥️
Next.js · Streamlit
Interface web et démo interactive
Qualité
🔭
Langfuse
Traçage de chaque étape LLM
🧪
Jeu de test
Morceaux avec films attendus, mesure de ceux retrouvés
BotiqueAI
IA sur mesure pour la culture et les médias
← Nos Réalisations