パイプライン一覧に戻る

動画リサイズ

AIのアクティブ話者フレーミングで、横向き動画を縦向きに自動クロップ。1回でTikTok対応, すべてのショットで話者をフレームに収め、あらゆる境界でクリーンにカットします。

2

未入力の項目: 動画, 目標アスペクト比

最適な用途

  • 16:9のポッドキャスト/インタビュー/ドキュメンタリーのフッテージを9:16のTikTok/Reels/Shortsにリフレーム
  • コンテンツに複数の焦点があるときに特定の被写体(ホスト、商品、画面)を追跡
  • アクティブ話者追跡付きで横向きマスターからInstagramの正方形(1:1)を生成
  • video-trim と captions と連結して長尺からショートへのループを完結

使用するタイミング

  • video-trim の後, トリムが瞬間を選び、リフレームがフレーミングを選ぶ
  • captions の前, 先にリフレームしてキャプションのテキストが9:16のキャンバスに収まるように
  • すでに編集済みの横向きクリップの縦版が必要なユーザーには単体で

ヒント

  • インタビューやパネルには話者分離されたトランスクリプトを提供する, ビジョンだけよりもはるかに確実にショットごとのアクティブ話者フレーミングを駆動します
  • 明確な単一の被写体がないショット(画面共有、ワイドな確立ショット)は設計上レターボックスされます, それはミスではなく安全な選択です
  • 調整するパン/ズーム/スムージングのつまみはありません, カメラディレクターは決定論的なロックアンドカットです

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

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

動画リサイズ API

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

3 個の入力
2 必須
2 to 5 クレジット
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-reframe",
  input: {
    video_url: "https://example.com/interview.mp4",
    target_aspect_ratio: "9:16",
  },
});
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-reframe",
    input={
        "video_url": "https://example.com/interview.mp4",
        "target_aspect_ratio": "9:16",
    },
))
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",
  "target_aspect_ratio": "9:16"
}`)

run, err := pipe2.RunPipeline(context.Background(), client, "video-reframe", input)
if err != nil {
    log.Fatal(err)
}
brew install pipe2-ai/tap/pipe2
pipe2 pipelines run \
  --pipeline video-reframe \
  --input-json '{"video_url": "https://example.com/interview.mp4", "target_aspect_ratio": "9:16"}' \
  --wait

APIトークンを取得 →

パラメータ

target_aspect_ratio 必須

Aspect ratio to reframe to — vertical for shorts, square for feeds.

9:161:14:516:9 既定値 9:16
video_url 必須

Public URL of the video to reframe.

string
transcript_url

Public URL of a transcript. Used to keep the speaker in frame.

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リファレンス

動画リフレーム: 話者追跡付きの横向きから縦向きへ

バズる動画のほとんどは9:16(TikTok、Reels、Shorts)にありますが、フッテージのほとんどは16:9で撮影されています。動画リフレームがそのギャップを埋めます:すべてのショットでアクティブな話者を見つけ、クリーンな縦向きクロップでフレームに収め, ショット全体を通して完全に固定し、ソースがカットする箇所でのみカットします。手動編集も、調整するカメラのつまみもありません。

使い方

  1. ショット境界を検出: FFmpeg のシーンカット検出器がソースを分割し、すべてのフレーミング判断が1つの連続ショットに限定されます。
  2. 顔を特定して出演者を識別: ビジョンパスとCV顔検出器が各ショットのキーフレームにわたって顔を見つけてクラスタリングし、各人物に安定したアイデンティティを与えます。
  3. ショットごとに焦点となる被写体を解決: オーディオ優先:話者分離されたトランスクリプトがアクティブな話者を指名し、なければショットごとに1ラベルのビジョンパスとCVの顔が決定します。話者がフレームを得て、曖昧なショットは推測せずにレターボックス(全員を表示)します。
  4. カメラを決定論的に計画: 純粋なプランナーがショットごとの焦点をロックアンドカットのプランに変えます:ショットごとに1つの静的クロップ、境界でのハードカット、1秒未満のショットは隣接ショットに統合。パンなし、ドリフトなし、モーションアーティファクトなし, 同じ入力は常に同じプランを生みます。
  5. レンダリング: FFmpeg がショットごとの静的クロップ(または全画面ショットには中央揃えのレターボックス)を適用し、音声はそのまま保ちます。

マルチスピーカー追跡にはトランスクリプトを提供

インタビューやパネルには、動画と同じ時間範囲をカバーする話者分離されたトランスクリプト(SRT)を渡します。その話者の切り替わりが焦点の選択を駆動するため、ツーショットでは画面上で最大の顔ではなく、実際に話している人を追います。トランスクリプトがなくてもプランナーは機能し、ショットごとのビジョンラベルとCVの顔位置にフォールバックします。

よくある質問

どのアスペクト比に対応していますか?
9:16(TikTok/Reels/Shorts)、1:1(Instagram の正方形)、4:5(Instagram の縦型)、16:9(パススルー, リフレーミングは適用されません)。
ソースがすでに縦向きの場合はどうなりますか?
パイプラインがこれを検出し、meta.skipped=already_target_aspect とともにソースをそのまま返します。
誰を追うかはどのように選びますか?
オーディオ優先です。話者分離されたトランスクリプトを提供すればショットごとにアクティブな話者をフレームに収め、なければショットごとのビジョンラベルとCV顔検出器が決定します。明確な単一の被写体がないショット, 画面共有、ワイドな確立ショット, は推測せずにレターボックスして全画面を表示します。
パンやズームをすることはありますか?
いいえ。各ショットは完全に固定された1つの静的クロップを得て、カメラはショット境界でのみカットします。これにより、ジッターのあるパン/追いかけカメラのアーティファクトが構造的に不可能になります。
いくらかかりますか?
2 to 5 クレジットで、クリップの長さに応じて変動します。短いクリップは下限、長いクリップは上限になります。
video-trim と連結できますか?
はい, 典型的なチェーンは video-trim(長さ)→ video-reframe(アスペクト)→ captions(焼き込み)です。ほとんどのユーザーは完成したショートにこの3つすべてを使いたくなるでしょう。

他のパイプラインを見る

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