Découpe vidéo
Découpe vidéo déterministe tenant compte de la transcription : tranche un SRT selon votre fenêtre [début, fin] explicite et coupe la source avec ffmpeg pour correspondre. Aligne les coupes sur les limites de phrases et renvoie la transcription fenêtrée rebasée sur le clip pour le sous-titrage en aval. Pas de LLM, le choix éditorial appartient à l'amont (généralement le pipeline highlights).
Encore requis : Vidéo, Transcription (SRT), Début (secondes), Fin (secondes)
Idéal pour
- •Découper de longues vidéos selon une fenêtre explicite déjà choisie en amont
- •Enchaîner après highlights : highlights choisit le moment, video-trim le tranche
- •Produire un clip aligné sur les limites de phrases plus son SRT fenêtré rebasé en un seul appel
Quand l'utiliser
- •Toujours après transcription + highlights (ou tout appelant qui connaît déjà la fenêtre)
- •Avant captions, le SRT fenêtré rebasé dans la sortie alimente directement l'étape captions
Conseils
- ✓Associez à highlights (count=N, style=...) pour obtenir des choix éditoriaux qui font autorité
- ✓Les coupes sont alignées sur les limites des segments SRT, fournissez une fenêtre légèrement serrée et laissez l'alignement l'élargir à une phrase complète
- ✓L'URL de la transcription de sortie est déjà rebasée sur t=0 ; alimentez-la directement dans captions
Recettes utilisant ce pipeline
Articles sur ce pipeline
API Découpe vidéo
Appelez ce pipeline depuis votre propre code. Une requête lance une exécution ; le modèle est un champ d'entrée, pas un endpoint distinct.
bun add @pipe2-ai/sdk import { createClient } from "@pipe2-ai/sdk";
const client = createClient(process.env.PIPE2_TOKEN!);
const { run_pipeline } = await client.RunPipeline({
pipeline_slug: "video-trim",
input: {
video_url: "https://example.com/interview.mp4",
transcript_url: "https://example.com/interview.vtt",
start_sec: 12,
end_sec: 48,
},
});pip install pipe2 import asyncio
import os
from pipe2 import Pipe2Client
client = Pipe2Client(token=os.environ["PIPE2_TOKEN"])
run = asyncio.run(client.run_pipeline(
pipeline_slug="video-trim",
input={
"video_url": "https://example.com/interview.mp4",
"transcript_url": "https://example.com/interview.vtt",
"start_sec": 12,
"end_sec": 48,
},
))go get github.com/pipe2-ai/sdk-go client := pipe2.NewClient(os.Getenv("PIPE2_TOKEN"))
input := json.RawMessage(`{
"video_url": "https://example.com/interview.mp4",
"transcript_url": "https://example.com/interview.vtt",
"start_sec": 12,
"end_sec": 48
}`)
run, err := pipe2.RunPipeline(context.Background(), client, "video-trim", input)
if err != nil {
log.Fatal(err)
}brew install pipe2-ai/tap/pipe2 pipe2 pipelines run \
--pipeline video-trim \
--input-json '{"video_url": "https://example.com/interview.mp4", "transcript_url": "https://example.com/interview.vtt", "start_sec": 12, "end_sec": 48}' \
--waitParamètres
-
end_secrequis -
Fin de la fenêtre (exclue). Doit être supérieure à start_sec.
number -
start_secrequis -
Début de la fenêtre. Généralement fourni par un sélecteur en amont (ex. highlights).
number -
transcript_urlrequis -
Transcription SRT de la source, obligatoire. La fenêtre est alignée sur les limites de ses segments et le SRT découpé est renvoyé pour le sous-titrage en aval.
string -
video_urlrequis -
Vidéo source à découper.
string
Utilisez-le depuis un agent IA
Pointez n'importe quel client MCP vers pipe2 et votre agent obtient ces outils. Il trouve ce pipeline, lit le même schéma ci-dessus, puis l'exécute.
- list_pipelines
- get_pipeline_schema
- run_pipeline
- get_pipeline_run_status
- request_upload
https://mcp.pipe2.ai/mcp {
"mcpServers": {
"pipe2ai": {
"url": "https://mcp.pipe2.ai/mcp",
"headers": { "Authorization": "Bearer YOUR_TOKEN" }
}
}
}Référence complète de l'API Configuration MCP Référence de la CLI
Découpe vidéo: Coupe déterministe tenant compte de la transcription
Fournissez une vidéo source, sa transcription SRT et une fenêtre [start_sec, end_sec] explicite. Le pipeline aligne la fenêtre sur les limites réelles des segments afin que les coupes ne tombent jamais au milieu d'une phrase, découpe la source avec ffmpeg et renvoie la transcription fenêtrée rebasée sur t=0, prête à être consommée par l'étape captions sans re-transcription.
Comment ça marche
- Aligner sur les segments: le début et la fin sont rognés vers les limites de segment SRT les plus proches
- Trancher le SRT: les segments conservés sont rebasés sur t=0 et téléversés en tant que transcription fenêtrée
- Découpe FFmpeg: la source est coupée selon la fenêtre alignée avec des bords nets et précis à l'image
Pourquoi aucun LLM ici
- La décision éditoriale (quel moment vaut la peine d'être clippé) appartient à l'amont, généralement le pipeline highlights
- Appeler un LLM une seconde fois après highlights ne fait qu'ajouter une dérive entre la fenêtre choisie et celle rendue
- Facturation en un appel : 0,1 crédit forfaitaire par découpe, aucune réconciliation par token nécessaire
Foire aux questions
Comment la fenêtre est-elle choisie ?
Pourquoi une transcription est-elle requise ?
Peut-il fonctionner sans transcription ?
Cela coûte-t-il des crédits ?
Que se passe-t-il si start_sec/end_sec tombent en dehors de la transcription ?
Découvrir plus de pipelines
Voir tout →Générez des vidéos par IA à partir d'une invite textuelle, d'une image ou d'un clip de référence. Plans cinématographiques, présentations de produits, publicités lifestyle, avec un audio synchronisé et un mouvement naturel.
Générez des images par IA à partir de texte ou de photos de référence. Photos de produits, illustrations de personnages, affiches avec texte lisible, portraits photoréalistes, haute résolution en quelques secondes.
Transformez du texte en voix naturelle grâce à des dizaines de voix, plus de 70 langues et des directions de style personnalisées pour le ton, l'accent et le rythme.
Générez une musique de fond originale qui correspond à n'importe quelle ambiance, genre et durée que vous décrivez. Libre de droits, prête en quelques secondes.