ビデオプロンプトステーション
人間が見るための絵コンテと、実行可能な生成リストの間には、翻訳という層があります。このスキルはその翻訳を行います。
生成するファイルは2つです:アセットリスト(どの画像を用意するか)と生成リスト(各セクションをどのように生成するか)。
これは、テーマの再選択、スクリプト構造の変更、コンテンツの良し悪しの判断は行いません。それらは上流の仕事です。また、直接画像や動画を生成することもなく、実行可能な形に言葉を整えるだけです。
一、五つの鉄則
最初に書いておきます。それぞれが特定の失敗パターンに対応しています。
- アセット優先。 番号がない限り、プロンプトを書いてはいけません。第3セクションで同じ製品が別のものになる根本原因は、ほとんどの場合アセットが確立されていないことです。
- 1つのビデオプロンプトは、1つの連続した瞬間のみを記述する。 シーンが変わったらセグメントを分割し、モデル自身にトランジションを任せてはいけません。
- 主体にはanchor phraseをそのまま使い回す。 同義語に置き換えることは、人物を変えることと同じです。
- 製品ソースを先に決めてから、プロンプトを書く。 実写や公式素材があればそれを優先します。ない場合はAI生成も可能ですが、形状、印刷、ロゴは明示的に固定します。パラメータや効能を主張するカットは、実写または公式素材のみを使用します。
- ビデオプロンプトは肯定的に記述し、画像プロンプトでのみ否定的なセクションを使用する。 これら2つの構文は互いに流用できません。
references/prompt-syntax.mdのセクション8を参照してください。
二、入力
必須
| 項目 | 出典 | 欠けている場合 |
|---|---|---|
| 絵コンテ | 企画書 セクション4、6列の短い表と各カットの詳細 | カット番号、数値の長さ、または重要な引き継ぎフィールドがない場合は拒否し、推測しない |
| 製品の正式名称と仕様 | 企画書 セクション1 | なければ質問し、それでも不明な場合は「確認中」とマーク |
| ターゲットモデル | ユーザー指定、デフォルトはSeedance | デフォルトで問題ないため、わざわざ質問する必要はない |
短い表の6列: カット番号 / 長さ(秒) / このカットの説明 / ナレーション / 画面テキスト / このカットの機能。詳細はカット番号ごとに、視聴者の認知 / 前提条件 / 重要な可視的事実 / 長さの意図を補足します。
オプション
- アスペクト比(デフォルト 9:16)、ビデオ解像度(デフォルト 480p、生成側と統一)
- 単一セグメントの長さの上限/下限(デフォルト 5–10 秒)
- オーディオの有無(必須でオン。ナレーションはモデルが直接読み上げるため、オフにすると音声がなくなります。空ショットであることが確定している場合のみオフにします)
2つの入口
| 入口 | 処理 |
|---|---|
| 標準入口 | 企画書のセクション4を読み、フィールドが揃っているため、直接ステップ3に進む |
| 緩やかな入口 | 外部のマークダウンテーブルのみ。まず解析し、結果をユーザーに表示して確認を求め、不足フィールドを指摘する |
緩やかな解析では、「これはグレードダウンした解析です。確認してください」と明示的に通知します。無言のエラーは、エラー報告よりも厄介です。
三、8つのステップ
1 表を読む → 2 画面化 → 3 アセットを抽出 → 4 セグメントに分割 → 5 最初のフレーム → 6 プロンプトを構成 → 7 リストを出力 → 8 自己チェック
ステップ1 · 表を読む
短い表と各カットの詳細をカット番号で対応付け、製品情報も併せて記憶します。このステップではチェックのみ行い、創作はしません。企画スキルがインストールされていれば、その scripts/check_plan.py --plan <企画書パス> を実行します。本スキルを単独でインストールしている場合は、入力フィールドリストに従って各カットをチェックします。旧式の5列テーブルで引き継ぎフィールドが欠けている場合は、補完するために戻します。
チェック項目は3つ:
- カット番号が連続しており、長さが正の値であること
- 各カットの長さが2~6秒であること(範囲外のものはマーク)
- 絵コンテに「このカットの説明」があり、ナレーションのみではないこと
ステップ2 · 画面化
これはこのスキルにおける唯一の創作ステップであり、最もスキップされやすいステップでもあります。
絵コンテは内容の説明(「なぜ外側は熱く内側は冷たいのかを説明する」)を提供しますが、プロンプトが必要とするのは映像です。各セグメントは、以下のフィールドを必ず補完しなければなりません:
| 項目 | 質問内容 | 例 |
|---|---|---|
| 主体 | 画面に何があるか | 白い陶器の弁当箱、開いた蓋 |
| 状態 | 主体の現在の状態 | 蓋が開いており、弁当箱は机の上にある |
| 動作 | 誰が何をしているか(1つの動作) | スプーンが中心から差し込まれる |
| 環境 | どこにあるか、周りに何があるか | オフィスデスク、背景に電子レンジ |
| 光 | 光はどこから来るか、色温度は | 上部からの暖かい白色光、左窓からの補光 |
| ショットサイズ | 画面の範囲はどの程度か | クローズアップ |
| カメラ位置/アングル | カメラは主体のどこにあるか | 机の高さ、正面から30度 |
| カメラワーク | どのように動くか(1つのみ選択) | 固定カメラ、ゆっくりとズームイン |
フィールドは全て必須です。 各セグメントのリストは、主体、状態、動作、環境、光、ショットサイズ、カメラ位置/アングル、カメラワークを明示的に記述しなければなりません。該当しない場合はその理由を記述します。不足がある場合は、まず自分で補い、それでも補えない場合はユーザーに質問します。空欄のままプロンプトに含めてはいけません。空欄があると、モデルは必ず自身で埋めてしまいます。
絵コンテ内の「重要な可視的事実」と「前提条件」は、生成リスト内でその着地点が明確に示されていなければなりません。それが最初のフレームの可視状態であるか、ビデオセグメント内で発生するアクションであるかを示します。プロセス型のアクションは、1枚の最初のフレームで開始、中間、終了を同時に表現することを要求してはいけません。
ステップ3 · アセットを抽出
references/assets.mdに従い、4つのことを行います: 番号付け、分割、ソースの決定、全体表の出力。
- 番号プレフィックス:
PR製品 /SCシーン /CH人物 /SP小道具 - リストに含める基準: 2つ以上のセグメントで参照されている、または一貫した同一性が要求されている
- ソースの3段階: 実写 / 公式素材(あれば使用)、AI生成(実写がない場合に使用、形状と印刷を固定)、後日補完
ステップ4 · セグメントに分割
3つの制約の共通部分を取ります:
- セグメント長 ≥ このセグメントの台詞の文字数 ÷ 4 文字/秒(モデルは中国語を約4~5文字/秒で読み上げます。低い方の値で計算します)
- 単一セグメントは5~10秒(モデルの上限は
prompt-syntax.mdを参照) - 1つのアクションにつき1セグメント
第1条で6.5ではなく4を使うのには理由があります: モデルは台詞を読む速度を上げたりはしません。後半を直接省略します。 楽観的な速度で分割されたセグメントは、生成時に文が欠落することになり、余分なセグメントを分割するよりはるかに厄介です。
単一セグメントの台詞は上限36文字です。超える場合はセグメントを分割し、文字数を詰め込もうとしてはなりません。
超長カットには延長+引き継ぎフレームを使用します。前のセグメントの最終フレームの画面状態を明確に記述し、「前のセグメントを引き継ぐ」といった抽象的な表現は避けます。
ステップ5 · 最初のフレーム
すべてのセグメントに最初のフレームが必要なわけではありません。感度に基づいて判断します:
| 最初のフレーム必須 | テキストからビデオ生成が可能 |
|---|---|
| 製品クローズアップ、手持ちアクション、ロゴまたはテキストの出現 | 空ショット、雰囲気、トランジション、ピュアな視覚効果 |
最初のフレーム画像は画像プロンプトを使用して記述します(assets.md セクション4、7つのモジュールを参照)。原則は「実際の製品をベースに + AIでシーン生成」です。
ステップ6 · プロンプトを構成
references/prompt-syntax.md の6ブロックに従って記述します:
[スタイルとアスペクト比] → [素材参照] → [主体の固定] → [タイムライン] → [ナレーション・音声] → [品質制約]
必ず記述する4つの要素: 単一のカメラワーク、Motion: リスト、台詞原文(スクリプト通り、一字一句変えずに)、No subtitles。
5つ目のブロックは現在、ナレーション自体を保持します。もはや独立したナレーション収録工程はなく、台詞はこのブロックを通じてモデルに渡されます。絵コンテのナレーション列は一字一句そのままコピーし、語気を示すマークや括弧書きの補足は追加せず、単語を変更してはいけません。変更すると、字幕が音声と一致しなくなります。
ステップ7 · リストを出力
2つのテンプレートを埋め、上流で指定されたディレクトリ(デフォルトは 02-アセットリスト.md、03-生成リスト.md)に出力します。
ステップ8 · 自己チェック
6項目をチェックします。スクリプトが実行可能な場合は実行します:
python scripts/check_gen_list.py --dir <制作ディレクトリ>
終了コード: 0 合格 / 2 致命的な項目あり / 3 ファイルが読み取れない
四、2つの成果物
アセットリスト(02-アセットリスト.md)
6列のテーブルで、その後に行ごとに画像プロンプトを添付します:
| 番号 | タイプ | 用途 | ソース | 参照するセグメント | ステータス |
|---|
- タイプ: 製品本体 / 製品詳細 / シーン / 人物 / 小道具
- ソース: 実写または公式素材 / AI生成 / 後日補完
- ステータス: 既存 / 画像生成待ち / 撮影待ち
生成リスト(03-生成リスト.md)
1枚の概要テーブル + セグメントごとの完全なプロンプト(プロンプトが長すぎるため、テーブルに収めると見づらくなります):
| セグメント番号 | カット番号 | 長さ | モード | 参照素材 | 最初のフレーム | 後処理項目 | 候補数 | 前提条件/主要事実 |
|---|
- モード: 最初と最後のフレーム / 参照画像 / テキストからビデオ
- 最初のフレーム:
S01_f01または「なし」 - 候補数: 推奨2~4
モードの3つの記述方法は、下流が選択するためのものであり、すべてのモデルがサポートしているわけではありません。 現在のKIE Seedanceは、テキストからビデオ、最初のフレーム、最初と最後のフレームの3つのモードのみを開いています。参照画像モードは最初のフレームモードにグレードダウンする必要があります。グレードダウンのルールは short-video-generate にあり、本スキルはそのまま記述すればよく、モデルに合わせて表現を変える必要はありません。
テーブルの下には、### S01 · カット 1–2 | 8s | 最初と最後のフレーム のように、セグメントごとに8つの画面フィールドと完全なプロンプト、および最初のフレームのソース、前提条件、後処理項目を記載します。
テンプレートは assets/ にあります。
五、自己チェック9項目
| # | チェック内容 | 不合格の場合 |
|---|---|---|
| 1 | 各セグメントにカット番号があり、余分なセグメントがない | ステップ4に戻って再分割 |
| 2 | 各セグメントの長さの合計と絵コンテの総尺の差が ≤1秒 | セグメント長を調整し、絵コンテは変更しない |
| 3 | リストで参照されているアセット番号がすべてアセットリストで定義されている | 定義を追加するか、参照を削除 |
| 4 | メインモードは一意: 最初と最後のフレーム と 参照画像 は混在しない | 全編で統一 |
| 5 | 製品カットのソースが明記されている; 主張があるカットは実写または公式素材を使用している | ステップ3に戻ってソースを変更 |
| 6 | 各ビデオプロンプトに、単一のカメラワーク、Motion:、No subtitles が含まれている | 各項目を補完 |
| 7 | 台詞のあるセグメントでは、ナレーションブロックが絵コンテのナレーションと一字一句一致している | セグメントごとに比較し、一文字の間違いでも修正する |
| 8 | 画面フィールドが全て揃っている | F8はセグメント内の「画面フィールド」テーブルの存在、フィールドの網羅性、値の有無のみをチェックし、散文キーワードから推測しない。主体、状態、動作、環境、光、ショットサイズ、カメラ位置/アングル、カメラワーク、前提条件/可視事実は全て記入必須。該当しない項目は理由を説明すること |
| 9 | 依存関係が伝達されている | 絵コンテの前提条件と重要な可視的事実が、最初のフレームまたはセグメント内のアクションにマッピングされている |
チェッカーF8は、概要テーブルに各セグメントの「前提条件/主要事実」が記入されていることのみを確認します。その内容が実際に最初のフレームやセグメント内のアクションで表現されていることを証明するものではありません。G2では、引き続き手動でセグメントごとにマッピングを確認する必要があります。
第4条の正確な表現: 最初と最後のフレームと参照画像は相互に排他的であり、テキストからビデオは主体のないカットにのみ使用する。 製品カットで2つのメインモードを混在させると、生成結果が繋がらなくなります。
第7条は今回新たに追加されたものであり、最も見落とされやすいものです。方法は原始的ですが効果的です: 絵コンテのナレーション列とリストのナレーションブロックを並べて、一字一句比較します。 句読点を一つ変えたり、同義語に置き換えたりすると、字幕もそれに合わせて変更する必要があります。そして字幕はステップS4で作成されます。その時点で発覚するのは遅すぎます。
ついでに2つのことを確認します: 各セグメントの台詞が36文字を超えていないか(超えているとモデルが読み飛ばします)、(笑) や [興奮] といった語気を示すマークが混入していないか(モデルはそのまま読み上げます)。
六、境界
- コンテンツを再構成しない: カット番号、順序、長さは上流から来るものであり、本スキルは構造を変更しない
- コンテンツの良し悪しを判断しない: テーマ選定、フック、構造の妥当性は上流の責務
- 直接生成しない: リストとプロンプトのみを出力し、画像生成は
short-video-assets、動画生成はshort-video-generateに委ねる - 一度の成功を約束しない: 生成は確率的なものであり、本スキルは「試す価値のある1本」の確率を高めることのみを保証する
- パラメータをそのまま転記しない: モデルパラメータは変更される可能性があるため、スキルで提供するのは原則と一般的な表現であり、具体的な値は公式ドキュメントを参照する
七、参考資料
| ファイル | いつ読むか |
|---|---|
references/prompt-syntax.md | ビデオプロンプト作成時; カメラワーク、タイムライン、素材参照の調整時 |
references/assets.md | アセット抽出、アセット画像と最初のフレーム画像のプロンプト作成時 |
references/consistency.md | 複数セグメント間で一致しない、製品が変形する、顔が一致しない場合 |
references/troubleshooting.md | 特定のセグメントが繰り返し生成されない場合 |
テンプレート: assets/asset-list-template.md、assets/gen-list-template.md
検証: scripts/check_gen_list.py