パイプライン一覧に戻る

動画カット

決定論的なトランスクリプト対応の動画トリム:SRTを明示的な[start, end]ウィンドウにスライスし、ffmpegでソースを合わせてカットします。カットを文の境界にスナップし、下流のキャプション用にクリップにリベースしたウィンドウ付きトランスクリプトを返します。LLMなし, エディトリアルな選択は上流(通常はハイライトパイプライン)に属します。

0.1

未入力の項目: 動画, 文字起こし(SRT), 開始(秒), 終了(秒)

最適な用途

  • 上流ですでに選ばれた明示的なウィンドウに長い動画をカット
  • ハイライトの後に連結:ハイライトが瞬間を選び、video-trim がそれをスライス
  • 文の境界にスナップしたクリップと、そのリベースされたウィンドウ付きSRTを1回で生成

使用するタイミング

  • 常に文字起こし+ハイライトの後(またはすでにウィンドウを知っている任意の呼び出し元)
  • captions の前, 出力内のリベースされたウィンドウ付きSRTがキャプションステップに直接送られます

ヒント

  • ハイライト(count=N, style=...)と組み合わせて権威あるエディトリアルな選択を得る
  • カットはSRTセグメント境界にスナップされます, 少しきついウィンドウを渡し、スナップが完全な文まで広げるに任せる
  • 出力のトランスクリプトURLはすでにt=0にリベースされています。そのまま captions に送ってください

このパイプラインを使うレシピ

このパイプラインに関する記事

動画カット API

このパイプラインをご自身のコードから呼び出せます。1回のリクエストで実行が始まり、モデルは独立したエンドポイントではなく入力フィールドです。

4 個の入力
4 必須
0.1 クレジット
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

APIトークンを取得 →

パラメータ

end_sec 必須

区間の終了(この値は含まない)。start_sec より大きい必要があります。

number
start_sec 必須

区間の開始。通常は上流の抽出処理(例: highlights)から供給されます。

number
transcript_url 必須

元動画の SRT 文字起こし, 必須。区間はそのセグメント境界にスナップされ、切り出された SRT が下流の字幕付け用に返されます。

string
video_url 必須

トリミングする元動画。

string

AIエージェントから使う

任意の MCP クライアントを pipe2 に接続すると、エージェントがこれらのツールを使えるようになります。このパイプラインを見つけ、上と同じスキーマを読み取って実行します。

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

APIリファレンス全文 MCP のセットアップ CLIリファレンス

動画トリム: 決定論的なトランスクリプト対応カット

ソース動画、そのSRTトランスクリプト、明示的な[start_sec, end_sec]ウィンドウを渡します。パイプラインがウィンドウを実際のセグメント境界にスナップするのでカットが文の途中に落ちることはなく、ffmpegでソースをトリムし、t=0にリベースされたウィンドウ付きトランスクリプトを返します, キャプションステップが再文字起こしなしで使える状態です。

使い方

  1. セグメントにスナップ: start/end が最も近いSRTセグメント境界にクリップされます
  2. SRTをスライス: 残されたセグメントがt=0にリベースされ、ウィンドウ付きトランスクリプトとしてアップロードされます
  3. FFmpegトリム: ソースがスナップされたウィンドウに、クリーンでフレーム精度のエッジでカットされます

なぜここにLLMがないのか

  • エディトリアルな判断(どの瞬間がクリップに値するか)は上流, 通常はハイライトパイプライン, に属します
  • ハイライトの後にLLMを2度目に呼ぶと、選ばれたウィンドウとレンダリングされたウィンドウの間にドリフトが加わるだけです
  • ワンコール課金:トリムごとに一律0.1クレジット、トークンごとの精算は不要です

よくある質問

ウィンドウはどのように選ばれますか?
あなたが提供します。ハイライトパイプライン(または他の任意の上流ピッカー)が start_sec と end_sec を出力し、このトリムがそれを決定論的に使います。トリム自体にLLMはありません, エディトリアルな判断はピッカーにあります。
なぜトランスクリプトが必要なのですか?
トランスクリプトこそが、カットを単語の途中ではなく完全な文にスナップさせるものです。パイプラインはウィンドウに重なるすべてのセグメントを保持し、保持セットの範囲を取り、動画をそれに合わせてトリムします, 同じSRTがその後スライス+t=0にリベースされ、キャプションステップが再利用できるよう返されます。
トランスクリプトなしで実行できますか?
もう必要ありません。以前のキーフレームビジョンのフォールバックは、ハイライトがエディトリアルな選択を引き継いだときに削除されました, 選ばれたウィンドウから一貫してドリフトしていたためです。まずソースを文字起こししてください(文字起こしパイプラインはソースハッシュでキャッシュするので、再実行は無料です)。
これはクレジットがかかりますか?
トリムごとに一律 0.1 クレジット。
start_sec/end_sec がトランスクリプトの外に落ちたらどうなりますか?
ウィンドウは生の動画ではなく、あなたのトランスクリプトと照合されます。末尾を超えた場合、カットはトランスクリプト内の最後の文まで戻されます。

他のパイプラインを見る

すべて見る →
動画生成
from 9.5
動画生成
画像生成
0.2-6.4
画像生成
音声生成
0.7-1.3
音声生成
音楽生成
2.5-45.1
音楽生成