layer-motion-graphics について
Layerで動画生成とタイムライン編集を組み合わせるモーショングラフィックス向けスキルです。ロゴの形を固定フレームで保ち、文字はタイムライン項目として扱う方法を説明します。
主な機能
- 01固定フレームでロゴリビールを作成
- 02ループするロゴアニメーションを生成
- 03タイムラインのテキストで正確な文言を設定
- 04トランジションとカットで文字を動かす
- 05マスクと背景プレートを使用
活用シーン
- 01ブランドロゴのリビール制作
- 02ループするロゴアニメーション制作
- 03タイトル、ローワーサード、CTAの追加
- 04単語ごとのキネティックタイポグラフィ制作
MCP 対応
Layerのツールを使ったモデル選択、価格見積もり、生成、タイムライン描画、結果のポーリング方法を説明します。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ layerai/ skills --skill layer-motion-graphicsインストール後、Claude Code で/layer-motion-graphicsを入力して読み込まれたか確認します。
詳細
Layer のモーショングラフィックス
概要
Layer のモーショングラフィックスには、混同してはならない 2 種類の作業があります。動く画像(ロゴの組み立て、光を受けるエンブレムなど)は、動画モデルで生成します。文字は生成しません。動画モデルはスペルを間違え、フォントファイルを使えず、フレーム間でずれてしまうためです。文字はブランドフォントを設定し、render_video_timeline の編集でテキスト項目として追加します。
生成の仕組みについては layer スキル、モーションプロンプトについては layer-video を参照してください。タイムラインの組み立ての基本(カット、安全領域、音声の長さ)については layer-video-timeline、静止画に正確な文字を入れる方法については layer-typography を参照してください。1 つのモーションデザインを多くのバリエーションで再利用する場合は layer-motion-templates、色とテクスチャの仕上げを統一する場合は layer-video-looks を参照してください。
ここに記載されている関連スキルが利用可能なスキルにない場合は、ユーザーにインストールを依頼してください(npx skills add layerai/skills --skill <name>)。ユーザーが不在の場合は、ツールスキーマをもとに進め、不足していることを明記してください。
クイックリファレンス
| 作業 | 方法 |
|---|---|
| ロゴの出現演出 | image_to_video を使用し、正確なロゴを last_frame に、抽象的または空のプレートを first_frame に設定 |
| ロゴのアイドルループ | image_to_video を使用し、ロゴを first_frame と last_frame の両方に設定し、loop 機能を使用 |
| タイトル、ローワーサード、CTA | font_file_id を指定したタイムラインの text 項目を使用。プロンプトは使用しない |
| 出現・退場する文字 | 項目間のトランジション:slide、wipe、iris、clockWipe、flip、fade |
| 単語ごとのキネティックタイポグラフィ | 連続する text 項目を使い、各項目に 1 単語または 1 フレーズを設定し、start_frame で段階的に配置 |
| 画像の形状に沿った出現演出 | image または video 項目に mask を設定:circle、ellipse-horizontal、ellipse-vertical |
| 文字の背面に置くプレート | テキストの下に solid 項目を置くか、テキスト項目自体の background_color を設定 |
出現演出とループ:画像を生成し、フレームを固定する
出現演出は、視聴者が目にする最後のフレームを基準に評価されます。filter.use_case: "image_to_video" と filter.guidance_file_types: ["first_frame", "last_frame"] で list_base_models をフィルタリングし、最初の結果を選択して、再生時間とトリガーワードを get_base_model で確認します。正確なロゴファイルを last_frame として渡し、到達フレームがモデルの記憶によるロゴではなく、元のアートワークになるようにします。first_frame は出現演出の起点です。ブランドカラーの空のプレート、抽象的な図形、またはパーティクルを、既存の静止画か text_to_image を 1 回実行して作成し(layer-image)、出現演出のフレームに合わせて width と height を設定します。プロンプトでは「金色の破片が集まってエンブレムにはまり、最後に光が表面を走る」のようにトランジションだけを説明し、ロゴの文字は決して記述しないでください。
render_video_timeline は {workspace_id, template, videos, images, audios} を受け取ります。template は {width, height, fps, tracks: [{id, name, items, transitions}]} です。項目は {id, type, start_frame, duration_in_frames} に file_id または slot を加えたもので、任意で layout {left, top, width, height}、effects、クリップの先頭をトリミングする start_from_in_seconds、volume を指定できます。solid には color
{red, green, blue, alpha} を指定します。レンダリングは get_generation_run 用の generation_id を返します。
アイドルループでは、ロゴを first_frame と last_frame の両方に設定し、クリップを繰り返しても途切れないように loop 機能を持つモデルを使用します。動きを小さく(呼吸するような光彩、ゆっくり動くリムライトなど)保ち、マークが自身のシルエットからはみ出さないようにします。
効果音をビートに合わせる必要がある場合は、fixed_duration: true でフィルタリングしたモデルに duration_seconds を設定します。同じファイルを使用して estimate_forge_price で見積もり、その後実行し、poll_interval_seconds ごとに get_forge_run をポーリングしてください。
タイプ:設定してから、カットで動かします
タイムラインの text アイテムでは、text、font_file_id(アップロード済みの .ttf または .otf。ローカルフォントは
request_file_upload_url でアップロードします)または font_family、font_size、font_weight、letter_spacing、
line_height、text_align、color、stroke({color, width})、shadow({color, x, y, blur})、
background_color、およびコンポジションのピクセル単位で指定する layout ボックス {left, top, width, height} を指定します。
タイムラインにキーフレームはありません。アイテムの位置、不透明度、エフェクトは、その全期間にわたって維持されます。 モーションの演出方法は、次の2つだけです。
- トラックの
transitionsに設定するトランジション。各要素は{id, type, from_item_id, to_item_id, duration_in_frames, easing}です。slide、wipe、flipにはdirection(from-left、from-right、from-top、from-bottom)を設定します。easing: "spring"は、演出された動きらしいオーバーシュートを生み出します。登場にはease-out、退場にはease-inが適しています。トランジションは、同じトラック上の隣接する2つのアイテムをつなぐため、タイトルをスライドインさせるには、その前にsolidまたは空に見えるアイテムが必要です。 - 段階的なアイテム。キネティックタイポグラフィは、1つのトラック上に並べた
textアイテムで構成します。各アイテムは単語またはフレーズ1つ分とし、重なりがないようstart_frameを連続させます。ビートに合わせたハードカットはリズムを生み、短いfadeやwipeは流れを感じさせます。
タイトルをゆっくり押し出す動きや、文字の上を光が横切る動きなど、連続的な滑らかさが必要な表現は、タイムラインエフェクトではなく、文字を画像としてレンダリングした生成クリップで行います。行を render_text でレンダリングした後、静止画を image_to_video で両方のフレームとして使い、「光のスイープのみ、文字は変化させない」というプロンプトを指定してアニメーション化し、すべてのフレームで歪みがないか確認します。キーフレームで動かせると約束するのではなく、その制約を伝えてください。
読みやすさと配置
タイトルは、声に出して2回読むのにかかる時間以上表示します。その時間をテンプレートの fps に基づくフレーム数に換算してください。ローワーサードは、話者が画面に映っている間ずっと表示します。SNSプレーヤーは画面の上下に独自のUIを重ねるため、文字やロゴはフレームの端から十分に離して配置してください。余白を推測するのではなく、プラットフォームの最新のセーフエリア仕様を確認します。トラックは逆順に合成されるため、Track 1 が最前面になります。文字は最初のトラックに、プレートはその下に配置してください。
実例
「トレーラー用の4秒間のロゴ演出を作成し、その後、スタジオ名を示すローワーサードを表示します。」
- ロゴのPNGとブランドフォントはユーザーのマシン上にあります。両方を
request_file_upload_urlでアップロードします。 filter.use_case: "image_to_video"、filter.guidance_file_types: ["first_frame", "last_frame"]、およびfilter.capabilities: {fixed_duration: true}を指定してlist_base_modelsを実行します。最初の結果を選び、その再生時間をget_base_modelで確認します。- ブランドカラーの暗いプレートを
first_frameに、ロゴをlast_frameに設定し、duration_seconds: 4と、プロンプト「残り火が内側へ漂ってエンブレムに融合し、最後の0.5秒で光が一度だけ横切る。カメラは固定」を指定してestimate_forge_priceを実行します。20 CU を超える場合は、まず確認を取ります。 execute_forgeを実行し、get_forge_runをポーリングします。各出力の最終フレームをロゴファイルと見比べます。ロゴマークが変化しているものは却下します。- 30 fps のタイムラインを作成します。Track 1 には
solid(8フレーム)を配置し、その後にブランドフォントのtextアイテム「Studio Name」を配置します。これらをslideトランジションでつなぎ、direction: "from-left"、easing: "spring"、duration_in_frames: 12を指定します。Track 2 にはロゴ演出の動画アイテムを配置します。 - このテンプレートで
estimate_video_timeline_priceを実行した後、同じ引数でrender_video_timelineを実行し、get_generation_runをポーリングします。最初から最後まで通して確認します。
よくある間違い
- ロゴを
last_frameとして固定せず、ロゴの名前や文字を動画モデルに指示する。 - タイトル、テロップ、CTAの文言を動画として生成し、テキスト項目として設定しない。
- 1つのタイムライン項目にキーフレームでスライドや拡大縮小を設定できると期待する。モーションはトランジションまたは段階的な項目で表現します。
- トラック上に項目が1つしかなく、トランジション元がない。
- 項目を別々のトラックに重ねず、1つのトラック上で重ねる。
- タイトルが2回読む前にカットされる、またはプラットフォームのセーフエリア外に配置される。
- ロゴのシルエットが崩れるほど大きく動くロゴのループ。