Communitygithub.com

lhaovo/short-video-skills

ビデオ生成のための素材準備ツール。アセットリストから図生成・一貫性検証・ファイル出力までを行い、AI生成・実写・公式素材の3ソースに対応。

short-video-skills とは?

このスキルは、ショートビデオ生成の前段階として、アセットリスト(または絵コンテ)から実際に使用可能な画像素材を準備するための包括的なワークフローを提供します。主な役割は「同じものを全ての画像で一貫して表現すること」にあり、生成された画像はshort-video-generateコマンドで最初のフレームとして直接参照できるよう、番号付きでファイルに保存されます。アセットを「アンカー/派生/使い捨て」の3段階に分類し、優先順位を付けて効率的に生産。実写、AI生成、公式素材の3つのソースに対応し、実写を強制しません。7ステップの処理フロー(リスト読み込み→順序決定→レベル分類→候補生成→検収→保存→ステータス更新)を通じて、バージョン管理と一貫性検証を自動化します。これにより、AIエージェント(Claude Code等)はユーザーの「素材準備」「アセット図生成」「役割の三面図」などの指示に対し、画像生成・検収・ファイル出力までを一貫して実行できます。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/lhaovo/short-video-skills/tree/HEAD/short-video-assets

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

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

ドキュメント

アセット準備台

動画生成が機能するかどうかは、このステップにかかっています。解決する問題は一つだけ:同じものをすべての画像で同じものにすること。

入力はアセットリスト(または絵コンテ)、出力は番号で命名され、short-video-generate が最初のフレームとして直接参照できる画像群です。

絵コンテは書きません。セグメントは切りません。動画のプロンプトは書きません。動画も生成しません。「画像」の部分だけを担当します。


一、四つの鉄則

  1. まずアンカー、次に派生物。 マスターテンプレートが決まるまでは、アングル図を作成しないでください。アングル図はマスターから派生するものです。マスターが間違っていれば、グループ全体が間違えます。
  2. 一度に変更する変数は一つだけ。 アングルを変えるなら照明は変えず、照明を変えるならアングルは変えません。両方を同時に変更すると、問題が発生したときに原因を特定できません。
  3. 候補は追加のみ、上書き禁止。 v1、v2 は共存させ、選択されたバージョンを作業指示書に記録します。生成は確率的です。古いバージョンを削除することは、逃げ道をなくすことと同じです。
  4. 画像とリストは完全に一致している必要があります。 番号がファイル名です。リストに PR-01 があれば、ディレクトリに PR-01_* が存在しなければなりません。

二、アセットの三段階

すべての画像に同じ労力をかける価値はありません。まずレベル分けし、それからリソースを配分します。

レベル定義例要件
アンカーレベル作品全体のアイデンティティの基準。複数の箇所で参照される。製品メイン画像、キャラクター三面図、メインシーン全景最も厳格:複数候補、項目ごとの検収、決定後の変更禁止
派生レベルアンカーから生まれたアングル、状態、詳細。製品背面、開封状態、手元のクローズアップアンカーと並べて比較する必要がある
使い捨て一度だけ出現し、一貫性に影響しない。空ショット、光エフェクト、トランジション素材使えればそれで良し。複数候補は不要

レベル分けを誤ると無駄が生じます: 空ショットをアンカーレベルで処理すると、30秒の動画で3日間も詰まる可能性があります。製品メイン画像を使い捨てで処理すると、後続のすべてのセグメントでやり直しが必要になります。


三、ソース:三つとも使用可、用途に応じて選択

ソース使用タイミング注意点
実写実物があり、正確さが必要で、パラメータや効果が関係する場合。最も良いが、素材が必要。
AI生成実物がない場合、架空のシーン、雰囲気、手の部分。形状とロゴを固定する必要がある。複数候補を生成する。
公式素材ブランドから提供されたメイン画像やパッケージ画像。そのままアンカーとして使用可能。最も安定。

実写は強制しません。 完全にAIで生成された動画の場合、アセット全体をAIで作成しても問題ありません。ただし、内部で一貫性が保たれている必要があります。

事前に明確にしておくべきリスク

この動画で視聴者に具体的なパラメータや効果(容量、持続時間、成分、効果など)を主張する場合、画面に表示される製品がAI生成だと、画面と主張内容が一致しません。軽ければコメントで指摘され、重ければ虚偽表示になります。

対処方法は一つだけ:主張がある場合は、製品画像に実写または公式素材を使用する。主張がなく、純粋な雰囲気や架空の内容の場合は、AI生成で十分。

この点は作業開始前に一度確認するだけで済みます。完成してから気付かないようにしましょう。

AI生成の実行方法

付属の scripts/kie_gen.py(KIE GPT Image 2)を使用して、送信、ポーリング、ダウンロード、命名保存を一度に行います。

# テキストから画像生成(解像度を指定しない場合は 1K、十分です)
python scripts/kie_gen.py generate --prompt "…" --ratio 9:16 \
  --out 04-素材/01-アセット図/PR-01_製品メイン画像_v1.png

# 画像から画像生成:アンカーを参照として使用
python scripts/kie_gen.py generate --prompt "…" --ref PR-01_製品メイン画像_v1.png \
  --out 04-素材/01-アセット図/S01_f01_v1.png

# バッチ:JSONタスクファイルを読み込む(デフォルト5並列)
python scripts/kie_gen.py batch --tasks tasks.json --out-dir 04-素材/01-アセット図 --dry-run
python scripts/kie_gen.py batch --tasks tasks.json --out-dir 04-素材/01-アセット図

解像度はデフォルトで 1K です。これらの画像は最終的に動画モデルによってリサンプリングされるため、元画像を大きくしても詳細は保持されず、失敗率が上がるだけです。個別に拡大・切り抜き(サムネイル用)や白背景のマスターテンプレートとして再利用する場合のみ、--resolution 2K を追加してください。

バッチはデフォルトで 5枚同時実行 します。画像生成には10~40秒かかるため、6枚を直列で実行すると3~4分の待ち時間になります。5並列で6枚実行すると、合計時間は最も遅い1枚の時間に1ラウンド分を加えた程度です。レート制限(code != 200 または 429)が発生した場合は --concurrency 2 を使用してください。レート制限のためにプロンプトを変更しないでください。

4つのルール:

  1. まず --dry-run でリクエスト本文を確認してから、実際に実行する。一度に20枚のバッチを送信して、パラメータが間違っていると20回の無駄になる。
  2. APIキーは環境変数 KIE_API_KEY のみで管理し、スクリプト、タスクファイル、作業指示書には記述しない。
  3. まずアンカーを出力してスタイルを確認 してから、派生物をバッチ生成する。アンカーレベルのアセットは、並列数を減らして1枚ずつ確認することを推奨。
  4. taskIdを記録 し、作業指示書に残す。後で同じ画像を再生成する必要がある場合に参照できる。

書き方、パラメータ制限、障害対応の詳細は references/ai-generation.md を参照してください。


四、7ステップの流れ

1 リスト読み込み → 2 順序決定 → 3 レベル分類 → 4 候補生成 → 5 検収 → 6 保存 → 7 ステータス更新

ステップ1・リスト読み込み

02-アセットリスト.md から、番号、タイプ、用途、ソース、参照セグメントを読み取ります。

リストに画像プロンプトがない場合は、references/prompt-fixups.md の4つのカテゴリのテンプレートを使用して補完します。すでにある場合は、そのまま使用し、書き直さないでください。

ステップ2・生産順序の決定

アンカーレベル → 派生レベル → 使い捨て

同じレベル内では、参照される回数が多い順に並べます。参照が多いアセットほど、やり直しが発生した場合に影響を受けるセグメントが多くなるからです。

複数のセグメントで再利用され、空間的な連続性が重要な場所については、必要に応じて2層のアセットに分割します。

  1. 空間構造マスターテンプレート:人物や動作なし。床/壁の素材、ショーウィンドウと建築ブロック、固定の背景構造、空間の奥行き関係、およびシーン内のメイン光源の発生源とおおまかな方向を固定。特定のカメラ位置、ショットサイズ、人物、一時的な小道具は固定しない。
  2. カメラ位置サブテンプレート:同じ空間から、実際に使用する正面全景、サイドからの近景、俯瞰、低アングルまたはクローズアップなどの空ショットを派生。最初のフレームは対応するカメラ位置サブテンプレートから派生させ、全編で同じパースペクティブと構図が継承されるのを防ぐ。

各空間では、実際に使用するアングルのみを作成します。固定枚数は強制しません。照明の方向は空間的な連続性を保ちますが、正午/夕方などの照明バリエーションは、ストーリーが時間帯をまたぐかどうかに応じて決定します。基本マスターテンプレートには、不要な強い時間帯の特徴を焼き付けないようにします。まず代表的なカメラ位置を並べて検収し、その後バッチで最初のフレームを派生させます。

ステップ3・レベル分類

各番号にレベル(アンカー/派生/使い捨て)を割り当て、作業指示書に記録します。このステップは1分で完了しますが、後続の候補生成にかける工数を決定します。

ステップ4・候補生成

レベル候補数説明
アンカーレベル4–61枚を選んで決定版とし、残りは予備として保持
派生レベル2–3アンカーと比較して選択
使い捨て1–2使えればOK

画像生成前に、以下の3点を確認します:アスペクト比は正しいか、背景は正しいか(白背景かシーンか)、不要な要素(テキスト、ウォーターマーク、手)はないか。

AI生成を使用する場合は、まず --dry-run でパラメータを確認し、アンカー→派生の順に送信します。1バッチあたり4~6枚。

ステップ5・検収

references/acceptance.md の7項目を1つずつ確認します。7項目中6項目をクリアすれば合格。重要な項目(形状、ロゴ)をクリアできない場合は、直接差し戻します。

ステップ6・保存

04-素材/01-アセット図/
├── PR-01_製品メイン画像_v1.png
├── PR-01_製品メイン画像_v2.png   ← 予備、削除しない
├── SC-01_オフィスデスク_v1.png
└── CH-01_女性の手_v1.png

命名形式:<番号>_<用途>_v<N>.<ext>。番号はリストと一致させ(ステータスサフィックスA/Bは保持)、用途は2~8文字、アンダースコアで細分化可能、バージョンはインクリメント。

ステップ7・ステータス更新

リストのステータスを「あり/予備あり/補充待ち」に更新し、作業指示書に選択されたバージョンを記録します。ステータスを更新しなければ、次のステップでどのバージョンを参照すべきか分からなくなります。


五、一貫性の確保方法

同じ番号の複数の画像は、以下の4つの方法で整合性を保ちます。

  1. 同じ主体の説明:アンカーのプロンプトからコピーし、変更しない。
  2. 同じ照明位置:メインライトの方向と色温度を固定し、派生画像では照明を変更しない。
  3. 同じアスペクト比と背景:白背景ならすべて白背景に、シーンならすべてシーンに。
  4. 並べて比較:2枚の画像を左右に並べて、形状、色、ロゴ、比率を確認する。

並べて比較することが最も効果的な方法です。 1枚だけ見るとすべて正しく見えても、並べてみると、カップの口が2ミリ広かったり、ロゴの位置が1段ずれていたりすることがあります。

詳細は references/acceptance.md を参照してください。


六、自己チェック(スクリプト実行可能)

python scripts/check_assets.py --dir <制作ディレクトリ>

5つの判定基準:

#判定基準レベル
A1リスト内のすべての番号に対応するファイルが存在する致命的
A2ファイル名が <番号>_<用途>_v<N> の形式に従っている致命的
A3ディレクトリ内にリストにない孤立ファイルがない警告
A4各画像の解像度が短辺720px以上警告
A5アンカーレベルのアセットの候補数が2以上警告

終了コード:0 合格 / 2 致命的な項目あり / 3 ディレクトリを読み取れない。


七、境界

  • 絵コンテは書きません:アセットの要件は絵コンテとリストから取得し、自ら内容を変更しません。
  • 動画のプロンプトは書きません:それは上流の作業です。本スキルは画像プロンプトのみを補完します。
  • 動画は生成しません:静止画像のみを処理します。
  • 判断を代替しません:検収基準は提供しますが、「この画像を使用できるかどうか」は最終的に人間が判断します。
  • 一度で正しく生成されることを保証しません:生成は確率的です。本スキルが保証するのは「候補があること、検収があること、バージョンがあること」です。

八、参考資料

ファイル参照タイミング
references/production.md順序決定、レベル分類、候補生成、保存、ステータス更新時
references/acceptance.md検収、並べて比較、差し戻し時
references/prompt-fixups.mdリストにプロンプトがない場合、または特定の画像が何度生成しても期待通りにならない場合
references/ai-generation.mdAI生成使用時:パラメータ、書き方、バッチ、障害対応
assets/asset-production-sheet.md作業開始前の作業指示書作成、納品時のステータス更新
assets/batch-tasks-example.jsonバッチ生成用タスクファイルのサンプル
scripts/kie_gen.py送信、ポーリング、ダウンロード、命名保存
scripts/check_assets.py納品前に実行

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

lhaovo/short-video-skills

一条短视频从策划到发布的流程总控:建制作目录、依次走「剧本分镜 → 提示词 → 生成 → 交付 → 发布」五段、每段设门禁、记录流程状态、支持跨会话续做。当用户要开一条新片子、问「下一步做什么」、想接着做某条没做完的片子、要把分镜变成提示词、要整理素材与成片、要准备发布包时使用。本技能只规定流程、目录与产物标准,不重复各环节的写作规范。

lhaovo/short-video-skills

把已过 G2 的生成清单落成真实视频片段——按段建 KIE Seedance 任务、轮询、下载、媒体体检、抽帧质检、听声核台词,并把每段的状态与请求指纹写进生成台账。三种模式互斥(文生 / 首帧图生 / 首尾帧图生)。旁白由模型直接念,台词照稿写进提示词,不走独立 TTS 配音。当用户提到视频生成、出片段、跑 Seedance、首帧图生、首尾帧、原生音频、台词念错、任务查询、片段下载、生成失败重试时使用。只管「把已定的画面和台词变成成段素材」,不重新设计视觉、不改台词文本、不做字幕、不做剪辑。

lhaovo/short-video-skills

把「我想拍点什么」变成一条想清楚的片子——先定主题(出 5 个候选、标明类型、给出推荐与淘汰理由),再定结构与分段剧本,最后切成镜头级内容分镜。支持两种入口:一句话主题(需要发散选题)与已有拆解剧本(跳过选题,先问复刻需求与复刻强度再判定改写)。当用户提到选题、定主题、短视频策划、写剧本、写大纲、分镜、镜头脚本、不知道拍什么、内容怎么排、科普干货、剧情软广、钩子怎么写、复刻别人的剧本时使用。只管内容层(讲什么、怎么讲),不碰执行层;内置的内容红线只防明显自伤,不替代合规审查。

lhaovo/short-video-skills

把已定稿的分镜表翻成可直接执行的两份清单——资产清单(要准备哪些图、每张图的图像提示词)与生成清单(每段视频的时长、模式、素材引用与提示词)。覆盖画面化、资产编号、切分生成单元、Seedance 视频提示词写法、首帧方案、一致性与失败诊断。当用户说「把分镜变成提示词」「写视频提示词」「这条片子要哪些图」「生成清单」「某个镜头生成不出来」时使用。只做翻译与清单,不重新编排内容,不直接出图出片。

関連スキル