layer-video について
layer-videoは、Layerでの動画生成を案内するスキルです。テキストや既存フレームから制作する際の動きを中心としたプロンプト、機能選択、尺、音声、ループ、複数ショットの編集を説明します。
主な機能
- 01テキスト生成、画像からの動画化、延長、編集の選択
- 02被写体の動き、カメラ、速度を指定するプロンプト
- 03尺、音声、リップシンク、ループ機能による絞り込み
- 04始点と終点のフレームによるショットやループの制御
- 05複数ショットの生成と編集の計画
活用シーン
- 01承認済みの静止画をショットとして動かす
- 02指定尺やループ対応の動画クリップ生成
- 03広告、予告編、カットシーンの複数ショット計画
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ layerai/ skills --skill layer-videoインストール後、Claude Code で/layer-videoを入力して読み込まれたか確認します。
詳細
レイヤー動画生成
概要
動画モデルにとってプロンプトは、イラストレーターへの依頼書ではなく、監督に渡すショットリストのようなものです。動画プロンプトでは、クリップ全体を通して何が変化するかを説明します。シーンの説明だけのプロンプトでは、アーティファクトが漂うほぼ静止した画像になりがちです。これはここで最もよく起きる失敗です。
まずユースケースを選びます。何もない状態から作るなら text_to_video、既存のフレームに動きを付けるなら image_to_video、クリップを続けるなら video_extend、変更するなら video_editing です。反復とコストのゲートについては layer スキルを参照してください。完成したクリップを1つの成果物にまとめる場合は layer-video-timeline を使います。
ここで名前が挙がっている関連スキルが利用可能なスキルにない場合は、ユーザーにインストールを依頼してください(npx skills add layerai/skills --skill <name>)。無人で処理を進める場合は、ツールのスキーマに基づいて作業を進め、不足している点を明示してください。
画像がある場合は必ず基準にする
すでに見た目が承認されている場合は、ほとんどの場合 text_to_video より image_to_video が適しています。最初のフレームでキャラクターデザイン、配色、構図が決まるため、モデルは被写体を一から作り直すのではなく、動きの生成に能力を使えます。モデルが受け付ける形式に応じて、静止画を init_image または first_frame として添付します。モデルが first_frame と last_frame の両方を受け付ける場合、両方を指定するのがショットの終わりを制御する最も確実な方法です。
layer-image でキーフレームを生成して承認を得てから、アニメーション化します。
動きの記述
次の3つを、この順番で指定します。
- 被写体の動き:何が、どの方向に、どの速さで動くか。「突風で旗がぴんと張り、その後落ち着く」はショットです。「旗」は写真です。
- カメラ:固定、ゆっくり寄る、周回、手持ちの揺れ、クレーンダウンなどです。カメラを動かしてはいけない場合は、「カメラ固定」と指定します。モデルはデフォルトで動きを加えるためです。
- 速度:ゆっくり、慎重に、突然、クリップ全体を通じて徐々に、などです。指定しないと、モデルは中間的なペースを選び、どちらともつかない印象になります。
モデルファミリーによって記述の慣習が異なるため、別のファミリーでうまくいった表現を使い回さず、選択したモデルの get_base_model を確認してください。モデルが構造化された video_effects(ORBIT_360 や DOLLY_IN などの大文字の type と、任意の 0~100 の weight を持つエントリー)を提供している場合は、同じ動きを文章で説明するより、そちらを優先してください。これはモデルの調整に使われたパラメーターです。
尺、音声、リップシンク
クリップの長さはモデルごとに異なり、通常は数秒程度です。モデルが対応していることを確認せずに、30秒の作品を1回の生成で作ろうとしないでください。
モデルによっては長さを独自に決め、duration_seconds を完全に無視します。クリップを正確な長さにする必要がある場合は、こうしたモデルを除外する fixed_duration で絞り込んでください。指定しないと、モデルが異なる長さのクリップを返す場合がありますが、レスポンスにエラーとして示されることはありません。
クリップに後から無音を修正するのではなく、ネイティブの音声が必要な場合は、機能としての generate_audio で絞り込んでください。lipsync はキャラクターの台詞に使う別の機能です。filter.capabilities は名前のリストではなく、ブール値を持つオブジェクトです:{generate_audio: true}。
動画の実行は画像より厳しいレート制限の対象です。ユーザー1人あたり1分間に60回まで生成でき、そのうち動画は最大30回です。
マルチショット作品
広告、予告編、カットシーンは複数のショットで構成されます。組み立てる前に、まずモデルが全体を1回の生成でレンダリングできるか確認してください。1回の生成では連続性が保たれますが、組み立てでは保たれないためです。組み立てが本当に必要な場合は、次の手順で進めます。
- 承認済みの静止画1枚で見た目を固定します。
- その静止画と一貫性のあるフレームを使い、各ショットを
image_to_videoで生成します。 layer-video-timelineでショットをつなぎ合わせます。
ショットが3つを超える場合は、先に絵コンテを作成してください。layer-art-direction を参照してください。
ループ
まず loop 機能で絞り込みます。これにより、単にループを描写するのではなく、継ぎ目のないループを構成するモデルを選べます。プロンプトに「looping」という単語を入れると、カットで映像が飛ぶクリップを返すモデルとは異なります。ループの長さを指定する必要がある場合は、fixed_duration と組み合わせます。
それができない場合は、基準となるフレームを生成し、モデルが first_frame と last_frame の両方を受け付けるなら、同じフレームを両方に指定します。そうすれば、少なくとも動きが開始位置に戻ります。
いずれの場合も、旗が風になびく、たいまつの炎が揺らめく、ホバリング中の待機動作など、本質的に循環する動きにします。キャラクターがフレームの外へ歩いていくような一方向の動きは避けてください。どれだけプロンプトを工夫してもループにはできません。
実例
「承認済みのキャラクターのキーフレームを、5 秒の待機ループにアニメーション化してください。」
- このフレームは前回の実行ですでに作成されているため、
file_idがあります。 - これをシームレスにループさせ、長さを 5 秒にする必要があるため、
filter.use_case: "image_to_video"とfilter.capabilities: {loop: true, fixed_duration: true}を指定してlist_base_modelsを実行します。最初の結果を選び、続けてget_base_modelを実行して、last_frameと構造化されたvideo_effectsを受け付けるか確認します。 - 動きだけをプロンプトで指定します。「キャラクターがゆっくり呼吸し、軽いそよ風でマントが揺れ、両足の間で体重がわずかに移動します。カメラは固定。穏やかで途切れのない動きにし、クリップの最後までポーズを変えないでください。」
- ループを閉じるため、同じファイルを
first_frameとlast_frameに指定します。 - 見積もりを行います。動画は画像よりかなり高価なので、20 CU を超えて明示的な承認が必要になることがよくあります。
- 実行し、
poll_interval_seconds間隔でポーリングします。ループと呼ぶ前に、最後から最初へ再生して継ぎ目を確認します。
よくある間違い
- 動きではなくシーンをプロンプトで指定し、その後、モデルが「ほとんど動かなかった」と報告する。
- 承認済みの静止画がすでにあるのに
text_to_videoを使う。 - カメラの指定を省き、モデルがデフォルトで加えた揺れに後から対処する。
- モデルが
video_effectsを提供しているのに、カメラの動きを文章で説明する。 - モデルの長さの上限を確認せず、長い映像を 1 本のクリップとして計画する。
- 音声をネイティブに生成できるモデルなのに、後から追加できると思い込む。
loop機能で絞り込まず、ループするようプロンプトで指定する。- クリップの長さを正確に指定する必要があるのに、
fixed_durationを有効にしない。 - 継ぎ目を確認せずに、クリップをループと呼ぶ。