Communitygithub.com

0xnirlin/ziztu-cinematic-depth

AI画像・動画に奥行きレイヤー(柔らかな前景、くっきり被写体、霞む背景)を付与し、平坦なフレームを修正します。H3、Seedance、Kling、FLUX、GPT Image、Nano Banana向けのプロンプトを生成。

ziztu-cinematic-depth とは?

このスキルは、AI画像・動画モデルが生成するフレームに「映画的な奥行き」を与えるための体系的なフレームワークです。前景・中景・背景の3プレーンを明確に定義し、それぞれに距離、シャープネス、トーンを設定することで、単なる平面的な構図から脱却します。従来の「シネマティック」「ボケ味」といった曖昧なプロンプトでは得られない、空気感のあるレイヤードショットを実現します。H3 Max Turbo、Seedance、Kling、FLUX、GPT Image、Nano Banana、Midjourney、Nijiなど主要なAI映像・画像モデルに対応し、各モデル固有の書き方(例:H3ではプロンプト拡張モードを無効化)にも対応。プロンプトが平坦かどうかを機械的にチェックする `scripts/depth_check.py` スクリプトも備え、スコアリングによる客観的な品質評価が可能です。劇作家向けのZiztuプラットフォームとの連携も想定しており、マイクロドラマ制作において場所ごとに「深度キット」を定義して一貫性を保つ使い方も提示しています。

対応✓Claude Code✓Codex CLI~Cursor
npx skills add https://github.com/0xnirlin/ziztu/tree/HEAD/skills/ziztu-cinematic-depth

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

シネマティック深度(Cinematic Depth)

映像が映画的に見えるのは、視線がその中を旅できるときです。つまり、端に近くて柔らかなもの、中間距離で鋭く明るい被写体、背後で青白く柔らかに広がる場所、そしてそれらの層の間に漂う空気。AI画像・動画モデルは、単体ではこれをほとんど実現しません。このスキルは、その深度をプロンプトに書き込み、プロンプトやフレームの平坦さをチェックし、平坦なショットを修正します。

これは、奥行き演出における5つの古典的なルールに基づいています。前景・中景・背景、異なる物体ではなく異なる距離、層の間の空間、被写体よりも低コントラストな遠景、層を分離するわずかな霞やほこり。その上に、AI動画に必要な要素を追加します。どの面がシャープか、レンズ、分離光と色、視差のあるカメラワーク、背景のストーリー、モデルがレイヤードショットを壊す方法。H3 Max Turboで同じスクリプト、モデル、設定、シードを使って横並びでテスト済み。スキルありではすべてのショットがレイヤー化されて戻ってきましたが、スキルなしではクリップは背景ボケの顔アップに後退しました。

AIのフレームが平坦になる理由

モデルはそのまま放置すると、被写体を中央、レンズに対して正面に配置し、フレームに平行な壁や背景の前に置きます。光は均一で正面から当たり、すべてが同じシャープネスで、背景はペイントされた平面的なものとして読まれます。プロンプトがそれを悪化させます。オブジェクトを列挙する(「ミキサーと男性がいるパン屋の女性」)ものの、それぞれがどれだけ離れているかを決して言わないため、モデルは3つすべてを1つの平面上に並べて配置します。「シネマティック」「被写界深度」「ボケ」のような汎用的な単語もあまり役に立ちません。中央のポートレートの背後にボケた背景を与えるだけであり、それでも2つの面がくっついたままです。

修正方法は、すべての面にそれぞれ独自のオブジェクト、距離、シャープネス、トーンを与え、それらの間に目に見える空間を残すことです。

深度スタック:すべてのショットにこれを書く

面レンズからの距離そこに置くものピントトーンフレーム内の位置
前景0.3〜1.5 m1つの単純なオブジェクト、または肩の後ろ側で、部分的にだけフレーム内に収めるもの:グラス、ドア枠、葉、ランプ、手すり、聞き手の肩ソフト、ピンぼけ(インサートカットでのみシャープ)最も暗く、低ディテール、しばしば半シルエット端または隅:下3分の1、または左または右6分の1。顔にはかからない
被写体(中景)2〜4 m(会話は2〜2.5 m)人物とアクション、ショットの理由シャープ最も明るく、最もコントラストが高く、最も強い色3分割線上、目がクリア、頭上の余白15〜25%
背景6 m〜地平線場所、光源、可能であればストーリー要素よりソフトに低コントラスト。屋外では明るく霞み、屋内では暗くまたは明るい窓。より寒色または彩度低めフレームの背後を満たし、奥行きへと向かう線がある

面の間には、さらに2つを書きます。

  • 隙間:面の間の開いた床、テーブルの長さ、道路、砂浜。これがないと層が1つの面に融合します。あると目が距離を測ります。
  • 空気:被写体と背景の間の、かすかな霞、光線中のほこり、湯気、霧、雨、煙。空気は遠くのものを青白く見せ、目がそれを距離として読み取り、被写体の輪郭を浮かび上がらせます。

ショットは意図的に面を省略することがあります。クローズアップは前景を省けますし、インサートカットでは前景が被写体になります。その場合、残った面がピント、光、空気で深度を担い、その旨をプロンプトで明示します。

11のルールと、それぞれが機能する理由

最初の5つは古典的な演出ルールです。

  1. ケーキのように層にする。 前景、被写体、背景をそれぞれ独自の文で指定する。名前のない面は描かれません。
  2. 異なる物体ではなく、異なる距離。 3つのものを横に並べても平坦です。各面にメートル単位の距離、または関係性(「彼女の2メートル後ろ」「部屋の奥」)を与えます。
  3. 層の間に空間を残す。 隙間(床、テーブル、道路)を名前で指定し、前景のグラスが手に成長するように面が融合しないようにします。
  4. 遠景は被写体よりも低コントラストに保つ。 目はコントラストを近さとして読むため、高コントラストの背景は前に飛び出します。屋外では、距離が物を青白く、柔らかく、青くするか、ゴールデンアワーには暖かくします。これが空気遠近法です。
  5. わずかなほこりや霞が被写体と背景を分離する。 軽く保ち、被写体の背後に配置します。被写体の前の霞は顔を洗い流します。

残りはAI動画にも必要なものです。

  1. どの面がシャープかを言う。 ピントは深度の手がかりであり、ポインターでもあり、シャープな面が見る人の視線を集めます。「浅い被写界深度」だけでは汎用的なポートレートボケになります。「前景のグラスと遠くのスカイラインはソフトに、ミアはシャープフォーカスに」と書きましょう。
  2. 望む深度に合わせてレンズを選ぶ。
    • 広角、18〜28 mm:面間の距離を引き伸ばす。ワイドショットや奥行き演出に使い、顔から1.5 m以内では使わない。
    • 標準、35〜50 mm:会話シーン。
    • 望遠、85〜135 mm、後方から撮影:面を圧縮し背景を溶かす。これにより近くの顔が孤立します。
  3. ピントだけでなく、光と色で分離する。
    • リムライトや逆光が被写体の輪郭を描く。
    • 異なる深度の実用的な光源(部屋の奥へと続くランプ、ストリングライト)が距離をマークする。
    • 暖色の被写体と寒色の背景、またはその逆は、すべてがシャープでも面を分割する。
  4. 動画では、カメラを動かして層が異なる速度で動くようにする。 前景オブジェクトを通り過ぎるトラック、ドリー、アーク、ペデスタル、クレーンは、動きの中で最も強力な深度手がかりである視差を生み出す。ズームはすべての面を一緒に拡大し平坦化する。固定ショットには、動く面を1つ必要とする。湯気、後方を通り過ぎる人物、カーテン、雨。
  5. 背景にストーリーの仕事をさせる。 戸口の目撃者、到着するライバル、時計、隣のテーブルのリングボックス。奥行き演出は、視聴者に同時に2つのものを読ませ、セリフなしで劇的アイロニーを生み出す。ラックフォーカスは、正確なビートで一方の面から他方へ注意を移す。
  6. 顔を安全に保つ。
    • 前景は顔やアクションを横切らない。
    • 話す顔は中距離の被写体面に留める。背景の小さな顔はAI動画でドリフトするため、話さず、ショットのポイントにもしない。
    • すべての人物をすべての面で名前指定する。動画モデルは伝えられていない人物を落とし、伝えた人物をでっち上げる。

プロンプトに書き込む

画像またはキーフレームの場合、面ごとに1文を前から後ろへ書き、次に空気と光を書きます。

<ショットサイズ>、<アングル>、<レンズ>、<距離>から。 前景:<オブジェクト>、ピンぼけ、フレームの<端>。中景:<被写体とアクション>、シャープフォーカス、<被写体への光>。背景:<場所、光源、ストーリー要素>、よりソフトで低コントラスト。<空気>が<被写体>と<背景>の間に漂う。<キーライト、リムライト、色分離>。

動画の場合は、視差を生み出す1つのカメラムーブを追加し、各面で何が動くかを言います。

カメラは小さな振幅で低速で右にトラックし、前景のグラスが左端をミアよりも速く滑り、スカイラインはほとんど動かない。

スタックはショットの説明の中、モデルが構図を読む場所に保持します。複数ショットの動画プロンプト(H3の[Shot N]、SeedanceのShot N:)では、各ショットに独自の短いスタックを与え、冒頭で1つの文を共有しないでください。

例:同じアイデアの平坦版とレイヤー版

平坦版(ほとんどのプロンプトが書かれるように):

夜のレストランのテーブルで言い争う女性と男性、シネマティック、被写界深度、4k。

レイヤー版:

ミディアムワイドツーショット、アイレベル、35 mm、3 mから。前景:隣のテーブルの半分空のワイングラスとキャンドル、ピンぼけ、左下隅。中景:ミア、29歳、銅色のカールを低いおだんごにまとめ、エメラルドグリーンのシルクドレス、白いクロスのテーブルに向かって身を乗り出す、ダミアン、31歳、チャコールグレーのスーツの方を向く。両者シャープフォーカス、2人の間のキャンドルで暖かく照らされる。背景:屋上テラスが遠ざかり、ストリングライトと夕暮れのかすんだ街のスカイラインへと続く、よりソフトで低コントラスト。白いジャケットのウェイターが遠くのドアの横で待つ、小さくソフトに。彼らの背後に薄い霞がかかる。冷たい青の夕暮れのリムライトが、暖かいテラスに映えるミアの髪の輪郭を描く。

2つ目のプロンプトは、すべての面にモノ、距離、シャープネス、トーンを与えています。また、背景に小さなストーリー要素(ウェイター)を与えており、後でビートを担うことができます。

プロンプトまたはフレームのチェック(平坦テスト)

プロンプトを送信する前、または生成されたフレームをレビューするときに、次の質問に答えてください。

  1. 3つの面を名前指定できますか? できない場合、フレームは平坦です。
  2. それらは異なる距離にありますか? 横並びではなく、それらの間に見える床、地面、テーブルがありますか?
  3. 被写体が最もシャープで最もコントラストが高いものですか? 目を細めて見てください。被写体が最も目立つ塊であるべきです。
  4. 背景は被写体よりも低コントラストで、ソフトまたは霞んでいますか?
  5. 分離ツール(リムライト、霞、色コントラスト、ピント)はありますか?
  6. 前景が顔やアクションを横切っていますか?
  7. 動画の場合、カメラムーブは視差を生み出していますか? ズームはカウントされません。
  8. すべての面の全員が名前指定されていますか? 群衆には人数とアクションが指定されていますか?

プロンプトを機械的にチェックするには、python3 scripts/depth_check.py <ファイル>(動画プロンプトの場合は--videoを追加)を実行します。[Shot N]マーカーを読み取り、各ショットについて3面、距離、ピント、トーンと空気、分離光、レンズ、視差ムーブ、否定語、前景が顔を隠すリスク、名前のない背景群衆をチェックします。各ショットを10点満点でスコアリングし、前景も背景も名前指定されていないショットをFLATと判定します。スコアは目安であり、最終判断ではありません。フレーム自体が最終的な判断を下します。

平坦なフレームの修正

最も安価なものから順に、次の手順を試してください。

  1. 端に前景を追加する:会話シーンでは聞き手の肩、ドア枠、グラス、葉、手すり。
  2. 背景を後ろに押しやる:距離を書き、後退する線(廊下、道路、ランプの列)とその前の隙間を追加する。
  3. 空気とトーンを追加する:被写体の背後に薄い霞、より青白い背景、より暗い前景。
  4. リムライトまたは色の分割を追加し、どの面がシャープかを指定する。
  5. 動画の場合、ズームや固定カメラを前景を通り過ぎるトラックやドリーに置き換える。
  6. 被写体をレンズに対して15〜30度回転させ、2人目の人物を横ではなく、フレームの奥に配置する。

画像から動画へのクリップの最初のフレームが平坦な場合、モーションプロンプトではなくフレームを修正してください。動画は最初のフレームの構図を保持します。

モデルがレイヤードショットをどのように処理するか

各モデル用のペースト可能なテンプレートはreferences/model-templates.mdにあります。簡単にまとめると:

  • H3 Max Turbo:各[Shot N]内にスタックを配置し、距離をメートル単位で指定し、すべての面のすべての人物に名前を付けます。カメラタイプ、振幅、速度を使用します(「低速、小振幅で左にトラック」)。prompt_expansion_modeをdisabledに設定しないと、リライトが面を削除します。背景の人物には役割とアクションを与え、小さくソフトにします。
  • SeedanceおよびKling:肯定文のみ、Shot N:行ごとに1つのスタック、視差ムーブを平易な言葉で指定します。
  • FLUX、GPT Image、Nano Bananaキーフレーム:面ごとの文をよく理解します。レンズと距離を指定し、「フレーム上3分の1に顔をフォーカス」という言葉は避けてください。カメラを近づけすぎます。
  • MidjourneyおよびNiji:ショットと面でリードし、--arを続けます。Nijiはレイヤードアニメ言語(前景セル層、キャラクター層、ペイント背景)をよく読み取ります。

references/depth-recipes.mdには、一般的な状況(会話のツーショット、オーバーザショルダー、シングルクローズアップ、ラックフォーカスによる背景の開示、屋外ワイド、ドア越しの室内、窓光、夜の通り、歩きながらの会話、インサートカット、パーティー、車内、アニメのマルチプレーン)用のレディメイドレシピが用意されています。ショットに合ったレシピを先に読んでから書き始めてください。

Ziztuでの作業

  • マイクロドラマ:Ziztuマイクロドラマライタースキル(ziztu-micro-drama)と併用する場合、各定常的な場所に、一度だけ深度キット(固定前景ピース、演技エリア、背景とその光)をバイブルで定義し、その後その場所のすべてのショットでそれを再利用します。これにより、深度と場所の両方の一貫性が保たれます。フックとクリフハンガーは深度内で演出します。多くの場合、背景に明かしが含まれます。
  • Ziztuでの制作(https://getziztu.com):Ziztuはショットを計画し、各ショットの最初のフレームを作成し、アニメーション化します。H3 Max Turbo、Seedance 2.5、Kling 3、FLUX 3 Max、GPT Image 2.5、Nano Banana、Seedreamを実行するため、ここでのテンプレートをそのままプロンプトボックスに貼り付けられます。ディレクターに「すべてのショットにレイヤー深度:ソフトな前景、シャープな被写体、霞む背景」と依頼してください。モーションに支払う前に平坦テストで最初のフレームを確認してください。動画は最初のフレームの構図を保持するからです。
  • アニメ:マルチプレーンで考えます。パンでは前景セル層がキャラクター層よりも速く滑り、ペイント背景の上を動きます。
  • アプリをZiztuに接続する:Claude Code claude mcp add --transport http ziztu https://getziztu.com/mcp;claude.aiおよびClaude Desktop:カスタマイズ、コネクタ、カスタムコネクタの追加、https://getziztu.com/mcp;Codex codex mcp add ziztu --url https://getziztu.com/mcp。

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

関連スキル