画像生成
python3 ~/simcraft/skills/image-gen/scripts/gen_image.py "<プロンプト>" --out <ディレクトリ> --name <名前> [オプション]
標準ライブラリのみを使用するため、どの python3 でも動作します。
キー
スクリプトは環境変数 GEMINI_API_KEY と OPENAI_API_KEY を読み取るか、または ~/.config/simcraft/keys.env(1行に NAME=value、chmod 600)から読み取ります。
--checkを実行すると、設定されているキーを確認できます。キー自体が表示されることはありません。- キーが設定されていない場合は、ユーザーにファイルを自分で開いて(
open -e ~/.config/simcraft/keys.env)キーを貼り付けるよう指示してください。チャットにキーを貼り付けさせたり、他のプロジェクトのファイルからキーを読み取ったりしないでください。 - キーはリクエストヘッダーにのみ含めてください。URL、ログ、サイドカーファイルにキーを決して含めないでください。
- Geminiキーは aistudio.google.com/apikey で取得できます(無料枠あり)。OpenAIキーは platform.openai.com/api-keys で取得できます。
オプション
| オプション | 説明 |
|---|---|
--n 4 | 4つのバリエーションを並列で生成し、さらに <名前>_sheet.png で選択できるようにします。重要な画像にはこれを使用してください。 |
--aspect 16:9 | 形状を設定します:16:9、9:16、1:1、4:3、3:4。画像が配置される場所に合わせてください。 |
--ref a.png b.png | 参照画像。画像の編集、スタイルの一致、または画像間で同じキャラクターやオブジェクトを維持するために使用します。 |
--cutout | コラージュ用の透明PNGを生成します。Geminiはクロマグリーンで生成し、スクリプトがクリーンなエッジでキーアウトします。OpenAIは真の透明度を生成します。 |
--provider gemini|openai | プロバイダーを選択します。デフォルト:Geminiキーが設定されている場合はGemini。 |
--model M | モデルを選択します。デフォルトでは、Geminiはキーが使用可能な最新の画像モデルを選択し(--models で一覧表示)、OpenAIは gpt-image-2 を使用します。 |
--quality low|medium|high | OpenAIのみ。デフォルトは high。 |
--brand devin | ブランドキットの画像スタイルとパレットをプロンプトに追加します。ブランド関連の作業では、最初にブランドキットスキルを実行してください。 |
すべての画像には、正確なプロンプト、モデル、設定を記録した <名前>.json サイドカーファイルが作成されるため、後で再作成や微調整が可能です。
プロバイダーの選択
- Gemini: 高速で低コスト。反復的な作業、編集、および
--refを使用した一貫性維持に最適です。 - OpenAI gpt-image: 画像内にテキストが含まれる場合と、真の透明カットアウトに最適です。
プロンプトのコツ
- 被写体、媒体、照明、フレーミングの順に記述します。含めないものも指定します。
- ユーザーが要求しない限り、画像内にテキストを入れないでください。 モデルはまだスペルミスをします。テキストは後でコードで追加してください。
- シリーズを作成する場合は、最初にアンカー画像を1つ生成します。その後、同じアンカー画像を
--refとして他のすべての画像に渡します。画像2を画像3にチェーンしないでください。小さなエラーが蓄積するためです。 - 画像をどこかで使用する前に、ユーザーにコンタクトシートを表示してください。すべてを再生成するのではなく、1つのバリエーションだけを再生成します。