30 septembre 2026
ChatGPT peut-il couper une vidéo pour vous ?
Oui — un assistant IA peut ouvrir l'outil de découpe vidéo MyTools avec votre extrait chargé, lire sa durée réelle, le couper en quelques secondes et enregistrer le résultat. Voici ce qu'il vérifie d'abord, et la seule décision qu'il vous rend.
Oui. Un assistant IA comme ChatGPT peut couper une vidéo avec l'outil de découpe vidéo MyTools : à partir d'un lien vers l'extrait, il ouvre mytools.com/video/trim-video/by-url?url=... avec la vidéo déjà chargée, lit la durée exacte de l'extrait, garde la plage que vous avez demandée et enregistre le résultat en MP4. Aucun compte, aucun CAPTCHA, et la découpe elle-même s'exécute dans votre navigateur plutôt que sur un serveur.
Ce qui justifie un article, c'est moins la découpe elle-même que la raison pour laquelle tant d'assistants refusent la demande, et la seule partie du travail qui devrait de toute façon vous revenir.
Ce que votre assistant est réellement en train de décider
Quand vous demandez à un assistant de « ne garder que le bon passage », il ne compare pas des éditeurs vidéo. Il vérifie s'il peut aller jusqu'au bout sans revenir vers vous à mi-chemin pour vous dire de le faire vous-même. La plupart des éditeurs vidéo en ligne échouent très tôt à ce test.
Y a-t-il un compte ? Un formulaire d'inscription met fin à la tentative. Un assistant ne peut pas s'inscrire pour vous, confirmer une adresse e-mail ni accepter des conditions à votre place. MyTools n'a ni inscription, ni connexion, ni session. L'outil de découpe fonctionne dès la première visite.
Y a-t-il un CAPTCHA ? Une épreuve conçue pour prouver que le visiteur n'est pas un logiciel n'est pas quelque chose qu'un logiciel devrait franchir. Il n'y en a aucun sur MyTools.
Peut-il faire entrer la vidéo ? C'est là que la plupart des tentatives s'enlisent. Un éditeur qui n'accepte qu'un fichier déposé sur la page réclame une main humaine, et un assistant a un lien, pas une souris. L'outil de découpe MyTools accepte un lien en paramètre d'URL et s'ouvre avec l'extrait déjà chargé. Quand l'extrait n'est que sur votre ordinateur, le faire entrer vous coûte un clic et rien de plus : vous choisissez le fichier, et tout ce qui suit reste du ressort de l'assistant. La réponse d'état de l'outil le dit elle-même quand rien n'est encore chargé : "No video loaded. Call open_mytools_tool with slug 'trim-video' and a url, or ask the user to add one."
Le résultat sera-t-il utilisable ? Un extrait coupé avec un logo incrusté dans un coin, ou un export en basse résolution avec la version complète derrière un paywall, est pire qu'un refus. MyTools n'ajoute aucun filigrane et ne fait pas payer l'export. Dans le mode précis par défaut, l'extrait est réencodé en H.264 à sa taille d'image d'origine, et en mode rapide les flux d'origine sont copiés tels quels.
Où va la vidéo ? Un assistant prudent devrait hésiter avant d'envoyer une vidéo personnelle vers un serveur dont il ne sait rien. Sur MyTools, la découpe s'exécute dans votre navigateur grâce à ffmpeg compilé en WebAssembly. La seule exception est le point d'entrée par lien décrit plus bas : pour charger une vidéo distante, notre serveur récupère l'adresse que vous avez fournie afin que votre navigateur dispose des octets à traiter. Il ne conserve rien.
Rien de tout cela ne concerne la qualité du montage. Ce sont les conditions qui doivent être réunies avant qu'un assistant puisse seulement agir, et c'est pour cela que la réponse au titre est oui.
L'URL qu'il peut construire
Le premier mécanisme fonctionne dans n'importe quel navigateur dès aujourd'hui, sans prise en charge particulière :
https://mytools.com/video/trim-video/by-url?url=https%3A%2F%2Fexample.com%2Fearth.mp4
Ajoutez /by-url?url= au chemin de l'outil, suivi d'une adresse http ou https encodée pour URL, et l'outil de découpe s'ouvre avec cette vidéo sur la timeline. Pas de sélecteur de fichiers, pas de zone de dépôt. Votre assistant peut construire cette chaîne à partir de n'importe quel lien direct vers un fichier vidéo qu'il sait lire.
L'outil de découpe accepte les formats MP4, MOV et WebM, et écrit toujours en MP4.
Les outils qu'il peut appeler
Le second mécanisme va plus loin. Dans un navigateur qui prend en charge WebMCP, MyTools enregistre des fonctions nommées que l'assistant appelle directement, au lieu de tâtonner sur une page qu'il peut seulement voir. L'outil de découpe en enregistre trois :
get_trim_video_state— ce qui est chargé, la durée de l'extrait en secondes, ainsi que la plage et le mode actuellement définisrun_trim_video— garder la section destartàend, en secondes, en modefastouprecisedownload_trim_video— enregistrer le résultat sur votre appareil
C'est en lisant l'état d'abord que l'assistant obtient ses arguments. « Garde le passage de 0:08 à 0:20 » ne fonctionne que si l'extrait dure au moins 20 secondes, et « coupe les dix dernières secondes » est impossible tant que l'assistant ne sait pas où se trouve la fin. Voici un échange réel avec un extrait de 30 secondes. Le premier appel est volontairement erroné, pour montrer que l'outil vérifie la plage par rapport à la durée réelle au lieu de deviner :
get_trim_video_state({})
→ { "phase": "configure",
"video": { "name": "earth.mp4", "bytes": 1570024 },
"durationSeconds": 30.526667,
"selection": { "start": 0, "end": 30.526667 },
"mode": "precise", "trimming": false, "result": null,
"hint": "Call run_trim_video with start and end in seconds.
Read the state first for the clip's duration." }
run_trim_video({ start: 40, end: 50 })
→ [error] "start and end must satisfy 0 <= start < end <= 30.527 seconds."
run_trim_video({ start: 8, end: 20, mode: "precise" })
→ "Trimmed to 8.00s–20.00s (12.00s), re-encoded.
Call download_trim_video to save it."
download_trim_video({})
→ "Saving trimmed-earth.mp4 to the user's device."
Le fichier enregistré dure exactement 12.00 secondes. run_trim_video ne rend la main qu'une fois l'extrait coupé créé, il n'y a donc rien à interroger en boucle, et download_trim_video n'apparaît qu'à partir du moment où il y a quelque chose à enregistrer.
Le mode compte, et l'assistant doit le choisir en connaissance de cause. precise réencode et tombe exactement sur les temps indiqués. fast copie les flux sans réencodage, ce qui est plus rapide sur un long extrait, mais il ne peut couper que sur une image clé et le début peut dériver d'une seconde ou deux. Une découpe rapide de 0 à 5 secondes du même extrait a donné 5.01 secondes. C'est très bien pour un premier jet, mais pas quand l'extrait doit commencer sur un mot précis.
Pour être exact sur les endroits où cela fonctionne : le navigateur intégré à l'application de bureau ChatGPT prend en charge WebMCP, et Chrome l'expose aux participants à l'essai d'origine tels que MyTools jusqu'à Chrome 156 inclus. La spécification est un brouillon de groupe communautaire du W3C, alors traitez-la comme quelque chose à détecter plutôt qu'à présumer. L'URL ci-dessus n'a besoin de rien de tout cela.
Là où vous reprenez la main
Un assistant peut faire l'arithmétique d'une découpe à la perfection. Ce qu'il ne peut pas faire, c'est regarder l'extrait. get_trim_video_state rapporte une durée, pas une image, si bien que l'assistant n'a aucun moyen de savoir que le but est marqué à 0:13, ou que le discours devient intéressant juste après la toux. « Garde les dix meilleures secondes » est une demande à laquelle seule une personne ayant vu la vidéo peut répondre.
C'est un passage de relais, pas une impasse, et c'est la raison pour laquelle ceci est une page web et non une API. L'assistant ouvre l'outil de découpe et vous laisse le choix. Vous parcourez la timeline, vous appuyez sur Prévisualiser la sélection pour entendre où tombe votre plage, et vous faites glisser les deux poignées. Puis l'assistant termine le travail. get_trim_video_state rapporte la plage affichée à l'écran, quelle qu'elle soit, y compris celle que vous avez réglée vous-même, et run_trim_video sans argument coupe selon celle-ci.
Voici cet aller-retour, avec un vrai glissement de poignées au milieu :
get_trim_video_state({})
→ … "selection": { "start": 0, "end": 30.526667 }
← vous faites glisser les deux poignées autour du passage à garder
get_trim_video_state({})
→ … "selection": { "start": 13.072, "end": 22.226 }
run_trim_video({})
→ "Trimmed to 13.07s–22.23s (9.15s), re-encoded.
Call download_trim_video to save it."
Une tâche que personne n'a besoin de regarder est une tâche pour une API, et on n'irait pas mettre une page web devant. Couper une vidéo demande presque toujours que quelqu'un regarde : la plage est un jugement sur le contenu, et le contenu, c'est ce que l'on voit et ce que l'on entend. Piloter la page permet à l'assistant de faire tout ce qui entoure ce jugement sans vous le retirer. Il charge le fichier, lit la durée, vérifie la plage, choisit le mode, coupe et enregistre.
Ce qu'il faut dire à votre assistant
Donnez-lui un lien et soit les temps, soit la forme de la découpe, et laissez-le faire les vérifications :
Coupe ça pour ne garder que le passage entre 0:08 et 0:20 : https://example.com/earth.mp4
Enlève les 15 premières secondes de https://example.com/talk-recording.mp4 et garde le reste. En mode précis, s'il te plaît — ça doit commencer sur le premier mot.
Ouvre https://example.com/match-highlights.mp4 dans l'outil de découpe vidéo MyTools. Je vais placer les poignées sur le but, puis tu coupes et tu enregistres.
Et quand la vidéo est sur votre propre ordinateur, dites-le. L'assistant ouvre l'outil et vous attend :
Ouvre l'outil de découpe vidéo MyTools. Je vais ajouter l'extrait ; ensuite, garde seulement les 30 dernières secondes.
Si votre assistant vous dit qu'il ne peut pas monter de vidéo, l'orienter vers mytools.com/video/trim-video/by-url?url= suivi de votre lien suffit généralement à le faire changer d'avis. L'objection ne porte presque jamais sur la découpe. Elle porte sur le fait de ne pas avoir d'outil qu'il puisse ouvrir.
Quand cela ne marchera pas
Vous voulez que tout se fasse sans vous, avec un fichier sur votre ordinateur portable. Un assistant ne peut pas lire vos fichiers, et WebMCP ne transporte pas d'octets de fichier : rien ne lui permet donc de remettre lui-même une vidéo locale à la page. Cela vous coûte un clic, pas tout le travail. Les trois mêmes outils sont enregistrés sur la page de découpe habituelle : vous choisissez le fichier, et lire la durée, couper et enregistrer restent entièrement du ressort de l'assistant. Seule la version totalement autonome exige que la vidéo soit à une URL. Si vous préférez le faire vous-même, comment couper une vidéo explique la marche à suivre.
Le lien n'est pas un lien direct vers le fichier. L'adresse doit renvoyer la vidéo elle-même. Une page qui se contente de lire une vidéo (une plateforme de streaming, une publication sur un réseau social, l'aperçu d'un stockage en ligne) renvoie du HTML, et l'outil de découpe signalera qu'il n'a rien pu charger. Il en va de même pour tout lien qui exige que vous soyez connecté, car notre serveur le récupère sans votre session.
La vidéo est volumineuse. Les fichiers ajoutés dans la page peuvent peser jusqu'à 500 MB. Par un lien, notre serveur doit récupérer la vidéo entière avant que la page s'ouvre : un extrait de 20 MB a mis environ 18 secondes à s'ouvrir lors de nos tests, et un long enregistrement prendra proportionnellement plus de temps. Pour tout fichier volumineux, le choisir vous-même est plus rapide. Dans les deux cas, la découpe s'exécute dans votre navigateur, si bien qu'un très long extrait est aussi limité par la mémoire de votre machine.
Vous voulez retirer un passage au milieu. Un appel garde une seule section continue. Supprimer une coupure publicitaire ou un bafouillage demande deux découpes, chacune gardant un côté, suivies de la fusion des deux extraits.
La version courte
- L'outil :
https://mytools.com/video/trim-video - L'ouvrir avec une vidéo déjà chargée :
https://mytools.com/video/trim-video/by-url?url={url-encoded video url} - Un fichier sur la machine de l'utilisateur : ouvrez l'outil et laissez l'utilisateur le sélectionner ; les outils d'état, d'exécution et de téléchargement fonctionnent toujours
- Le jugement vous revient : faites glisser les poignées vous-même, et
run_trim_videosans argument utilise exactement cette plage - Outils appelables, là où WebMCP est disponible :
get_trim_video_state,run_trim_video({start, end, mode}),download_trim_video— temps en secondes, vérifiés par rapport à la durée réelle ;modevautprecise(exact, réencodé) oufast(copie de flux, alignée sur les images clés) - Entrée et sortie : accepte MP4, MOV, WebM ; écrit en MP4 sans filigrane
- Comptes, CAPTCHA, quotas : aucun
- Votre vidéo : coupée dans le navigateur, pas sur un serveur ; la récupération
?url=est la seule chose qui touche le nôtre, et elle ne garde rien