Retour aux pipelines

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).

0.1

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.

4 entrées
4 requis
0.1 crédits
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}' \
  --wait

Obtenir un jeton d'API →

Paramètres

end_sec requis

Fin de la fenêtre (exclue). Doit être supérieure à start_sec.

number
start_sec requis

Début de la fenêtre. Généralement fourni par un sélecteur en amont (ex. highlights).

number
transcript_url requis

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_url requis

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

  1. Aligner sur les segments: le début et la fin sont rognés vers les limites de segment SRT les plus proches
  2. 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
  3. 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 ?
Vous la fournissez. Le pipeline highlights (ou tout autre sélecteur en amont) émet start_sec et end_sec ; cette découpe les consomme de façon déterministe. Il n'y a pas de LLM dans la découpe elle-même, la décision éditoriale réside dans le sélecteur.
Pourquoi une transcription est-elle requise ?
La transcription est ce qui permet à la coupe de s'aligner sur une phrase complète plutôt que de tomber au milieu d'un mot. Le pipeline conserve chaque segment chevauchant votre fenêtre, prend l'étendue de l'ensemble conservé et découpe la vidéo pour correspondre, le même SRT est ensuite tranché + rebasé sur t=0 et renvoyé pour être réutilisé par l'étape captions.
Peut-il fonctionner sans transcription ?
Plus maintenant. L'ancien repli sur la vision des images clés a été supprimé lorsque highlights a pris en charge le choix éditorial, il dérivait systématiquement de la fenêtre choisie. Transcrivez d'abord la source (le pipeline de transcription met en cache par hash de source, donc les ré-exécutions sont gratuites).
Cela coûte-t-il des crédits ?
0.1 crédit par découpe, forfaitaire.
Que se passe-t-il si start_sec/end_sec tombent en dehors de la transcription ?
La fenêtre est comparée à votre transcription, pas à la vidéo brute. Si elle dépasse la fin, la coupe est ramenée à la dernière phrase de la transcription.

Découvrir plus de pipelines

Voir tout →
Générateur de vidéos
from 9.5
Générateur de vidéos
Générateur d'images
0.2-6.4
Générateur d'images
Générateur audio
0.7-1.3
Générateur audio
Générateur de musique
2.5-45.1
Générateur de musique