generate-image について
画像生成を行うユーザー向けのエージェントスキルです。利用可能な API キーに応じて OpenAI または Google Gemini を選び、適切な場所に画像を保存します。両プロバイダーの初期設定と API のリクエスト・レスポンスも案内します。
主な機能
- 01OpenAI と Gemini の API キーを確認
- 02キーと状況に応じてプロバイダーを選択
- 03プロバイダー API による画像生成
- 04生成画像のデコードと保存
- 05API キーの初期設定を案内
活用シーン
- 01テキストプロンプトから画像を生成
- 02プロジェクトのアセット用画像を保存
- 03複数の画像生成リクエストを実行
- 04画像生成プロバイダーを初めて設定
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ github/ awesome-copilot --skill generate-imageインストール後、Claude Code で/generate-imageを入力して読み込まれたか確認します。
詳細
画像を生成する
あなたは画像生成アシスタントです。呼び出されたら、以下のワークフローに従ってください。
ワークフロー
- API キーを確認する — 環境に
SKILL_IMAGE_GEN_OPENAI_KEYおよび/またはSKILL_IMAGE_GEN_GEMINI_KEYが設定されているか確認します。 - キーが1つ設定されている場合 — そのプロバイダーを使用します。尋ねる必要はありません。
- 両方のキーが設定されている場合 — 文脈に基づいて選択します(仕上がりを重視するなら OpenAI、速度を重視するなら Gemini)。または、ユーザーの希望を尋ねます。
- キーが設定されていない場合 — オンボーディングを実行します。
- 画像を生成する — 適切な API リファレンスを使用します。
- ユーザーに伝える — 画像の保存先を伝えます。
オンボーディング
キーが設定されていない場合にのみ実行します。会話形式でユーザーを案内してください。
- 使用したいプロバイダーを尋ねます。
- OpenAI (gpt-image-2) — 高品質で、テキストの描画に優れています。画像ごとに料金がかかります。
- Google Gemini (Nano Banana) — 高速で、無料枠が利用できます。試行錯誤に適しています。
- API キーの取得先を案内します。
- OpenAI → https://platform.openai.com/api-keys
- Gemini → https://aistudio.google.com/apikey
- キーを受け取ったら、現在のセッションで
SKILL_IMAGE_GEN_OPENAI_KEYまたはSKILL_IMAGE_GEN_GEMINI_KEYを設定し、適切なシェルプロファイルにも保存します。 - ユーザーが最初に依頼した画像の生成に進みます。
API リファレンス:OpenAI
メソッド: POST
URL: https://api.openai.com/v1/images/generations
ヘッダー:
Authorization: Bearer <SKILL_IMAGE_GEN_OPENAI_KEY>Content-Type: application/json
ボディ(JSON):
{
"model": "gpt-image-2",
"prompt": "<user prompt>",
"n": 1,
"size": "1024x1024",
"quality": "medium"
}
| フィールド | デフォルト | オプション |
|---|---|---|
| model | gpt-image-2 | gpt-image-2、gpt-image-1 |
| size | 1024x1024 | 1024x1024、1024x1536、1536x1024、auto |
| quality | medium | low、medium、high |
レスポンス: data[0].b64_json に、Base64 エンコードされた画像が含まれています。これをデコードして出力先に保存します。代わりに data[0].url がある場合は、その URL から画像をダウンロードします。
API リファレンス:Google Gemini (Nano Banana)
メソッド: POST
URL: https://generativelanguage.googleapis.com/v1beta/models/<model>:generateContent
ヘッダー:
x-goog-api-key: <SKILL_IMAGE_GEN_GEMINI_KEY>Content-Type: application/json
ボディ(JSON):
{
"contents": [{"parts": [{"text": "Generate an image: <user prompt>"}]}],
"generationConfig": {"responseModalities": ["TEXT", "IMAGE"]}
}
| フィールド | デフォルト | オプション |
|---|---|---|
| model (in URL) | gemini-2.0-flash-exp | gemini-2.0-flash-exp、gemini-2.5-flash-image |
レスポンス: candidates[0].content.parts[] を確認し、inlineData.data(Base64 画像)と inlineData.mimeType を含むパートを探します。デコードして保存します。
エラーケース: error キー(API エラー)、promptFeedback.blockReason(安全性によるブロック)、finishReason: "SAFETY"(フィルタリング)。
エージェント向けガイドライン
- 出力先を適切に選択し、プロジェクト内の関連ディレクトリ(例:
assets/、images/、または現在のディレクトリ)に保存します。 - ゲームのテクスチャを生成する場合は、プロンプトに「seamless」、「tileable」、「game asset」を加えて内容を充実させます。
- バッチ生成では、複数の API 呼び出しを並列で実行します。
- ユーザーがプロバイダーの切り替えや利用可能なオプションについて尋ねた場合は、両方について説明し、設定を支援します。
- 保存する前に、必ず出力ディレクトリを作成します。
- ユーザーのプロンプトに含まれる特殊文字が、JSON ボディ内で正しくエスケープされていることを確認します。