film-style-board · 映画スタイルボード
このスキルは「この映画はどのスタイルで作るべきか、そして費用はいくらか」という質問に答え、映画自体は作成しません。
スキルディレクトリに local.md がある場合、最初にそれを読んでください。 これらはこのコンピューター専用のメモです。設定、アカウント状態、映画やビルドスキルへのパスなどが含まれ、ここに書かれている内容より優先されます。
film-style-board/
styles.json スタイルカタログ:名前、適した用途、画像プロンプト、AI動画との互換性
catalog/<id>.jpg, <id>.mp4 各スタイルのサンプル(6秒クリップ、存在する場合)
tools/make_board.py Chrome経由でHTMLからboard.png(およびreel.mp4)を生成。ヘブライ語が正しく表示される。
tools/gen_frames.py 「このスタイルでのあなたのストーリー」:各スタイルで1シーン。Codexで描画、またはプロンプトシート(--prompts-only)
tools/video_cost.py AI動画の価格:クリップ、主要ショット、全編。--live でHiggsfieldから実測
references/video-models.md モデル、サブスクリプション、動画AIの映画への統合方法、確認事項
references/codex-setup.md ユーザー向けガイド:CodexのインストールとChatGPT接続、およびトラブルシューティング
(オプション、公開されない)local.md, styles-local.json, catalog-local/ このコンピューターの上書き設定
ツールへのパス: T=<スキルディレクトリ>/tools。スキルディレクトリは、スキルが読み込まれるときのベースディレクトリです(通常のインストールでは ~/.claude/skills/film-style-board。プラグインの場合はプラグインディレクトリ内)。
必要なもの: Python 3(Pillow付き:pip install pillow)、ffmpeg、Google Chrome。不足しているものがあれば、ステップ3の前にインストールを提案します。
ステップ1 · 手元にあるもの
持ち込まれたものを読み取ります:本の写真、テキスト、歌、アイデア。ほとんどの答えはすでにそこにあります。最大1つの質問を、以下のうち最も重要なものについて行います:
| 知る必要があること | 質問せずに識別する方法 |
|---|---|
| 対象:幼児、子供、家族、大人 | 本の年齢層、テキストの長さ |
| フォーマット:画面用16:9、またはWhatsApp/ステータス用9:16 | 「ステータス」「WhatsApp」「電話用」= 9:16 |
| 長さ | ページ数。1ページあたり約20~25秒 |
| キャラクター付きストーリー、またはテキストと単語のみ | 絵本 vs. 歌、引用、実話 |
ステップ2 · 3~4候補を選択
| 何があるか | 候補 |
|---|---|
| キャラクターとストーリーのある子供向け絵本 | clay, watercolor(イラストが水彩の場合)、sand、feltcut |
| テキスト、説明、章が多い本 | whiteboard と、上記のもう1つ |
| 歌、引用、今週の言葉、ステータス | livingwords |
| 実話、歴史、WhatsAppシリーズ | documentary と livingwords |
- 各候補について一文:なぜこのストーリーに合うか(
--whyでボードに追加) - 子供向け絵本は、カラフルなスタイル(粘土、水彩、フェルト)から始めることをお勧めします。砂絵とホワイトボードはより落ち着いています。
ステップ3 · カタログからボードを作成(すぐに、費用なし)
OUT=<プロジェクトディレクトリ>/style-board # プロジェクトがない場合は一時ディレクトリ
python $T/video_cost.py --film-seconds <長さ(秒)> --hero 6 --json $OUT/cost.json
python $T/make_board.py --out $OUT --styles clay,watercolor,sand --title "<ストーリー名>" \
--why "clay=<理由>;watercolor=<理由>;sand=<理由>" --video $OUT/cost.json --reel
- 自分で
board.pngを確認してから送信:壊れたテキスト、欠落した画像、空カードがないか。 - ユーザーに
board.pngとreel.mp4を表示します(各スタイル6秒、カード番号を隅に表示)。SendUserFile があれば送信し、電話にも届くようにします。 - チャット内:短い番号付きリスト、1つの推奨とその理由、ステップ4への提案。
ステップ4 · 各スタイルでのストーリーそのもの(オプション、事前に尋ねる)
まず1シーンを英語で書きます:ストーリーの中で最も特徴的な瞬間、主要キャラクターとともに。既知のキャラクター名やテキストは含めません。同じシーンをすべてのパスで使用します。
その後、静かにCodexがあるか確認します: codex login status。答えに応じてパスを選択します。「Codexはありますか?」とは尋ねません。ほとんどの人はそれが何か知らないからです。
| 結果 | パス |
|---|---|
Logged in using ChatGPT | A:Claudeが描画 |
| Codexがインストールされていない、ログインしていない、またはAPIキーでログインしている | 1つ質問:「有料のChatGPTサブスクリプション(Plus以上)はありますか?」 はい = B。いいえ、またはわからない = C |
パスA · Codexが接続されている
次のように提案します:「これらのスタイルでストーリー自体を見てみませんか? これはChatGPTサブスクリプションからの枚の画像で、1枚あたり約1分かかります。」
python $T/gen_frames.py --out $OUT/frames --styles clay,watercolor,sand --scene "<シーン>" [--ref <ページの写真>]
パスB · サブスクリプションあり、Codexなし
Codexが何かを一文で説明します(「OpenAIのツールで、これを使って描画し、ChatGPTサブスクリプションから課金されます」)。その後、ユーザーに代わってインストールするか、references/codex-setup.md を送信します。このドキュメントは、Codexに詳しくない人のために書かれています。インストール時に、Claudeがコマンドを実行し、ユーザーはブラウザで承認するだけです。Logged in using ChatGPT が表示されたら、パスAに進みます。インストールがスタックした場合は、パスCに進み、無理に進めません。
パスC · サブスクリプションがない、またはインストールしたくない:プロンプト
python $T/gen_frames.py --out $OUT/frames --styles clay,watercolor,sand --scene "<シーン>" --prompts-only --title "<ストーリー名>"
prompts.htmlが生成されます:ヘブライ語の指示、各スタイルの英語のプロンプト、コピーボタン、保存ファイル名(カード番号に応じて1.png、2.png)を含むページ。同じ内容のprompts.txtも作成されます。- ユーザーにページを表示し、
framesディレクトリを開き(Windows:explorer.exe "<パス>"、Mac:open "<パス>")、チャットに完全パスをコードブロックで書き込みます。 - ユーザーは各プロンプトをChatGPT、Gemini、またはCopilot(無料版、日次制限あり)に貼り付け、画像をダウンロードしてディレクトリに保存します。
- ユーザーが「終わった」と書いたら:ディレクトリの内容を確認します。
make_board.pyは自動的に<id>または<番号>を任意の拡張子(png/jpg/webp)から見つけます。名前がランダムな場合(例:ChatGPT Image....png)、各画像を開き、外観からスタイルを識別して<id>.pngに名前を変更します。
すべてのパスで
python $T/make_board.py --out $OUT --styles clay,watercolor,sand --frames $OUT/frames --title ... --why ... --video $OUT/cost.json
- 各カードでは、ストーリー画像が大きく、カタログのサンプルが隅に小さく表示されます。画像のないスタイルにはカタログのサンプルが使用され、スクリプトは各カードに何が入っているかを出力します。
- 各画像を確認:控えめな服装(長袖、ロングスカート。これがデフォルトで、
--no-modestで解除)、文字なし、スタイルが正しいか。画像が良くない場合、削除して再実行します(既存のものは再生成されません)。パスCでは、ユーザーに再生成を依頼します。 --refはwatercolorにのみ使用します。このスタイルは本のイラストに従うためです。他のスタイルでは、キャラクターはオリジナルで、イラストはモデルに入力されません。通常、著作権があるためです。- 画像は最終的な外観への近似に過ぎないことを明言します。実際の映画はコードでアニメーション化されるためです。
- テキストスタイル(生きる言葉、ドキュメンタリー)はスキップします。画像モデルはヘブライ語を書けないためです。ボードでは、それらのスタイルにはカタログのサンプルが表示されます。
ステップ5 · AI動画:提案と価格説明
すべてのボードにはAI動画セクションがあります。チャットでは、3つの方法を簡単な言葉で説明します:
- コードのみ:コードによるアニメーション。既存のサブスクリプションを超える費用はありません。
- コード + 4~6の主要AI動画ショット:ストーリーの大きな瞬間。Kling 4.0がお得(約$13/本)、Seedance 2.5が最高品質(約$41)。
- すべてAI動画:10分の映画で約$105~$520、モデルによる。字幕、ナレーション、ミックスにはコードがまだ必要です。
必ず伝えること:
- クレジット。 Higgsfieldは月額サブスクリプションを販売しています。クレジットはPlusサブスクリプションで約5セントです。
higgsfield account statusでアカウント状態を確認します。無料アカウントでは、最初にサブスクリプションを購入する必要があります。Starter($19、270クレジット)は、Kling 4.0の主要ショットに十分です。 - Gemini Omni をGemini APIキー経由で使用するには、キーで課金を有効にする必要があります。動画には無料枠はありません。
- デフォルトはコードのみです。 AI動画は費用がかかるオプションとして提示し、推奨としては提示しません。ただし、スタイルが適している場合(粘土、フェルト、水彩)で、ストーリーに大きな瞬間がある場合は除きます。
- スタイルとの互換性: 各カードに表示されます(優れている、良い、普通、弱い、不適切)。
references/video-models.mdで説明されています。 - 有料クリップを生成することは決してありません。
higgsfield generate costから正確な価格を取得し、ユーザーの明示的な承認を得るまでは。ボードのフレームから5秒の試用クリップを提案できます(Kling 4.0 720p、約11クレジット)。 - クリップを映画に統合する方法と各クリップで確認すべきこと(フレームごとの服装、一貫性、ぶれ、文字):
references/video-models.md。
ステップ6 · 選択後
- 選択したスタイルのビルドスキルがインストールされている場合(
styles-local.jsonまたはlocal.mdで指定)、それに進みます。 - そうでない場合、利用可能なアニメーションツール(Motion Forge、HyperFrames、Remotionなど)で映画を構築します。ボード、ステップ4の画像、スタイルの
tagline/codex_promptがブリーフとなります。ボードを映画製作者に渡すこともできます。
メンテナンス
新しいスタイル。 完成した映画からフレームとクリップを抽出し、styles.json にレコードを追加します(すべてのフィールド、codex_prompt は英語またはテキストスタイルの場合はnull):
ffmpeg -ss <秒> -i <映画>.mp4 -frames:v 1 -vf scale=960:-2 -q:v 3 catalog/<id>.jpg # 9:16の映画は540
ffmpeg -ss <秒-3> -i <映画>.mp4 -t 6 -an -vf "scale=960:-2,fps=24" -c:v libx264 -crf 30 -preset slow -pix_fmt yuv420p -movflags +faststart catalog/<id>.mp4
スタイルを最もよく示すフレームを選択します。キャラクターが写り、中央に字幕がないものを選びます。いくつか候補を抽出してから選択します。公開できない映画(例:まだ著作権で保護されている本に基づくもの)は catalog/ ではなく catalog-local/ に入れます。
価格。 月に1回、または誰かが価格について尋ねたときに:python $T/video_cost.py --live。スクリプト内の FALLBACK と CHECKED、および references/video-models.md のテーブルを更新します。新しいモデル:higgsfield model list --video。