動画カット
決定論的なトランスクリプト対応の動画トリム:SRTを明示的な[start, end]ウィンドウにスライスし、ffmpegでソースを合わせてカットします。カットを文の境界にスナップし、下流のキャプション用にクリップにリベースしたウィンドウ付きトランスクリプトを返します。LLMなし, エディトリアルな選択は上流(通常はハイライトパイプライン)に属します。
未入力の項目: 動画, 文字起こし(SRT), 開始(秒), 終了(秒)
最適な用途
- •上流ですでに選ばれた明示的なウィンドウに長い動画をカット
- •ハイライトの後に連結:ハイライトが瞬間を選び、video-trim がそれをスライス
- •文の境界にスナップしたクリップと、そのリベースされたウィンドウ付きSRTを1回で生成
使用するタイミング
- •常に文字起こし+ハイライトの後(またはすでにウィンドウを知っている任意の呼び出し元)
- •captions の前, 出力内のリベースされたウィンドウ付きSRTがキャプションステップに直接送られます
ヒント
- ✓ハイライト(count=N, style=...)と組み合わせて権威あるエディトリアルな選択を得る
- ✓カットはSRTセグメント境界にスナップされます, 少しきついウィンドウを渡し、スナップが完全な文まで広げるに任せる
- ✓出力のトランスクリプトURLはすでにt=0にリベースされています。そのまま captions に送ってください
このパイプラインを使うレシピ
このパイプラインに関する記事
動画カット API
このパイプラインをご自身のコードから呼び出せます。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パラメータ
-
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" }
}
}
}動画トリム: 決定論的なトランスクリプト対応カット
ソース動画、そのSRTトランスクリプト、明示的な[start_sec, end_sec]ウィンドウを渡します。パイプラインがウィンドウを実際のセグメント境界にスナップするのでカットが文の途中に落ちることはなく、ffmpegでソースをトリムし、t=0にリベースされたウィンドウ付きトランスクリプトを返します, キャプションステップが再文字起こしなしで使える状態です。
使い方
- セグメントにスナップ: start/end が最も近いSRTセグメント境界にクリップされます
- SRTをスライス: 残されたセグメントがt=0にリベースされ、ウィンドウ付きトランスクリプトとしてアップロードされます
- FFmpegトリム: ソースがスナップされたウィンドウに、クリーンでフレーム精度のエッジでカットされます
なぜここにLLMがないのか
- エディトリアルな判断(どの瞬間がクリップに値するか)は上流, 通常はハイライトパイプライン, に属します
- ハイライトの後にLLMを2度目に呼ぶと、選ばれたウィンドウとレンダリングされたウィンドウの間にドリフトが加わるだけです
- ワンコール課金:トリムごとに一律0.1クレジット、トークンごとの精算は不要です
よくある質問
ウィンドウはどのように選ばれますか?
なぜトランスクリプトが必要なのですか?
トランスクリプトなしで実行できますか?
これはクレジットがかかりますか?
start_sec/end_sec がトランスクリプトの外に落ちたらどうなりますか?
他のパイプラインを見る
すべて見る →テキストプロンプト、画像、参照クリップからAI動画を生成。シネマティックなショット、商品リビール、ライフスタイル広告, 同期した音声と自然な動きで。
テキストや参照写真からAI画像を生成。商品写真、キャラクターアート、読みやすいテキスト入りポスター、フォトリアルなポートレート, 高解像度で数秒で完成。
テキストを自然な音声に変換。数十種類の声、70以上の言語に対応し、トーン・アクセント・テンポをスタイル指定でカスタマイズできます。
記述したムード、ジャンル、長さに合ったオリジナルのBGMを生成。ロイヤリティフリーで、数秒で用意できます。