AI Coding Video:コードで動画を作るスタイルライブラリ
内容とメンテナンス方法は README.md を参照。このファイルはAIアシスタントがどのように参照・使用するかについて説明します。
いつ使うか
- ユーザーが動画のスタイルを決めたい、または「どんなスタイルがあるか/Xに適したスタイルはどれか」と尋ねたとき。
- スタイルの説明文が必要で、それを使ってビジュアルプロンプトを作成したり、直接レンダリングコード(Canvas、WebGL、SVG、Three.js、Manim、Remotion 等)を書くとき。
- ユーザーが特定のスタイルを自分のプロジェクトで試してみたい(サンプル動画出力)、または選んだスタイルを固定したい(スタイルパック作成)とき。
- ユーザーが録画、スクリーン録画、写真、データなどの素材を持っているか、AIによる画像生成、動画生成、音声合成を使って素材を作り、コードで編集して動画にしたいとき。
- 動画に合わせるBGM、効果音、または日本語ナレーションの音色を選びたいとき。
3段階の使い方:スタイル選びからスタイルパックまで
| レベル | 何をする | 成果物 | いつ使用する |
|---|---|---|---|
| レベル0:辞書 | このライブラリから2~3の候補を選び、プロンプトと理由を提示 | 候補リスト + 各スタイルのプロンプト、技術パス | ユーザーがまだスタイルを決めていないとき |
| レベル1:サンプル | 候補にユーザーのブランドカラー、フォント、実際のコンテンツを適用し、ユーザープロジェクトの技術スタックで3~5秒実行 | 横16:9と縦9:16の各サンプル動画 + フレーム抽出コラージュ、ユーザーに確認 | プロジェクトのスタイル変更・追加時に、1回の対話で完了 |
| レベル2:スタイルパック | ユーザーが承認したスタイルを、そのプロジェクトでよく使われる表現方法(オープニング、解説、データ、トランジション、字幕等)に適用 | 再利用可能なコードモジュール + プロジェクト規約に組み込むスタイル説明(カラーパレット、フォント、動き、音声、禁止事項) | レベル1が承認された後 |
各レベルはユーザーの承認を得てから次に進む。レベル1のサンプル出力前に、その技術パスがユーザーのプロジェクトで動作するか(ブラウザ、GPU、Python環境等があるか)を確認する。
どう調べるか(順番に従い、一度に全てを読まないこと)
- どのスタイルを使えばいいか分からない → まず3つのカテゴリに分類:画面が全てコードで算出される(C類)、実際の素材を使用(T類)、AI生成素材を使用(G類)。ユーザーがどのタイプの動画を作りたいか(トークショー、コマース、MV、ニュース…)を聞いたら、まず
index.mdの「コンテンツタイプ別」表を調べ、T、G列を対照して提示。純粋コードの場合は、残りのインデックス表(トピック、ビジネス用途、ターゲット、感情、プラットフォームとフォーマット、素材と条件)からそれぞれ該当する行を探し、複数の表に重複して現れるものを優先する。ユーザーに2~3の候補と理由を提示する。 - スタイル名または番号が既に分かっている →
index.mdの「スタイルディレクトリ」で番号(例:C-013、T-007)を見つけ、対応するstyles/*.md(C類は技術別ファイル、T類はstyles/footage.md、G類はstyles/generated.md)を開き、アンカー#C-013でエントリに移動。 - 完全なプロンプトまたはレンダリングコードを書きたい →
prompting.mdを読む:8つの制御ポイント、汎用テンプレート、制作パス、例、よくある失敗と対策。 - 技術でフィルタリングしたい(例:「SVGのみ」「Three.jsが必要」)→
tags.mdとdata/styles.jsonを読む。各エントリにはid / name / theme / content_type / materials / fit / prompt / layer / suggested / verified / render_code / pack / refsがある(C類はtheme、T、G類はcontent_typeとmaterials)。 - 音声を合わせたい →
sound.mdを読む:まずトピックに基づいてBGMと効果音を決め、次に用途に応じてナレーションの音色を選ぶ。 - 素材を使いたい(T類、G類) →
materials.mdを読む:素材の入手先、ライセンスの確認方法、生成方法、コードで扱うための統一処理、音声の合わせ方。 - サンプル動画(レベル1)またはスタイルパック(レベル2)を出力したい →
making.mdを読む:着手前の確認事項、サンプル動画の書き方とセルフチェック、スタイルパックの5つの方法とSTYLE.mdの書き方。 - レンダリングコードを書きたい → まずこのSkillに付属のコードを確認:
samples/API.md(サンプル骨格と関数クイックリファレンス)、samples/<番号>/(各検証済みスタイルのscene.js、sound.py)、packs/<名前>/(スタイルパック)。エントリ内の「サンプルコード」「スタイルパック」リンクテキストのパスがこのSkillディレクトリ内の位置を示しているので、ネット経由でGitHubから取得する必要はない。
使用ルール
- エントリ内の
textコードブロックはそのスタイルプロンプト文。そのまま使い、prompting.mdのテンプレートでトピック、仕様、音声、フローを補完する。 - 「技術(検証済み)」は、このリポジトリにサンプル動画を実行できるコードがあることを示す。「技術(推奨)」は未検証の推奨記述であり、ユーザーに説明する際には区別すること。
- スタイル名だけを書くと汎用的なフラットなスタイルに退化する:必ず3~5の特徴要素、禁止事項、参考作品を含めること。
- 参考作品は構図、リズム、配色のロジックのみを学び、キャラクター、ロゴ、音楽をそのまま流用しない。名前が作品名や作者を含む「オマージュスタイル」(例:C-187 ジブリ風)も同様:描き方だけを学び、キャラクター、シーン、ロゴ、台詞は全てオリジナルにすること。
- プロンプトは方向性を決めるだけであり、同じ文でも毎回同じ結果にならない。同じ効果を再現するには、「技術(検証済み)」エントリのサンプルコードを改造して使うこと。プロンプトだけに頼らず、ゼロから再設計もしない:まず
samples/<番号>/をユーザープロジェクトにコピーして動作確認し、その後コンテンツを差し替える(方法はmaking.md「レベル1:サンプル」参照)。「スタイルパック」がある場合はそれを直接使う。 - サンプルコードが提供するのはパイプラインと描画方法であり、コンテンツではない:出力パイプライン(
lib.js、synth.py、batch.py)はそのまま使用可。抜き型、ライティング、テクスチャなどの描画方法は流用可。サンプル内のキャラクター、構図、配色、テキストはそのままユーザーの動画に流用せず、ユーザーのトピックとブランドに差し替える。 - 事例内のツールチェーン、費用、所要時間は原作者の自己申告であり、未検証のため保証としてユーザーに約束しない。
- C類の画面は全てコードで算出され、素材は一切使用しない。写実的な顔、実際の人間によるトークショーなどの効果は純粋コードでは実現不可能なので、T類(ユーザー自身の素材)またはG類(AI生成素材)に切り替え、ユーザーに準備が必要なものを伝える。
- T類では、ユーザーが使用権を確認した素材、またはパブリックドメイン・オープンライセンスの素材のみを使用し、出典とライセンスを逐一記録する。G類では、任意の画像生成・動画生成・音声合成サービスを使用可能。materials.md「生成サービスの設定」 に従って設定を行う。どちらのカテゴリも設定されていない場合、まずユーザーに何を設定する必要があるかを伝え、生成が不要な部分は通常通り進める。実在の人物は生成せず、実在の人物の声はクローンしない。
内容の変更
スタイルの追加や変更手順は README.md の「メンテナンス」を参照。変更後は必ず以下を実行し、パスすること:
python3 scripts/build_index.py # styles/*.md から data/styles.json と index.md のスタイルディレクトリを生成
python3 scripts/build_index.py --check # 番号、タグ、画像、リンク、ディレクトリの一貫性をチェック
番号は追加のみ、変更不可。data/styles.json とスタイルディレクトリは生成物であり、手動で編集しない。