動画編集
Nodaro の編集ツールで、AI アシスタントから動画のトリミング、結合、ループ、字幕付け、オーバーレイ、合成ができます。一部のツールは AI を使わずに動作し、クレジットがかかりません。
動画編集ツールは、生成したクリップを完成した動画に仕上げます。クリップのトリミング、結合、ループ、字幕付け、画像の重ね合わせ、サウンドの追加や差し替え、ナレーション付き動画の合成ができます。ほとんどのツールは、AI モデルではなく FFmpeg でレンダリングします。そのため、処理が速く、毎回同じ結果になり、クレジットはわずかしかかからないか、まったくかかりません。どのツールにも workflows:execute 権限が必要で、ジョブ ID を返します。
| ツール | 機能 | クレジット |
|---|---|---|
trim_video | 時間、フレーム、または最もきれいにループする位置でクリップをカットする | 長さに応じて、5 秒単位 |
combine_videos | トランジションまたはシームレスなスマートカットでクリップをつなぐ | 長さに応じて、5 秒単位 |
loop_video | クリップを指定した回数、または指定した長さまで繰り返す | 長さに応じて、5 秒単位 |
extract_frame | 1 フレームを画像として取り出す | 10 |
merge_video_audio | 動画にサウンドを追加する、または動画のサウンドを差し替える | 20 |
add_captions | 字幕や、単語ごとに表示される字幕を動画に焼き込む | 30。アニメーション字幕やスタイルを設定した字幕は 50 |
overlay_images | 指定した時間に、動画の上に画像を表示する | 20 |
still_to_video | 1 枚の画像と 1 本のオーディオトラックから動画を作る | 無料 |
slideshow | 2〜100 枚の画像と、任意のオーディオからスライドショーを作る | 無料 |
gif_to_video | アニメーション GIF を MP4 に変換する | 無料 |
assemble_narrated_video | 音声のブロックをそれぞれのクリップに合わせ、1 本のナレーション付き動画にまとめる | 基本料金に、6 ブロックごとに 1 段階を加算 |
trim_video
クリップをカットします。時間、フレーム、最もきれいにループする位置の 3 つのモードから 1 つを選びます。動画のトリミング(Trim Video)ノードと同じように動作します。
権限:workflows:execute。クレジット:出力するクリップの長さによって、5 秒単位で決まります。動画のトリミングノードと同じです。
| パラメーター | 型 | 説明 |
|---|---|---|
video_url or video_asset_id | string | 元のクリップです。 |
start_time, end_time | number | 時間で指定する場合に残す範囲で、単位は秒です。end_time は start_time より後にする必要があります。 |
trim_start_frames, trim_end_frames | integer | フレームで指定する場合に、先頭または末尾から削るフレーム数です。時間の指定より優先されます。VEO 3.1 の 24 fps のクリップのように、正確なフレームが重要な場合に便利です。 |
smart_loop_cut | boolean | 末尾のフレームのうち、フレーム 0 に最もよく一致するものを見つけてそこでカットし、きれいにループさせます。ほかのモードより優先されます。 |
smart_loop_cut_lookback | integer | 比較する末尾のフレーム数で、2〜64 です。デフォルトは 16 です。 |
silent | boolean | サウンドを削除します。デフォルトは false です。 |
戻り値:ジョブ ID です。スマートループカットでは、選ばれたフレームが output_data.smartLoopCut に記録されます。
combine_videos
2 本以上のクリップを、トランジションまたはシームレスなスマートカットで 1 本の動画につなぎます。動画を結合(Combine Videos)ノードと同じように動作します。
権限:workflows:execute。クレジット:出力の長さの見積もりによって、5 秒単位で決まります。動画を結合ノードと同じです。
| パラメーター | 型 | 説明 |
|---|---|---|
videos | array | 必須。2 本以上のクリップを、再生順に指定します。各クリップは { url } または { asset_id } です。 |
transition | string | クリップ間のトランジションです。たとえば cut、fade、dissolve、dip-to-black、wipe-left、slide-up、circle-open、pixelize、zoom-in です。ツールの定義には約 50 種類が記載されています。 |
transition_duration | number | 0〜5 秒です。 |
audio_mode | string | keep、crossfade、remove のいずれかです。 |
audio_crossfade_duration | number | サウンドだけのクロスフェードで、0〜5 秒です。映像は変わりません。デフォルトでは transition_duration に従います。 |
audio_crossfade_curve | string | crossfade の場合のカーブです。linear、equal-power、smooth、logarithmic、exponential のいずれかです。 |
smart_cut | boolean | 各クリップの最後の数フレームを次のクリップの最初の数フレームと比較し、一致する位置でカットします。前のクリップの最終フレームから生成したクリップなら、つなぎ目が見えません。Nodaro Cloud のみです。 |
smart_cut_mode | string | best-pair(デフォルト)、preroll-keep-prev、preroll-keep-next のいずれかです。重なった部分のどちら側を残すかを決めます。 |
smart_cut_frames_prev, smart_cut_frames_next | integer | 各クリップの末尾と先頭の探索範囲で、1〜24 フレームです。デフォルトは 8 です。 |
戻り値:ジョブ ID です。
loop_video
クリップを指定した回数、または指定した長さになるまで繰り返します。動画をループ(Loop Video)ノードと同じように動作します。
権限:workflows:execute。クレジット:出力の長さによって、5 秒単位で決まります。動画をループノードと同じです。
| パラメーター | 型 | 説明 |
|---|---|---|
mode | string | 必須。指定した数のコピーを並べるなら repeat、指定した長さまでループしてそこでトリミングするなら duration です。 |
video_url or video_asset_id | string | 元のクリップです。 |
repeat_count | integer | repeat の場合のコピー数で、2〜20 です。 |
target_duration | number | duration の場合の長さで、1〜300 秒です。 |
smart_cut_before_repeat | boolean | 繰り返す前に、クリップを最もきれいにループする位置までトリミングします。そのため、どの繰り返しでもつなぎ目が見えません。最初と最後のフレームから作った VEO 3.1 のクリップにおすすめです。 |
smart_cut_lookback | integer | 比較する末尾のフレーム数で、2〜64 です。デフォルトは 16 です。 |
戻り値:ジョブ ID です。
extract_frame
動画の 1 フレームを画像として取り出します。最初のフレーム、最後のフレーム、または指定した時間のフレームです。クリップの最後のフレームを次のクリップの最初のフレームとして使うと、ショットを連続させられます。フレームを抽出(Extract Frame)ノードと同じように動作します。
権限:workflows:execute。クレジット:10。
| パラメーター | 型 | 説明 |
|---|---|---|
video_url or video_asset_id | string | 元の動画です。 |
mode | string | first、last、timestamp のいずれかです。 |
time_seconds | number | 取り出すフレームの時間です。指定すると、timestamp モードとみなされます。 |
戻り値:ジョブ ID です。結果は画像です。
merge_video_audio
ナレーション、サウンドトラック、吹き替えなどのサウンドを動画に追加するか、動画のサウンドを差し替えます。動画とオーディオを結合(Merge Video & Audio)ノードと同じように動作します。
権限:workflows:execute。クレジット:20。
| パラメーター | 型 | 説明 |
|---|---|---|
video_url or video_asset_id | string | 動画です。 |
audio_url or audio_asset_id | string | 1 本のオーディオトラックです。 |
audio_tracks | array | 1 本の代わりに、複数のトラックを指定します。各トラックは { url, start_time, volume } で、動画の中で始まる時間(秒)と、0〜200 の音量を指定します。100 が元の音量です。 |
voiceover_volume | number | 新しいオーディオの音量で、0〜200 です。デフォルトは 100 です。 |
keep_original_audio | boolean | 新しいオーディオの下に、動画の元のサウンドを残します。デフォルトは true です。 |
background_volume | number | 動画の元のサウンドの音量で、0〜200 です。デフォルトは 30 です。 |
戻り値:ジョブ ID です。
add_captions
動画に字幕を焼き込みます。静的な字幕ブロック 1 つか、単語ごとにタイミングを合わせたアニメーション字幕です。字幕を追加(Add Captions)ノードと同じように動作します。すべてのスタイルとオプションは、そのノードのページで説明しています。
権限:workflows:execute。クレジット:プレーンな字幕は 30 です。アニメーションスタイル、またはスタイル設定のオプションを付けた字幕は 50 です。
| スタイル | 表示内容 |
|---|---|
subtitle(デフォルト) | 静的なブロックです。text を指定すると、そのテキストが動画全体にそのまま焼き込まれ、文字起こしで置き換えられることはありません。text を指定しない場合は、音声が字幕になります。 |
word-highlight, karaoke, bouncy | 1 行ずつ表示します。単語ごとにタイミングが合い、発話中の単語が強調されます。 |
tiktok-words | 数語ずつの短いページで表示します。1 ページが文の終わりや間をまたぐことはなく、表示時間は最長 1.5 秒です。 |
word-pop | 1 単語ずつ表示します。各単語は次の単語が始まるまで表示され、表示時間は最長 1.5 秒です。 |
| パラメーター | 型 | 説明 |
|---|---|---|
video_url or video_asset_id | string | 動画です。 |
style | string | 上のスタイルのいずれかです。デフォルトは subtitle です。 |
text | string | subtitle では、焼き込むテキストそのものです。アニメーションスタイルでは、文字起こしの結果が空の場合や、文字起こしがオフの場合に代わりに使われるだけです。 |
captions | array | 自分でタイミングを付けた単語です。1 単語につき 1 つの { text, startMs, endMs } を、ミリ秒で指定します。transcribe が返す形式と同じです。 |
auto_transcribe | boolean | 動画の音声を文字起こしして、単語のタイミングを合わせます。 |
transcribe_provider | string | incredibly-fast-whisper(デフォルト)、elevenlabs-stt、whisper のいずれかです。アニメーションスタイルには単語ごとのタイミングが必要です。そのため、文字起こしがタイミングの唯一の取得元である場合、whisper は拒否されます。 |
look | string | outline(Montserrat 900、大文字、黒い縁取り、発話中の単語は黄色)または clean です。指定しない場合、アニメーションスタイルでは outline、subtitle では clean になります。 |
font_family, font_size, font_weight, color, uppercase | 文字の書式です。Rubik、Heebo、Cairo、Tajawal は、ヘブライ語とアラビア語に対応しています。 | |
stroke_color, stroke_width, background_color | 縁取りと、背景のボックスです。 | |
position, position_y | bottom、top、center のいずれか、または高さに対するパーセントで表したブロックの中心位置です。65 前後にすると、顔の下、アプリのボタンの上に収まります。 | |
max_words_per_line | integer | 1 行あたり、または tiktok-words の 1 ページあたりの単語数で、1〜20 です。1 か 2 にすると、SNS 向けのインパクトのある見た目になります。指定しない場合は、幅に合わせます。word-pop には影響しません。 |
highlight_color, animate | アニメーションスタイル専用です。highlight_color は発話中の単語の色です。animate を false にすると、単語の動きが止まります。 | |
segments | array | 同じ動画の時間範囲ごとに、異なる設定を適用します。各範囲には、start_ms、end_ms、独自のオプション、必要に応じて独自のテキストを指定します。範囲が重なってはいけません。 |
スタイル設定のオプションは subtitle でも使えますが、スタイルを設定した字幕は、アニメーションスタイルの料金で請求されます。自分で修正した文字起こしを使うには、transcribe の単語を、1 単語につき 1 エントリーで captions に割り当てます。
戻り値:ジョブ ID です。
overlay_images
ロゴ、商品写真、スクリーンショット、カードなど、1〜20 枚の画像を、それぞれ指定した時間範囲だけ動画の上に表示します。AI モデルは使わず、動画のサウンドもそのまま残ります。動画オーバーレイ(Video Overlay)ノードと同じように動作します。
権限:workflows:execute。クレジット:Nodaro Cloud では 20。
| パラメーター | 型 | 説明 |
|---|---|---|
video_url or video_asset_id | string | ベースになる動画です。たとえば combine_videos の結果です。 |
layers | array | 必須。1〜20 個のレイヤーです。 |
output_aspect | string | 動画本来のサイズではなく、16:9、9:16、1:1、4:5 のキャンバスにレンダリングします。base_fit(デフォルトの cover、または contain)と background_color を合わせて指定します。 |
各レイヤーは、画像を url または asset_id で受け取ります。画像には、image_overlay の結果も使えます。レイヤーのフィールドは次のとおりです。
| レイヤーのフィールド | 説明 |
|---|---|
start, end | start は必須です。秒で表した時間範囲です。end を指定しない場合、レイヤーは動画の最後まで表示されます。 |
preset | card(中央に配置し、フレームの 78% × 60% に収める)、corner-badge(幅 18% で corner の近くに配置する。デフォルトは右下)、full-frame のいずれかです。 |
anchor, x, y, width, height, fit | image_overlay と同じパーセント単位で指定する、正確なボックスです。ボックスのフィールドは、プリセットより優先されます。どちらも指定しない場合、レイヤーはコーナーバッジになります。 |
opacity, animate, z_index | 不透明度、短いフェードとスケールによる表示と消去のアニメーション(デフォルトはオン)、重なり順です。 |
動画の終わりを越えるレイヤーはカットされるかスキップされ、アニメーション画像は最初のフレームだけが表示されます。どちらの場合も、ジョブの出力の warnings に記載されます。見つからないレイヤー ID は、何かが実行される前に、リスト内の位置とともに拒否されます。続けて字幕を付けるには、結果のジョブ ID を video_asset_id として add_captions に渡します。
戻り値:ジョブ ID です。
still_to_video
1 枚の画像と 1 本のオーディオトラックから動画を作ります。AI モデルを使わずに、ローカルでレンダリングします。動画の長さは、オーディオの長さとぴったり同じです。ナレーション付きのスライド、曲のカバーアート動画、長い編集の中の静止した場面などに使います。AI による動きが必要な場合は、animate_image を使ってください。静止画から動画(Still to Video)ノードと同じように動作します。
権限:workflows:execute。クレジット:無料。
| パラメーター | 型 | 説明 |
|---|---|---|
image_url or image_asset_id | string | 画像です。 |
audio_url or audio_asset_id | string | オーディオです。動画の長さは、このオーディオで決まります。 |
motion | string | none(デフォルト)、zoom-in、zoom-out、pan-left、pan-right、ken-burns のいずれかです。 |
intensity | integer | 動きの強さで、1〜10 です。デフォルトは 3 です。 |
resolution | string | 720p、1080p(デフォルト)、4K のいずれかです。動きを付けた 4K は、処理に時間がかかります。 |
aspect_ratio | string | 16:9(デフォルト)、9:16、1:1、4:3 のいずれかです。 |
fps | integer | 24 または 30(デフォルト)です。 |
fit, pad_color | string | cover(デフォルト。切り抜いて画面を埋める)または contain(pad_color の色で余白の帯を付ける。デフォルトは黒)です。 |
戻り値:ジョブ ID です。
slideshow
2〜100 枚の画像と、任意の 1 本のオーディオトラックから、スライドショー動画を作ります。AI モデルを使わずに、ローカルでレンダリングします。スライドショー(Slideshow)ノードと同じように動作します。
権限:workflows:execute。クレジット:無料。
| パラメーター | 型 | 説明 |
|---|---|---|
image_urls or image_asset_ids | array | 2〜100 枚の画像を、表示順に指定します。 |
audio_url or audio_asset_id | string | 任意です。オーディオがある場合、動画の長さはオーディオとぴったり同じになり、各スライドはその長さを均等に分け合います。 |
image_durations | array | 各スライドの秒数です。自動にする場合は null です。オーディオがある場合、合計が一致しなければ長さに合わせて伸縮され、その倍率がジョブの出力に記載されます。 |
per_image_duration | number | オーディオがない場合の、1 スライドあたりの秒数で、0.5〜60 です。デフォルトは 3 です。 |
transition, transition_duration | cut、fade、dissolve、dip-to-black、wipe-left などのトランジションと、その長さ(最大 5 秒)です。不明なトランジションは cut になります。 | |
motion, intensity | none、zoom-in、zoom-out、ken-burns、alternate(スライドごとにズームを切り替える)のいずれかと、1〜10 の強さです。 | |
resolution, aspect_ratio, fps, fit, pad_color | still_to_video と同じです。 |
画像が 1 枚の場合は、still_to_video を使います。画像と画像の間を AI で動かすには、animate_image を使います。
戻り値:ジョブ ID です。
gif_to_video
アニメーション GIF を H.264 の MP4 に変換します。AI モデルを使わずに、ローカルでレンダリングします。Seedance のように GIF を受け付けない動画モデルに、GIF をモーションのリファレンスとして渡すときに使います。GIF から動画(Gif to Video)ノードと同じように動作します。
権限:workflows:execute。クレジット:無料。
| パラメーター | 型 | 説明 |
|---|---|---|
gif_url or gif_asset_id | string | GIF です。 |
loop_to_minimum | boolean | 短い GIF を target_duration までループします。デフォルトは true です。きれいにループしない GIF は、代わりに順再生と逆再生を繰り返すため、映像が飛びません。 |
target_duration | number | ループの長さで、2〜8 秒です。デフォルトは 3 です。 |
interpolate | boolean | フレームを補間して、24 fps のなめらかな動きにします。デフォルトは true です。false にすると、GIF の元のタイミングが保たれます。 |
alpha_background | string | 透過 GIF の背景です。white(デフォルト)または black です。 |
戻り値:ジョブ ID です。1 フレームだけの GIF は、短い静止画のクリップになります。
assemble_narrated_video
クリップと音声を組にした、順番付きのブロックを、1 本のナレーション付き動画にまとめます。音声がクリップより短い場合、音声は中央に配置され、前後は無音になります。音声のほうが長い場合、クリップは上限まで再生速度を落として長さを合わせ、それでも足りなければ最後のフレームで静止します。音声がカットされることはありません。ナレーション付き動画を合成(Assemble Narrated Video)ノードと同じように動作します。
権限:workflows:execute。クレジット:基本料金に、6 ブロックごとに 1 段階を加えた料金です。ナレーション付き動画を合成ノードと同じです。
| パラメーター | 型 | 説明 |
|---|---|---|
blocks | array | 必須。再生順に並べた 1〜60 個のブロックです。各ブロックには、動画(video_url または video_asset_id)と、任意で音声(audio_url または audio_asset_id)を指定します。クリップにセリフが含まれていてはいけません。 |
voice_volume | number | 音声の音量(パーセント)で、0〜200 です。デフォルトは 100 です。 |
clip_audio_volume | number | 音声の下で流れる、クリップ自体のサウンドの音量で、0〜200 です。デフォルトは 40 です。 |
max_slowdown | number | 長い音声に合わせて、クリップをどこまで遅くできるかを表す値で、1〜2 です。デフォルトは 1.5 です。 |
trim_start_frames, trim_end_frames | integer | つなぎ目をシームレスにするために、2 番目以降のすべてのブロックの先頭と、最後より前のすべてのブロックの末尾から削るフレーム数です。最大 120 で、デフォルトは 0 です。 |
戻り値:ジョブ ID です。video-explainer レシピは、最後にこのツールを使います。コンテンツレシピを参照してください。
よくある質問
関連ページ
動画
字幕を追加
動画を結合
分析と編集リスト
コンテンツレシピ
最終更新