Codex 用 モーションクリエイティブプロデューサー
ソーシャルメディア向けの短いループモーションクリエイティブを作成します。デフォルトはコヒーレントなフレームバイフレームアクションループです。同じシーン、同じレイアウトで、小さなアクションの変化を速い速度で再生することで、ビデオのように見せます。
入力
以下があれば読み込みます:
context/brand-style.mdcontext/content-calendar.mdcontext/compliance-rules.mdcontext/asset-library.mdoutputs/captions/outputs/creatives/
出力フォルダ
以下に保存します:
outputs/motion/[motion-slug]/
以下を作成します:
motion-brief.md
storyboard.md
frame-prompts.md
frames/frame-001.png
frames/frame-002.png
frames/frame-003.png
loop.mp4
loop.gif
qa-checklist.md
モーションタイプ
以下から1つ選択します:
- コヒーレントシーンループ:湯気、泡、注ぎ、光、カメラドリフト、手の動き、商品の回転など、微妙な動きがある1つのシーン。
- フレームバイフレームアクションループ:ソースが注がれる、ピザが回転する、泡が上がる、手が入る、湯気が動く、飾りが落ちる、商品が回る、液体がグラスに満たされるなど、わずかに変化する、いくつかの非常に似通った生成/編集フレーム。
- ストップモーション商品シーン:同じ商品/シーンがフレーム間で少しずつずれる。
- キネティックタイプ:同じデザインでテキストの位置、強調、表示をアニメーション化する。
- アンビエントループ:湯気、光、テクスチャ、粒子、液体の動き、または背景の動き。
- ビフォーアフター:関連する2つの状態間の単純な遷移。
- カルーセル→モーション:各カルーセルスライドをタイミングフレームにします。ユーザーから依頼があった場合のみ使用します。
- プロモーションシーケンス:見出し、ベネフィット、CTAの順序。順序立てた広告がリクエストされた場合のみ使用します。
デフォルト仕様
以下を使用します:
尺:6秒
フレーム数:アクションループは8~18、微妙なシングルイメージループは24以上
FPS:ビデオ風アクションは8~12、意図的にカクカクさせるストップモーションは2~4
ループ:最終フレームは視覚的に最初のフレームに戻ること
フォーマット:ソーシャルアップロード用はMP4、プレビュー用はGIF
アスペクト比:1:1、4:5、または9:16
ワークフロー
- プラットフォーム、アスペクト比、尺、モーションタイプを確認する。
- モーションブリーフを作成する。
- フレームバイフレームのストーリーボードを作成する。
- 制作方法を選択する:
- フード/プロダクトモーションに最適:1つの要素だけが変化する、厳密に制御されたフレームシーケンスを生成または編集する。
- 軽いポリッシュに最適:1つの強力なベース画像を生成し、パン/ズーム/呼吸/テキスト移動を使用してプログラムによるモーションを作成する。
- カルーセルモーションに最適:リクエストがあった場合のみ、順序付けられたスライド画像を使用する。
- フレームを順序付けられたPNGとして保存する。
scripts/make_loop.pyを使用してMP4/GIFをアセンブルするか、scripts/make_subtle_loop.pyを使用して微妙なシングルイメージループを作成する。- ループの滑らかさ、テキスト、ブランド適合性、コンプライアンスをQAする。
重要なデフォルト
スライドショー、カルーセル→モーション、またはマルチシーン広告をユーザーが明示的に要求しない限り、異なるクリエイティブコンセプトをループさせないでください。
ほとんどのソーシャルモーション広告では、制御されたアクションループを使用します。以下を固定してください:
- 同じシーン
- 同じ被写体
- 同じレイアウト
- 同じテキスト
- 同じカラーグレード
- 同じカメラアングル
シーケンス全体で1つまたは2つのことだけを動かします:
- 湯気が上がる
- 商品が少し回転する
- 液体が注がれる、または泡立つ
- 光が変化する
- カメラがゆっくり押し込まれる
- 背景テクスチャが漂う
- テキストが優しくスケール、フェード、またはスライドする
良い例のパターン:
ピザ フレーム1:ソースボトルがピザの上に現れる
ピザ フレーム2:最初のソースの流れが現れる
ピザ フレーム3:ソースが中央付近に着地する
ピザ フレーム4:ソースの線が延びる
ピザ フレーム5:手がボトルをさらに傾ける
ピザ フレーム6:ソースが少し広がる
ピザ フレーム7:ソースの流れが細くなる
ピザ フレーム8:ボトルがフレームアウトし、ピザがほぼフレーム1の構図に戻る
フレームプロンプトパターン
1つのベースプロンプトを使用し、動作の詳細のみを変更します:
ベーススタイル:[ブランドスタイル、シーン、パレット、照明、カメラ]
固定要素:[一貫させなければならないもの]
フレームアクション:[このフレームの小さな動き]
テキスト:[正確なテキスト、またはなし]
制約:プロダクトの幻覚なし、偽のロゴなし、裏付けのない主張なし
実際の製品の場合は、ソース画像を使用し、製品の同一性を維持します。記憶からパッケージを生成しないでください。
アクションループプロンプトパターン
フレームバイフレーム生成の場合、ロックされた1つのベースプロンプトと、番号付きのフレームデルタを作成します:
ロックされたベースプロンプト
正方形1:1ソーシャルビデオフレーム。[シーン]。すべてのフレームで同じカメラアングル、同じ照明、同じ背景、同じ構図、同じ被写体の同一性、同じテキスト配置、同じカラーグレード。エディトリアル/フード/プロダクト広告スタイル。皿、テーブル、製品、小道具、タイポグラフィを変更しないでください。
フレームデルタ
フレーム001:[アクション開始]
フレーム002:[次の微小な動き]
フレーム003:[次の微小な動き]
...
フレーム012:[ループに近い位置]
各フレームが意図的に類似するようにフレームを生成/編集します。画像モデルがシーンを変更しすぎる場合は、プロンプトを減らし、ツールが許可する場合は前のフレームを次の編集のソース画像として使用します。
フレーム一貫性QA
以下の場合はフレームを拒否または再生成します:
- カメラアングルが変わる
- 皿/オブジェクトの形状が変わる
- テキストのスペルや位置が変わる
- 商品/パッケージの同一性が変わる
- 照明が急に変化する
- 背景の小道具が現れたり消えたりする
- 隣接するフレーム間でアクションが飛びすぎている
ルーピングルール
- カメラアングルを安定させる。
- フレームごとに1つまたは2つの視覚要素のみを変更する。
- 最終フレームをフレーム1に近づける。
- キネティックタイプ広告でない限り、フレームごとにテキストを変えない。
- 生成されたテキストを使用する場合は、すべてのフレームのすべての単語を検証する。
- ループは1つのビデオショットのように感じられるべきであり、異なる投稿のデッキのように感じられてはならない。
- 生成されたフレームに一貫性がない場合は、シングルイメージのサブトルループ方式に切り替える。
アセンブリ
バンドルスクリプトを使用します:
python scripts/make_loop.py --frames outputs/motion/[slug]/frames --output outputs/motion/[slug]/loop.mp4 --fps 2 --gif
python が利用できない場合は、存在すればバンドルされたCodex Pythonランタイムを使用します。
MP4エクスポートにはFFmpegまたはビデオエンコーディングをサポートするPythonランタイムが必要な場合があります。MP4エクスポートが利用できない場合は、順序付けられたフレームとGIFプレビューを生成し、MP4エクスポートはローカルのビデオツールに依存していることをメモします。
1枚の画像から微妙なビデオ風モーションを作成する場合:
python scripts/make_subtle_loop.py --input hero.png --output loop.gif --frames 24 --fps 8 --effect breathe
これは、穏やかなアニメーション投稿で十分な場合にのみ使用します。フード/プロダクトアクションには、制御されたフレームシーケンスを優先します。
QAチェックリスト
qa-checklist.md を作成します:
# モーションクリエイティブ QA
- [ ] 正しいアスペクト比
- [ ] MP4がエクスポートされている
- [ ] リクエストされていればGIFプレビューがエクスポートされている
- [ ] ループが最初のフレームにきれいに戻る
- [ ] テキストが単語単位でチェックされている
- [ ] ブランドパレットとトーンが一致している
- [ ] 商品/ソースアセットが保持されている
- [ ] 裏付けのない主張がない
- [ ] 不快なちらつきがない
- [ ] キャプション/公開ハンドオフがリンクされている