https://youtu.be/vmt_WVBJMj4?si=OZlzEqfEvWjPakYV
J'ai développé un système qui utilise l'IA générative pour créer automatiquement des vidéos de présentation à partir d'articles de blog et les télécharger sur YouTube.
Avec un peu d'ingéniosité, l'IA générative peut non seulement élaborer le scénario de la présentation, mais aussi créer les supports de présentation.
De plus, en demandant à une IA générative de créer un script pour la présentation, puis en faisant lire ce script à voix haute par une IA générative de synthèse vocale, des données audio peuvent également être générées.
La combinaison des supports de présentation et des données audio produit ensuite une vidéo.
En automatisant cette série de tâches, j'ai rendu possible la génération automatique de vidéos de présentation en un seul clic.
Mécanisme
La partie la plus cruciale du processus est la génération des supports de présentation.
L'IA générative excelle dans la génération d'images, mais cela se limite généralement aux photographies ou aux dessins. Créer des documents centrés sur le texte et les figures, comme des supports de présentation, est difficile pour les IA génératrices d'images.
Par conséquent, je génère des supports centrés sur le texte et les figures dans un format textuel, similaire à un langage de programmation.
Plusieurs formats peuvent être utilisés pour créer de tels supports.
Initialement, j'ai essayé Marp, un format spécifiquement conçu pour la création de présentations, mais ses capacités étaient limitées. J'ai donc décidé d'utiliser le format SVG, plus général, qui est destiné aux graphiques vectoriels.
Avec un format textuel comme le SVG, une IA générative conversationnelle standard peut créer les supports si on lui demande, par exemple : « Veuillez créer des supports de présentation au format SVG présentant le contenu de cet article de blog. »
Problème du débordement de texte
Le problème ici est que le texte déborde fréquemment du cadre extérieur du document ou des cadres des figures à l'intérieur du document.
Un être humain remarquerait immédiatement un débordement de texte en visualisant le document achevé. Cependant, détecter un débordement de texte au stade du texte SVG, plutôt que par une inspection visuelle du document finalisé, est difficile.
Par conséquent, l'IA générative conversationnelle produit souvent des documents avec de fréquents débordements de texte.
Bien sûr, l'IA génère la majeure partie du contenu correctement, et je pourrais simplement corriger manuellement le débordement de texte. Cependant, cela introduirait une étape manuelle à chaque fois.
Il est donc devenu nécessaire d'intégrer des mesures pour éviter le débordement de texte lors de la génération de documents SVG, et de développer un mécanisme pour détecter automatiquement si un débordement de texte est présent dans le SVG généré.
Pour éviter le débordement de texte, j'ai adopté une approche consistant à fournir à l'IA générative des règles de base, des procédures d'utilisation et des notes de prudence lors de l'instruction de créer des supports de présentation.
Comme règles, je lui ai demandé de ne pas utiliser de figures complexes et de fixer la taille de la police du texte.
De plus, je lui ai demandé de suivre une procédure consistant à compter le nombre de caractères dans une phrase du document, à multiplier ce nombre par la taille de la police pour estimer la largeur et la hauteur, puis à pré-confirmer que le texte ne déborde pas du cadre ou des figures.
Pendant ce processus, j'ai demandé à l'IA d'enregistrer le processus vérifié et les résultats comme commentaires de pré-vérification dans le fichier SVG.
L'ajout de ces instructions a apporté une certaine amélioration, mais la précision initiale n'était pas satisfaisante. J'ai donc généré à plusieurs reprises différentes variations, ajouté des points d'erreur courants comme notes de prudence aux instructions, et souligné à plusieurs reprises les règles et instructions dans le texte de l'invite si elles n'étaient pas suivies.
En itérant sur ces améliorations d'invite par essais et erreurs, le débordement de texte peut être supprimé dans une certaine mesure.
Cependant, même avec tous ces efforts, la perfection est inatteignable, j'ai donc décidé de mettre en œuvre une vérification à un stade ultérieur.
Pour cette vérification post-génération, j'ai essayé d'utiliser une IA générative capable d'inspecter visuellement des images, mais elle n'a pas pu détecter efficacement le débordement de texte, j'ai donc abandonné cette approche.
Ensuite, j'ai tenté une autre méthode : réintroduire le texte SVG dans une IA générative conversationnelle pour vérification.
Cette méthode était meilleure pour détecter le débordement de texte que l'IA d'inspection visuelle, mais sa précision de détection n'était toujours pas très élevée. Là encore, en améliorant itérativement les instructions pour la détection du débordement, j'ai pu atteindre un certain niveau de précision, mais pas un niveau parfait.
Par conséquent, j'ai décidé de créer un programme pour détecter le débordement de texte de manière plus rigoureuse. Ce programme vérifie si le texte déborde du cadre du document ou des figures internes en calculant la largeur et la hauteur à partir de la longueur des phrases et de la taille de la police dans les supports de présentation, comme indiqué à l'IA générative.
La création de ce programme a été laborieuse, mais il est finalement devenu capable d'une détection précise.
En plus du débordement de texte, il y a eu aussi des cas où l'IA a tenté de créer des graphiques complexes et a produit des sorties déformées. Pour ces aspects, j'ai conservé l'approche consistant à faire effectuer une vérification de violation de règles par l'IA générative conversationnelle.
Cette vérification détermine si l'IA a créé des figures plus complexes que celles définies dans les règles, les marquant comme inacceptables.
Avec ce programme de vérification des débordements et l'IA générative pour la vérification des violations de règles, les problèmes peuvent désormais être largement détectés.
Traitement ultérieur
Si un rejet est détecté lors de ces vérifications, le matériel généré au format SVG est écarté et régénéré. En effet, signaler et corriger les zones problématiques entraîne souvent d'autres problèmes, ce qui prend finalement plus de temps.
Une fois qu'un support de présentation exempt de débordement de texte est terminé, l'étape suivante consiste à saisir ce support et l'article de blog original dans l'IA générative pour créer le script de narration. Aucune ingéniosité particulière n'a été requise ici.
Ensuite, le script de narration est converti en données audio à l'aide d'une IA générative de synthèse vocale (text-to-speech). Là encore, aucune technique spéciale n'a été nécessaire pour cela.
Enfin, le support de présentation au format SVG est converti en images PNG, puis, à l'aide d'un outil appelé ffmpeg, il est converti en une vidéo mp4 avec audio. Cela complète le processus.
La série de processus suivant la création des diapositives au format SVG peut être facilement automatisée en écrivant des programmes tout en consultant l'IA générative.
Conclusion
Ayant réussi à construire et à affiner moi-même ce système de génération automatique de vidéos de présentation, j'ai commencé à publier des vidéos sur YouTube la semaine dernière.
Cependant, peu de temps après l'achèvement de ce système, NotebookLM de Google, un outil d'IA, a également acquis une fonctionnalité similaire pour générer automatiquement des vidéos explicatives à partir de documents textuels.
Par conséquent, il est anticipé qu'à l'avenir, les entreprises proposant des services d'IA lanceront des services similaires, éliminant ainsi le besoin pour les particuliers de construire de tels systèmes à partir de zéro.
Néanmoins, développer un programme pratique exploitant l'IA générative de manière aussi sérieuse a été une réalisation significative, me permettant de saisir les principes clés d'une utilisation efficace de l'IA générative.