alterlab-generate-image について
OpenRouterの画像モデルを使い、新しい画像の生成や既存画像の編集を行うコマンドラインスキルです。イラスト、コンセプトアート、プレゼンテーション用画像などに向けて、実行ごとにモデルと出力先を指定できます。
主な機能
- 01テキストプロンプトから画像を生成
- 02入力ファイルの画像を編集
- 03OpenRouterモデルの選択
- 04出力ファイルパスの指定
活用シーン
- 01論文用のコンセプトアート作成
- 02プレゼンテーションやポスター画像の準備
- 03既存のポートレートや画像の編集
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ alterlab-ieu/ alterlab-academic-skills --skill alterlab-generate-imageインストール後、Claude Code で/alterlab-generate-imageを入力して読み込まれたか確認します。
同梱ファイルevals/evals.jsonscripts/generate_image.py
詳細
画像を生成
FLUX.2 Pro や Gemini 3.1 Flash Image(別名「Nano Banana 2」)など、OpenRouter の画像生成モデルを使用して、高品質な画像を生成・編集します。
このスキルを使用するタイミング
次の用途には、このスキル(alterlab-generate-image)を使用してください。
- 写真やフォトリアリスティックな画像
- 芸術的なイラストやアート作品
- コンセプトアートやビジュアルコンセプト
- プレゼンテーションやドキュメント用のビジュアルアセット
- 画像の編集や変更
- その他、汎用的な画像生成のニーズ
このスキルが適さないケース
| ケース | 代わりに使用するもの |
|---|---|
| フローチャート、CONSORT/PRISMA または方法論の図、回路図、生物学的経路、システムまたはニューラルネットワークのアーキテクチャ | alterlab-scientific-schematics |
| 統計、タイムライン、比較、またはプロセスの手順をデザインされたグラフィックとして配置したインフォグラフィック | alterlab-infographics |
| ファイルまたは配列の数値データのプロット(散布図、棒グラフ、折れ線グラフ、分布図) | alterlab-matplotlib / alterlab-seaborn / alterlab-plotly |
| README や Markdown ドキュメント内で、編集可能かつバージョン管理可能なテキストとして保持したい図 | alterlab-mermaid |
クイックスタート
画像を生成または編集するには、scripts/generate_image.py スクリプトを使用します。
# Generate a new image
python scripts/generate_image.py "A beautiful sunset over mountains"
# Edit an existing image
python scripts/generate_image.py "Make the sky purple" --input photo.jpg
このコマンドは画像を生成または編集し、現在のディレクトリに generated_image.png として保存します。
API キーの設定
このスクリプトには OpenRouter API キーが必要です。見つからない場合はエラーで停止します。次の順に確認します。--api-key フラグ、OPENROUTER_API_KEY 環境変数、現在のディレクトリまたは親ディレクトリにある .env ファイル内の OPENROUTER_API_KEY=<key> の行です。いずれも設定されていない場合は、ユーザーに次のいずれかを行うよう依頼してください。
export OPENROUTER_API_KEY=your-api-key-hereを実行する.envファイルにOPENROUTER_API_KEY=your-api-key-hereを追加する
キーは https://openrouter.ai/keys で発行できます。
データとプライバシー
このスキルは、プロンプトと入力画像をサードパーティの API(OpenRouter)に送信して処理します。機密情報、臨床情報、未公開の素材は送信しないでください。OpenRouter API キーは環境変数(OPENROUTER_API_KEY)から読み取られます。
モデルの選択
デフォルト:google/gemini-3.1-flash-image(「Nano Banana 2」、GA)— 高品質で、生成と編集に対応しています。特別な理由がない限り、これを使用してください。Google が 2026-06-25 に提供を終了した google/gemini-3.1-flash-image-preview の後継です。すべての実行でデフォルトを変更するには ALTERLAB_IMAGE_MODEL を設定し、1 回の実行のみ変更するには --model を渡してください。
その他のモデル(OpenRouter での生成と編集の両方に対応):
black-forest-labs/flux.2-pro— 最先端のビジュアル品質、プロンプトへの高い忠実度、最大 4 MP に対応します。black-forest-labs/flux.2-flex— より低コストで、特にテキストやタイポグラフィ、細部の描画に優れています。
モデル ID はバージョンによって変わる場合があります(2026-09-23 時点の OpenRouter モデル一覧で確認済み)。呼び出し時に「model not found」エラーが返された場合は、https://openrouter.ai/models を再確認してください。このスクリプトは、modalities パラメーターを指定して OpenRouter の chat-completions エンドポイントを使用します。OpenRouter は 2026 年 6 月に専用の Image API(/api/v1/images)を公開しました。その時点ですでに利用可能だった画像モデルは chat completions でも引き続き利用できます(ここに記載したモデルはすべて該当します)が、それ以降に追加されたモデルは Image API のみで提供される場合があります。新しいモデルでこのスクリプトが失敗する場合は、それが原因である可能性が高いです。
よくある使用パターン
# Generate (default model) to a chosen path
python scripts/generate_image.py "Abstract art" --output artwork.png
# Generate with a specific model
python scripts/generate_image.py "A cat in space" --model "black-forest-labs/flux.2-pro"
# Edit an existing image (edit mode is triggered by --input)
python scripts/generate_image.py "Add sunglasses to the person" --input portrait.png --output cleaned.png
複数の画像を生成するには、プロンプトごとに異なる --output パスを指定してスクリプトを実行してください(スクリプトは常に 1 つのファイルを書き込み、デフォルトの generated_image.png を上書きします)。
スクリプトのパラメーター
prompt(必須):生成する画像の説明、または編集の指示--inputまたは-i:編集する入力画像のパス(編集モードを有効化)--modelまたは-m:OpenRouter のモデル ID(デフォルト:$ALTERLAB_IMAGE_MODEL。未設定の場合は google/gemini-3.1-flash-image)--outputまたは-o:出力ファイルのパス(デフォルト:generated_image.png)--api-key:OpenRouter API キー(OPENROUTER_API_KEYおよび.envより優先)
使用例
# Conceptual figure for a paper (illustration, not a data plot)
python scripts/generate_image.py "Microscopic view of cancer cells being attacked by immunotherapy agents, clean scientific illustration style" --output figures/immunotherapy_concept.png
# Slide background / poster hero image
python scripts/generate_image.py "Abstract blue and white background with subtle molecular patterns, professional presentation style" --output slides/background.png
python scripts/generate_image.py "Modern, well-lit laboratory with current equipment, photorealistic" --output poster/hero.png
注意事項とヒント
- 出力は常に 1 枚の PNG です。画像は base64 エンコード(データ URL またはコンテンツパート)で返され、デコードされて
--outputに書き込まれます。このスクリプトは、異なる OpenRouter モデルで使用されるimagesとcontentの両方のレスポンス形式に対応しています。 - 編集でサポートされる入力形式:PNG、JPEG、GIF、WebP。入力は base64 エンコードされ、編集プロンプトとともに送信されます。
- 編集には、具体的で要素を指定した指示が最適です。「空を夕焼け色に変える」は「空を編集する」より効果的です。
- 生成には通常、モデルに応じて約 5~30 秒かかります。料金:https://openrouter.ai/models
- API キーがない場合、
requestsがない場合、ネットワークエラー、API エラー(ステータスコード付き)、または画像を含まないレスポンスが発生すると、スクリプトは明確なメッセージを表示してゼロ以外の終了コードで終了します。メッセージを確認して問題を修正してから再試行してください。 - FLUX.2 などの画像専用モデルが 400/422 でリクエストを拒否した場合、スクリプトは画像出力のみを要求して 1 回再試行します。