Torna alle pipeline

Ritaglio video

Ritaglio video deterministico basato sulla trascrizione: affetta un SRT sulla tua finestra esplicita [start, end] e taglia con ffmpeg la sorgente per farla corrispondere. Aggancia i tagli ai confini di frase e restituisce la trascrizione della finestra riportata alla clip per la sottotitolazione a valle. Niente LLM, la scelta editoriale spetta a monte (tipicamente la pipeline dei momenti salienti).

0.1

Ancora necessario: Video, Trascrizione (SRT), Inizio (secondi), Fine (secondi)

Ideale per

  • Tagliare video lunghi su una finestra esplicita già scelta a monte
  • Concatenare dopo i momenti salienti: i momenti salienti scelgono il momento, video-trim lo affetta
  • Produrre una clip agganciata ai confini di frase più il suo SRT di finestra riportato, in un'unica chiamata

Quando usarlo

  • Sempre dopo trascrizione + momenti salienti (o qualsiasi chiamante che conosca già la finestra)
  • Prima dei sottotitoli, l'SRT di finestra riportato nell'output alimenta direttamente il passaggio dei sottotitoli

Suggerimenti

  • Abbina ai momenti salienti (count=N, style=...) per ottenere scelte editoriali autorevoli
  • I tagli vengono agganciati ai confini dei segmenti SRT, passa una finestra leggermente stretta e lascia che l'aggancio la allarghi a una frase completa
  • L'URL della trascrizione di output è già riportato a t=0; invialo direttamente ai sottotitoli

Ricette che usano questo pipeline

Articoli su questo pipeline

API di Ritaglio video

Richiama questa pipeline dal tuo codice. Una richiesta avvia un'esecuzione; il modello è un campo di input, non un endpoint separato.

4 input
4 obbligatorio
0.1 crediti
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

Ottieni un token API →

Parametri

end_sec obbligatorio

Fine della finestra (esclusa). Deve essere maggiore di start_sec.

number
start_sec obbligatorio

Inizio della finestra. In genere fornito da un selettore a monte (es. highlights).

number
transcript_url obbligatorio

Trascrizione SRT della sorgente, obbligatoria. La finestra viene allineata ai confini dei suoi segmenti e l'SRT tagliato viene restituito per la sottotitolazione a valle.

string
video_url obbligatorio

Video sorgente da tagliare.

string

Usala da un agente IA

Punta un qualsiasi client MCP su pipe2 e il tuo agente ottiene questi strumenti. Trova questa pipeline, legge lo stesso schema qui sopra e la esegue.

  • 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" }
    }
  }
}

Riferimento API completo Configurazione MCP Riferimento CLI

Ritaglio video: Taglio deterministico basato sulla trascrizione

Passa un video sorgente, la sua trascrizione SRT e una finestra esplicita [start_sec, end_sec]. La pipeline aggancia la finestra ai confini reali dei segmenti in modo che i tagli non cadano mai a metà frase, taglia la sorgente con ffmpeg e restituisce la trascrizione della finestra riportata a t=0, pronta perché il passaggio dei sottotitoli la consumi senza ri-trascrivere.

Come funziona

  1. Aggancia ai segmenti: inizio/fine vengono agganciati ai confini dei segmenti SRT più vicini
  2. Affetta l'SRT: i segmenti mantenuti vengono riportati a t=0 e caricati come trascrizione della finestra
  3. Taglio FFmpeg: la sorgente viene tagliata alla finestra agganciata con bordi puliti e accurati al fotogramma

Perché niente LLM qui

  • La decisione editoriale (quale momento vale la pena ritagliare) spetta a monte, tipicamente la pipeline dei momenti salienti
  • Chiamare un LLM una seconda volta dopo i momenti salienti aggiunge solo deriva tra la finestra scelta e quella renderizzata
  • Fatturazione a chiamata singola: 0.1 crediti fissi per ritaglio, nessuna riconciliazione per token necessaria

Domande frequenti

Come viene scelta la finestra?
La fornisci tu. La pipeline dei momenti salienti (o qualsiasi altro selettore a monte) emette start_sec ed end_sec; questo ritaglio li consuma in modo deterministico. Non c'è alcun LLM nel ritaglio stesso, la decisione editoriale vive nel selettore.
Perché richiede una trascrizione?
La trascrizione è ciò che fa agganciare il taglio a una frase completa invece di cadere a metà parola. La pipeline mantiene ogni segmento che si sovrappone alla tua finestra, prende l'estensione dell'insieme mantenuto e taglia il video di conseguenza, lo stesso SRT viene poi affettato + riportato a t=0 e restituito perché il passaggio dei sottotitoli lo riutilizzi.
Può funzionare senza una trascrizione?
Non più. Il precedente fallback basato sulla visione dei fotogrammi chiave è stato rimosso quando i momenti salienti hanno preso in carico la scelta editoriale, derivava costantemente dalla finestra scelta. Trascrivi prima la sorgente (la pipeline di trascrizione mette in cache in base all'hash della sorgente, quindi le ri-esecuzioni sono gratuite).
Costa crediti?
0.1 crediti per ritaglio, fissi.
E se start_sec/end_sec cadono fuori dalla trascrizione?
La finestra viene confrontata con la tua trascrizione, non con il video grezzo. Se supera la fine, il taglio viene riportato all'ultima frase della trascrizione.

Esplora altri pipeline

Vedi tutto →
Generatore video
from 9.5
Generatore video
Generatore immagini
0.2-6.4
Generatore immagini
Generatore audio
0.7-1.3
Generatore audio
Generatore musica
2.5-45.1
Generatore musica