Nodaro ドキュメント
ドキュメントノードリファレンスモデルAI エージェント(MCP)開発者向けセルフホスティングリサーチ
動画

動画オーバーレイ

最大 20 枚の画像を、それぞれ指定した時間だけ動画に重ねます。配置はカード、コーナーバッジ、全画面、カスタムから選べます。ライブプレビューで確認でき、オーディオはそのまま残ります。

動画オーバーレイ(Video Overlay)ノードは、動画の上に画像を重ね、それぞれを指定した時間だけ表示します。ロゴ、商品写真、スクリーンショット、ナレーションに合わせたカードなどに使います。ノードは画像ファイルをそのまま正確に動画の上に描き、元のオーディオを残し、ノード上にライブプレビューを表示します。これらはすべて、AI モデルを使わずに行われます。

使いどころ

  • UGC 広告で、話し手が商品カード、アプリのスクリーンショット、Web ページに触れている間に、それらを表示します。
  • 動画全体を通して、ロゴやチャンネルのハンドル名を画面に表示します。
  • ピクチャーインピクチャーの静止画、ビフォーアフターの画像、リアクション画像を表示します。
  • 商品のクリップに、値札や「NEW」バッジを重ねます。

クイックスタート

ノードを追加する

キャンバス上で Tab を押し、動画 › タイトル、グラフィック、字幕 › 動画オーバーレイを選びます。

動画と画像を接続する

ベースの動画を動画入力に接続します。各画像を、それぞれのレイヤーの入力(レイヤー 1、レイヤー 2 など)に接続します。ノードには、最初はレイヤーの入力が 4 つあります。

各レイヤーのタイミングと位置を決める

設定パネルを開きます。レイヤーごとに開始(秒)と終了(秒)を設定し、配置を選びます。ノードのプレビューでレイヤーをドラッグすると移動でき、角のハンドルを引っ張るとサイズを変えられます。

実行する

実行をクリックします。ノードが、すべてのレイヤーをそれぞれの時間に表示した動画をレンダリングします。プレビューのラベルが、プレビューから結果に変わります。

動画レイヤー 1レイヤー 2動画動画アップロード9:16 の自撮り画像アップロード料金ページのスクリーンショット画像アップロードロゴの PNG動画オーバーレイカード + コーナーバッジ字幕を追加TikTok 投稿
スクリーンショットがカードとしてポップアップし、ロゴは隅に表示され続けます。その上に字幕を重ねてから、動画を投稿します。

入力

入力接続できるノード説明
動画動画アップロード(Upload Video)、動画生成(Generate Video)などの動画ノードベースの動画です。必須です。
レイヤー 1〜レイヤー 12画像アップロード(Upload Image)、画像生成(Generate Image)、画像オーバーレイ(Image Overlay)などの画像ノードレイヤーごとに 1 枚の画像です。レイヤー 1 が 1 番目の入力、レイヤー 2 が 2 番目の入力というように続きます。

出力の動画は、レイヤーを描き込んだ動画で、形式は MP4 です。

設定パネルの + レイヤーと − レイヤーボタンで、表示するレイヤーの入力の数を 1〜12 の範囲で変えられます。番号の大きい入力に接続したときも、数は自動で増えます。

ライブプレビュー

ベースの動画を接続すると、ノードにその動画の 1 フレームが表示され、レンダリング時と同じ位置にレイヤーが描かれます。

  • レイヤーを選ぶ:設定パネルのタイムラインで、レイヤーのバーをクリックします。プレビューはそのレイヤーの開始位置に移動し、その時点で表示されているレイヤーだけを表示します。
  • レイヤーをドラッグする:ドラッグで移動し、角のハンドルを引っ張ってサイズを変えます。ドラッグするたびに新しいパーセント値がレイヤーの設定に書き込まれるので、プレビューと実行では同じ数値が使われます。
  • 結果と結果(古い):実行が終わると、ノードに結果と表示されます。その後、レイヤーを動かしたり別の画像を接続したりして設定を変えると、もう一度実行するまで、ラベルは結果(古い)になります。

レイヤーの設定

設定パネルでは、各レイヤーに専用のカードがあり、レイヤー 1、レイヤー 2 などの見出しが付いています。

設定説明
開始(秒)レイヤーが表示される時点を、動画の先頭からの秒数で指定します。デフォルトは 0 です。
終了(秒)レイヤーが消える時点です。開始(秒)より後にする必要があります。空欄にすると、動画の最後までレイヤーが表示されます。
配置カード、コーナーバッジ、全画面、カスタムのいずれかです。接続したまま変更していないレイヤーは、動画全体を通して右下のコーナーバッジになります。
コーナーコーナーバッジ用です。左上、右上、左下、右下(デフォルト)のいずれかです。
アンカー、オフセット X、オフセット Y、幅、高さ(フレームに対する %、任意)、フィット(高さを指定した場合)カスタム用です。カスタムのボックスを参照してください。
レイヤーの順序(z)0〜100 です。値が大きいレイヤーほど上に描かれます。空欄の場合はレイヤー番号が使われるので、レイヤー 1 が最も下になります。プレビューの上下のボタンでも設定できます。
不透明度0〜100% です。デフォルトは 100% です。
表示・非表示をアニメーションデフォルトでオンです。レイヤーは 0.15 秒かけて、大きさを 96% から 100% に広げながらフェードインし、終了時にはその逆の動きをします。

配置

位置とサイズは、すべて出力フレームに対するパーセントです。

配置レイヤーの位置
カード中央揃えで、中心より 4% 上に置かれ、フレームの 78% × 60% の範囲内に収まります。画像のアスペクト比は保たれます。
コーナーバッジフレームの幅の 18% の大きさで、選んだ隅から 4% 内側に配置されます。
全画面フレーム全体を覆います。画像は、フレームを埋めるように切り抜かれます。
カスタム自分で指定したボックスです。

カードはフレームの中央に重なるため、9:16 の自撮り動画では話し手の顔の上に来ます。これは意図的なもので、話している人の上に商品カードがポップアップするようにしています。被写体を隠してはいけないロゴやバッジは、コーナーバッジかカスタムのボックスに配置します。

カスタムのボックス

  • アンカーは、フレーム上でレイヤーを固定する 9 つの位置のいずれかです。
  • オフセット X とオフセット Y は、レイヤーをアンカーから移動させます。範囲は、フレームの幅と高さの −100〜100% です。右または下のアンカーでは、オフセットを負の値にするとレイヤーが内側に移動します。
  • 幅は、フレームの幅の 1〜100% です。
  • 高さ(フレームに対する %、任意)は、フレームの高さの 1〜100% です。指定しない場合、高さは画像のアスペクト比に従います。
  • フィット(高さを指定した場合)は、画像でボックスをどう埋めるかを決めます。全体を収めるは、画像全体を中央に表示します。領域を埋めるは、ボックスを埋めるように画像を切り抜きます。

ボックスの項目を 1 つでも設定すると、プリセットの配置を使っているレイヤーはカスタムに変わります。プレビューでプリセットの配置のレイヤーをドラッグしたり、サイズを変えたりした場合も同じです。高さがアスペクト比に従う縦長の画像は、常にフレーム内に収まるように調整されます。たとえば、1080×1920 の動画で幅 60% に設定した 1:10 の画像は、192×1920 で描かれます。描画サイズは偶数ピクセルに切り下げられ、最小でも 2×2 です。

タイミングのルール

  • 時間は、動画の先頭からの秒数で、0〜3,600 です。入力した精度のまま保持されますが、レンダリングでは動画のフレームの区切りに合わせて配置されるため、レイヤーが最大 1 フレーム早く、または遅く表示されることがあります。
  • 終了(秒)が動画の終わりより後のレイヤーは、動画の終わりで切り詰められます。
  • 動画の終わりと同時か、それより後に始まるレイヤーはスキップされ、その画像はダウンロードされません。
  • 0.3 秒より短いレイヤーでは、フェードインとフェードアウトに、それぞれレイヤーの長さの半分が使われます。

パネルは、ブラウザーが読み取った長さを使って、切り詰められるレイヤーやスキップされるレイヤーについて入力中に警告します。この長さは、動画本来の長さと数百分の 1 秒ずれることがあるため、最終的な判断は実行時の警告に従ってください。

出力の設定

設定説明
出力のアスペクト比動画と同じ(デフォルト)、16:9(1920×1080)、9:16(1080×1920)、1:1(1080×1080)、4:5(1080×1350)のいずれかです。出力のアスペクト比を指定すると、レイヤーのパーセントはその新しいフレームに対する値になります。
動画のフィット出力のアスペクト比を指定した場合のみ。領域を埋める(デフォルト)は、フレームを埋めるように動画を切り抜きます。全体を収めるは、動画全体を表示し、余白を加えます。
余白の色全体を収めるの場合のみ。余白の色です。デフォルトは黒です。

出力のアスペクト比を指定しない場合、結果は動画本来の表示サイズとフレームレートを保ちます。横向きに保存されたスマートフォンのクリップは正しい向きでレンダリングされ、正方形でないピクセルは補正されます。また、奇数の寸法は偶数に切り下げられるため、1079×1919 の元動画は 1078×1918 でレンダリングされます。

結果は H.264 の MP4 で、ダウンロードが完了する前に再生を始められます。ベース動画のオーディオトラックは最初の 1 本だけが残り、オーディオのない動画は無音のままです。

制限

  • レイヤー:1 回の実行につき 1〜20 です。画像があるレイヤーが 20 を超えるノードは、実行前に拒否され、実行ボタンにその旨が表示されます。レイヤーを削除して 20 以下に戻してください。残ったレイヤーの番号は変わりません。レイヤーが知らないうちに除外されることはなく、料金もかかりません。
  • 画像:PNG、JPEG、WebP です。1 枚あたり 25 MB まで、合計 100 MB まで、長辺は 8,192 ピクセルまで、合計 400 メガピクセルまでです。カメラが記録した写真の向きが適用されます。
  • SVG は受け付けない:先に画像オーバーレイで SVG を PNG に変換してください。
  • アニメーション画像:アニメーション WebP や APNG などは、最初のフレームが表示されます。
  • ベースは動画であること:オーディオファイル、画像、.mp4 として保存された Web ページは、「The base input is not a video」というエラーで失敗します。
  • レンダリング時間:レンダリングは 10 分で停止します。
  • API のレート:ユーザーごとに 1 分あたり 30 リクエストまでです。

警告

実行が成功しても、警告が報告されることがあります。設定パネルでは、警告が前回の実行の 1 行にまとめて表示されます。

警告API コード意味
切り詰めclippedレイヤーの終了が動画の終わりより後だったため、動画の終わりまで表示されました。
スキップskippedレイヤーの開始が動画の終わりと同時か、それより後だったため、描画されませんでした。
アニメーション画像animated_first_frame画像がアニメーション WebP だったため、最初のフレームが使われました。
オーディオの再エンコードaudio_reencoded動画のオーディオをそのまま MP4 にコピーできなかったため、AAC に再エンコードされました。

すべてのレイヤーが動画の終わりより後に始まる場合は、警告ではなく実行が失敗し、「Every layer starts after the video ends」というメッセージが表示されます。レイヤーの画像をダウンロードできない場合も、実行は失敗します。たとえば「Layer 3: image could not be fetched」と表示されます。

クレジット

動画オーバーレイは、レイヤーの数や動画の長さにかかわらず、1 回の実行につき 20 クレジットです。失敗した実行には料金がかかりません。セルフホスティングの Community エディションにはクレジットがなく、ノードは API キーなしで実行できます。

例:話している人の上に商品カードを表示する

9:16 の自撮り動画に 3 枚の画像を重ね、話し手がそれぞれに触れている間に表示します。

レイヤー画像開始(秒)終了(秒)配置
1pricing-page.png1.22.6カード
2dashboard.png3.04.4カード
3logo.png0最後までコーナーバッジ、右上

1080×1920 の動画では、各カードのボックスは、(119, 307) の位置にある 842×1152 ピクセルの領域です。アスペクト比 1:2 のスクリーンショットは、その中の中央に 576×1152 ピクセルで描かれます。

API で同じリクエストを送る場合は、POST /v1/video-overlay を使います。

{
  "videoUrl": "https://example.com/selfie.mp4",
  "layers": [
    { "imageUrl": "https://example.com/pricing-page.png", "start": 1.2, "end": 2.6, "preset": "card" },
    { "imageUrl": "https://example.com/dashboard.png", "start": 3.0, "end": 4.4, "preset": "card" },
    { "imageUrl": "https://example.com/logo.png", "start": 0, "preset": "corner-badge", "corner": "top-right" }
  ]
}

AI アシスタントは overlay_images MCP ツールを使います。このツールでは、各レイヤーに url か asset_id を指定します。コマンドラインからは、nodaro media video-overlay を使います。

ヒント

  • カードは短く、重ならないようにする:カードの表示は 1〜2 秒にします。カード同士の表示時間が重ならないようにして、画面には一度に 1 枚だけを表示します。
  • 長く表示するレイヤーは隅に置く:長い時間表示し続けるロゴ、ハンドル名、価格は、話し手から離れたコーナーバッジかカスタムのボックスに配置します。
  • ロゴには透過 PNG を使う:不透明な JPEG は、長方形のまま配置されます。
  • 動画本来のフレームを保つ:出力のアスペクト比は、元の動画と異なるフレームが必要なときだけ設定します。
  • 先にカットする:ベースの動画を短くするには、動画オーバーレイの前に動画のトリミング(Trim Video)を使います。
  • 字幕は後から付ける:結果を字幕を追加(Add Captions)に接続します。レイヤーは字幕の下に表示されます。
  • バッジは先にデザインする:画像オーバーレイの結果をレイヤーの入力に接続すると、テキスト、QR コード、デザインしたバッジを動画に載せられます。

よくある質問

最終更新

目次