layer-video-direction について
layer-video-direction は、Layer で生成する動画ショットのカメラ移動、構図、レンズ、照明、動作のタイミングを計画するスキルです。個々のショットを演出するクリエイター向けに、カメラの意図を絞り、動作の進行を整理します。
主な機能
- 01モデル対応の構造化カメラ移動を選択
- 02構図、レンズ、照明の指定
- 03クリップ尺に合わせた動作の設計
- 04映画技法のリファレンスセット検索
- 05モデルへの適用可否の確認
活用シーン
- 01ヒーローショットのカメラ移動を設計
- 02演技中にカメラを固定
- 03短いクリップ内で人物の反応を演出
- 04指定した撮影スタイルの技法を検索
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ layerai/ skills --skill layer-video-directionインストール後、Claude Code で/layer-video-directionを入力して読み込まれたか確認します。
詳細
Layer Video Direction
概要
よく演出されたワンショットです。生成したショットには、予測可能な問題が起こります。カメラが固定されるべき場面で動いてしまう、2つの動きがぶつかる、アクションが最初の1秒に詰め込まれる、あるいは間延びして何も起こらない、といった問題です。演出とは、生成前にカメラの動き、被写体の動き、それぞれにかける時間を決めることです。
生成ループと支出のゲートについてはlayerスキル、静止画を基準にする方法、ループ、ドラフトについては
layer-videoを参照してください。複数のショットにわたってキャラクターとセットを維持する方法については
layer-video-continuityを参照してください。
ここに記載されている関連スキルが利用可能なスキルにない場合は、ユーザーにインストールを依頼してください
(npx skills add layerai/skills --skill <name>)。無人で進める場合は、ツールのスキーマに基づいて作業し、不足している点を明記してください。
クイックリファレンス
| 目的 | 方法 |
|---|---|
| 標準的なカメラワークを指定する | get_base_modelに記載されているタイプを使って、video_effects: [{type, weight}]を指定します |
| カメラを動かさない | 対応している場合はvideo_effects: [{type: "STATIC"}]を指定し、プロンプトに「固定カメラ」と記述します |
| 名前のある映画撮影技法を指定する | list_reference_setsにfilter.categoryを指定し、その結果をreference_setsとして渡します |
| クリップの長さを正確に指定する | capabilities: {fixed_duration: true}で絞り込んだモデルで、duration_secondsを指定します |
| 構造化されたカメラワークに対応するモデル | list_base_modelsにcapabilities: {video_effects: true}を指定します |
video_effectsのタイプは大文字です。GENERAL、ORBIT_360、DOLLY_IN、DOLLY_OUT、ZOOM_IN、
ZOOM_OUT、CRANE_UP、CRANE_DOWN、TILT_UP、TILT_DOWN、STATIC、FPV_DRONE、HYPERLAPSE、
HANDHELDがあります。対応状況はモデルごとに異なるため、選ぶ前にget_base_modelを確認してください。weightは0から
100までの値です。モデルのデフォルトの強さを使う場合は指定せず、動きが被写体を圧倒する場合は値を下げてください。
1ショットにつき1つの動き
1つのショットにカメラワークのアイデアを1つだけ持たせます。オービットしながらプッシュインし、さらにティルトするような動きは不具合のように見えます。モデルは、複雑な動きよりも、明確な動き1つのほうがはるかにうまく扱えます。シーンに2つの動きが必要なら、ショットも2つに分けます。
同じ動きを文章で指定するより、構造化されたエフェクトを優先してください。その動きに対してモデルが受け取る入力はエフェクトです。モデルに該当するエフェクトがない場合は、カメラ用語を使ってプロンプトに記述し(「彼女の顔に向かってゆっくりプッシュインする」「カメラがクレーンアップして街を映し出す」など)、プロンプトの残りは被写体についての記述にしてください。
勢いではなく、動きが何を伝えるかで選んでください。
- プッシュイン(ドリーイン):高まる緊張感、細部や顔へと絞られていく注目。
- プルアウト(ドリーアウト):広がりや孤立感を映し出します。
- オービット:主役、武器、製品を見せる動きです。ドラマというより、対象を見せる印象になります。
- クレーンアップ:登場や終わりを表します。クレーンダウンはシーンを落ち着かせます。
- ハンドヘルド:切迫感と臨場感を表します。落ち着いた場面や、正確に見せる必要があるものには向きません。
- 静止:演技やコメディに適しています。アクションそのものをショットの中心にできます。
ドリーズーム(めまい効果)は、プッシュインと逆方向のズームを組み合わせたもので、DOLLY_INではありません。これにはcamera_movementセットを使うか、プロンプトに両方の動きを記述してください。
レンズ、フレーミング、照明
これらは制作現場で使う用語で一度プロンプトに記述し、シーン全体を通して統一してください。
- フレーミング:エクストリームワイド、ワイド、ミディアム、クローズアップ、エクストリームクローズアップ。目線の高さ、ローアングル、ハイアングル、真上から。
- レンズ:空間を広く見せ、画面の端で歪みが出る広角レンズ。奥行きを圧縮し、背景を柔らかく見せる望遠レンズ。
- 照明:キーライトの方向と質(左からの真昼の強い日差し、柔らかな曇天の光、低い位置から当たる暖色のバックライトなど)、および時間帯。光の指定がないショットでは、均一で平坦なデフォルトの照明になります。
テクニックプリセット
Layer には、カメラの動き、アングル、フレーミング、レンズ、ライティング、構図、雰囲気、ジャンルのルック、光学効果または視覚効果、タイミングまたは演技をまとめたテクニックのリファレンスセットが用意されています。filter.category に camera_movement、camera_angle、camera_framing、camera_lens、scene_lighting、scene_composition、scene_atmosphere、time_and_motion、genre_look、optical_effect、visual_effect、character_performance のいずれかを設定して list_reference_sets で検索し、ユーザーが指定したテクニックを filter.fulltext に追加します。選んだセットは reference_sets: [{set_id}] として渡します。セットをハードコードしないでください。カタログはワークスペースごとに異なります。
推定結果の reference_set_contributions を確認します。画像モデルにカメラセットを指定すると skipped_irrelevant_category が返されます。また、セットを適用できないモデルでは、どのセットも効果が低下する場合があります。reference_sets_degraded が true の場合は、適用されなかったセットとその理由を伝え、適用済みとして報告しないでください。
クリップに合わせたテンポ
クリップは短いため、アクションのタイミングを長さに合わせます。何がいつ起こるかを指定します。「最初の1秒は静止し、その後カメラの方を鋭く向き、残りはその反応を映す」のようにします。タイミングを指定しないと、モデルはアクションを均等に配置してスローモーションのように見せたり、冒頭に詰め込んで残りを無駄なフレームにしたりします。
duration_seconds は最大値ではなく、展開に合わせて設定します。長さが重要な場合は fixed_duration で絞り込みます。この機能がないモデルは独自の長さを選び、エラーを出さずに指定を無視します。
演技では、展開に原因と反応を持たせます。「ドアの音を聞いて彼女は動きを止め、それからゆっくり振り返る」のようにします。感情を表す言葉だけ(「彼女は怯えているように見える」)では、演技ではなく表情を維持する映像になります。
使用例
「予告編用に、メカの印象的なヒーローショットを5秒で。ゆっくりと威圧的に、ドリーズームのような雰囲気で。」
- 承認済みのメカの静止画には
file_idがあります。アップロードは不要です。 filter.use_case: "image_to_video"とfilter.capabilities: {fixed_duration: true}を指定してlist_base_modelsを呼び出します。最初の結果を選び、get_base_modelでそのモデルのvideo_effectsのタイプと長さを確認します。filter.category: "camera_movement"と、ユーザーが指定したテクニックをfilter.fulltextに指定してlist_reference_setsを呼び出します。使用する前に、該当するセットをユーザーに提示します。- プロンプト:「ローアングル、広角レンズ。メカは最初の1秒は静止し、その後ゆっくりカメラの方へ頭を向け、バイザーが光る。強いローキーのバックライト、空気中に舞うほこり。」
- 静止画を
{file_id, type: "first_frame"}として、duration_seconds: 5およびreference_sets: [{set_id}]を指定してestimate_forge_priceを呼び出します。適用状況のレポートを確認します。このモデルでセットの効果が低下している場合は、base_model_idを指定せずに再推定して、適用可能なモデルをサーバーに選ばせるか、最も近いvideo_effectsタイプを代わりに使用します。20 CU を超える場合は、ユーザーに確認を求め、明示的な承認を待ちます。 - 実行し、
poll_interval_secondsの間隔でget_forge_runをポーリングして、セットが適用されたかどうかを報告します。
よくある間違い
- 1つのショットに2つまたは3つのカメラの動きを含める。
- モデルが
video_effectsタイプとして扱う動きを、文章で説明する。 video_effectsを{type, weight}オブジェクトではなく、文字列のリストとして渡す。- カメラの指定を省き、モデルが加える視点のずれをそのまま受け入れる。
- 別のワークスペースのテクニックセットの ID や名前をハードコードする。
- 適用状況のレポートを確認せずに、テクニックセットが適用されたと報告する。
- タイミングを指定した展開ではなく、感情を表す言葉だけを使う。
fixed_durationのないモデルに正確な長さを要求する。