HiAPI
Blog

Tutoriel

Faire monter automatiquement des vlogs par Claude Code : un processus reproductible

Pieter Levels a confié des rushes de voyage à Claude Code, qui en a fait un montage d'environ 10 minutes. Décomposons les outils utilisés et la manière de construire ce processus soi-même.

Nov 3, 2026
Faire monter automatiquement des vlogs par Claude Code : un processus reproductible

La méthode décrite ici provient d'un test partagé par Pieter Levels (@levelsio) sur X en novembre 2026, publication originale : https://x.com/levelsio/status/2116959423117857026 . Sa réponse complémentaire sur la chaîne d'outils : https://x.com/levelsio/status/2116961807315169718 . Voici notre décomposition de son partage et nos explications pour le reproduire.

Pieter Levels a confié à Claude Code les rushes filmés avec un DJI pour qu'il en fasse un vlog d'environ 10 minutes ; lui n'a fait que quelques ajustements, et n'a découvert qu'après coup quels outils avaient été réellement utilisés.

Ce retour mérite d'être décortiqué, car il transforme un « montage vidéo par IA » vague en un processus d'ingénierie reproductible.

Ce qu'il a réellement fait

L'ordre de toute la chaîne est le suivant :

  1. Transcription : conversion de l'audio en texte horodaté avec mlx-whisper
  2. Extraction d'images : capture d'images à intervalle fixe, assemblées en une grille visuelle
  3. Séparation des locuteurs : le modèle ECAPA de SpeechBrain identifie qui prononce chaque phrase
  4. Décision : Claude lit simultanément la transcription et la grille visuelle, et décide quels segments conserver
  5. Sortie : génération d'une liste de montage JSON, et non un montage vidéo direct
  6. Rendu : découpe et assemblage avec ffmpeg selon la liste
  7. Compléments : OpenCV avec YuNet pour les vignettes de visages, Pillow pour le titre d'ouverture

L'essentiel se joue aux étapes 4 et 5. Le modèle ne « monte pas la vidéo » : il « lit deux jeux de données structurées et produit une décision de montage ».

Pourquoi cette conception fonctionne

Peut-on donner directement la vidéo au modèle ? Techniquement oui, mais le coût deviendrait incontrôlable. Une heure de rushes, calculée image par image, représente un nombre de tokens astronomique.

Ce processus réalise deux compressions :

Première compression côté audio. Une heure de parole devient environ dix mille caractères de texte, que le modèle lit pour un coût dérisoire. Les horodatages sont conservés, il sait donc où se trouve chaque phrase dans la vidéo.

Seconde compression côté image. Des images extraites à intervalle régulier sont assemblées en grille, une seule image montre ainsi plusieurs instants. Le modèle juge sur l'image si « ce passage montre une marche » ou « s'il y a un paysage », sans avoir besoin des images consécutives.

Après ces deux compressions, des heures de rushes deviennent une entrée que le modèle peut lire d'un coup, et le coût de décision tombe dans une fourchette acceptable.

Pour le construire soi-même, l'ordre compte

Étape 1 : soigner d'abord la transcription

Séparer la piste audio et la convertir en texte horodaté. La qualité de cette étape conditionne toutes les décisions suivantes.

Pour un vlog essentiellement parlé, la précision de la transcription détermine directement si le modèle peut repérer la frontière « ce passage est terminé ». Sur des rushes au fond sonore bruyant, la transcription perd des mots et les segments découpés par le modèle ont tendance à s'arrêter au milieu d'une phrase.

Étape 2 : concevoir correctement le format de la liste de montage

Ne demandez pas au modèle de produire du langage naturel du type « conserver de 00:12 à 01:47 », mais un JSON à schéma fixe :

{
  "segments": [
    {"start": 12.4, "end": 107.2, "reason": "到达民宿,介绍房间"},
    {"start": 340.1, "end": 402.8, "reason": "海边日落延时"}
  ],
  "total_duration": 596.1
}

Avec un format fixe, le script peut le consommer directement, sans analyser du langage naturel. Le champ reason indique pourquoi chaque segment est conservé, ce qui facilite la relecture humaine.

Étape 3 : confier le rendu à ffmpeg

Le modèle ne produit que la décision ; la découpe et l'assemblage reviennent à ffmpeg. Chaque maillon peut ainsi être débogué séparément : si la décision de montage est mauvaise, on modifie le prompt ou on change de modèle ; si l'image est mauvaise, on vérifie les paramètres ffmpeg.

Un exemple minimal de découpe puis d'assemblage selon la liste :

# 按清单逐段切割
ffmpeg -ss 12.4 -to 107.2 -i input.mp4 -c copy seg_01.mp4

# 拼接
printf "file 'seg_01.mp4'\nfile 'seg_02.mp4'\n" > list.txt
ffmpeg -f concat -safe 0 -i list.txt -c copy out.mp4

-c copy n'effectue pas de réencodage : le gain de vitesse est de plusieurs ordres de grandeur. À condition que les paramètres d'encodage des segments soient identiques, il faut donc d'abord les uniformiser avant la découpe.

Étape 4 : confier la décision au modèle

Il suffit de brancher HiAPI à cette étape. La configuration de Claude Code est décrite dans Claude Code et Codex connectés à HiAPI : une fois la clé configurée, l'inférence exécutée dans Claude Code passe par Opus 5.5 (entrée 2,02 $, sortie 10,08 $ par million de tokens).

Pour une heure de rushes, la transcription et quelques dizaines de grilles visuelles représentent environ vingt à trente mille tokens en entrée. Au tarif d'entrée d'Opus 5.5, une décision complète coûte de quelques centimes à un dixième d'euro. Comparé au temps de travail d'un montage manuel d'une heure, cet ordre de grandeur ne laisse pas place à l'hésitation.

Réutilisable en changeant de scénario

Avec la même structure, il suffit de changer la source d'entrée pour obtenir un autre produit :

Scénario Entrée Objectif de montage
Extrait de podcast Audio long + transcription Sélectionner des idées autonomes
Compte rendu de réunion Capture d'écran + transcription Conserver décisions et actions à faire
Montage fin de cours Vidéo de cours Supprimer les pauses et répétitions
Compilation d'interviews Multi-caméras Réorganiser par thème

Les prompts diffèrent pour chaque catégorie, mais la structure « transcription → compression → décision → rendu » reste identique.

Les pièges rencontrés

Décalage des horodatages. Selon l'outil, la base des horodatages de transcription peut varier de quelques dizaines de millisecondes, et le début du segment coupé avale alors des mots. La solution consiste à calibrer d'abord sur un court extrait.

Le modèle tend à conserver trop de choses. Au premier essai, le montage n'est souvent pas assez tranchant et la sortie dépasse la durée cible. Indiquez clairement la durée cible dans le prompt et précisez qu'en cas de dépassement il faut refaire la sélection.

Le point de coupe tombe au milieu d'une phrase. Si l'on ne donne que les horodatages, le modèle peut couper au milieu. Fournissez-lui aussi les frontières de phrases de la transcription pour qu'il choisisse selon ces frontières.

Le réencodage prend du temps. Quand les paramètres d'encodage des segments diffèrent, -c copy échoue et retombe sur un réencodage, qui prend très longtemps sur une heure de rushes. L'uniformisation des paramètres est une étape indispensable.

Questions fréquentes

Faut-il obligatoirement Claude Code ?

Pas nécessairement. Tout modèle capable de lire de longs textes et de produire du JSON selon un schéma peut assurer cette étape de décision. L'avantage de Claude Code est qu'il écrit lui-même les scripts, exécute ffmpeg, observe les résultats et ajuste, ce qui vous épargne le temps de chaîner manuellement le processus.

Peut-on faire tourner mlx-whisper sans puce Apple ?

Non, mlx est un framework Apple. Sur une machine non Apple, remplacez-le par faster-whisper ou whisper.cpp, la logique reste la même.

Combien de temps prend tout le processus ?

La transcription des rushes domine : environ d'une dizaine de minutes à plusieurs dizaines pour une heure de rushes sur une puce de la série M, selon la taille du modèle. L'étape de décision prend quelques minutes. Le rendu avec -c copy est rapide.

Le montage est-il directement utilisable ?

Selon Levels lui-même, il a fallu quelques ajustements. Le processus automatique résout la partie la plus chronophage : « extraire dix minutes de plusieurs heures de rushes ». Pour le rythme des détails et les transitions, un ajustement humain reste plus rapide.

Conclusions clés

Ce qui fait fonctionner ce processus n'est pas l'intelligence du modèle, mais la transformation de la vidéo en données que le modèle peut se permettre de lire. La transcription compresse l'audio, la grille d'images extraites compresse l'image, le modèle ne fait que choisir les segments, et le rendu revient à ffmpeg. Pour le reproduire, commencez par « convertir les rushes en texte horodaté » ; le reste est du travail d'ingénierie.


Sources

Articles similaires

Voir tous les articles →

Commencez avec des artefacts IA persistants

Obtenez votre clé API et appelez des modèles d'image, de vidéo et d'audio via une API unique basée sur les tasks.

Lire la documentation de l'API