baoyu-imagine について
baoyu-imagineは、複数のプロバイダーのAPIを使って画像を生成するスキルです。単一画像やバッチ生成に対応し、モデル、比率、品質、参照画像を設定できます。
主な機能
- 01複数の画像生成APIに対応
- 02単一画像とバッチ生成
- 03モデルと品質の設定
- 04アスペクト比と画像サイズの指定
- 05参照画像の入力
活用シーン
- 01テキストプロンプトから画像を作成
- 02バッチファイルから複数画像を生成
- 03出力サイズと品質を指定
- 04対応する参照画像を使って画像を生成
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ jimliu/ baoyu-skills --skill baoyu-imagineインストール後、Claude Code で/baoyu-imagineを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/usage-examples.mdreferences/config/first-time-setup.mdpreferences-schema.mdreferences/providers/openrouter.mdminimax.mddashscope.mdzai.mdreplicate.mdscripts/build-batch.test.tsbuild-batch.tsmain.test.tsmain.tsscripts/providers/google.test.tsazure.tsdashscope.tsjimeng.test.tsgoogle.tsazure.test.tsdashscope.test.tsminimax.tsjimeng.tsreplicate.test.tsopenai.test.tsopenrouter.tsopenrouter.test.tsseedream.tsseedream.test.tsopenai.tszai.tsminimax.test.ts詳細
画像生成(AI SDK)
公式の API ベースの画像生成です。OpenAI GPT Image 2、Azure OpenAI、Google、OpenRouter、DashScope(阿里通义万象)、Z.AI GLM-Image、MiniMax、Jimeng(即梦)、Seedream(豆包)、Replicate に対応しています。
ユーザー入力ツール
このスキルがユーザーに質問するときは、次のツール選択ルール(優先順位順)に従ってください。
- 組み込みのユーザー入力ツールを優先してください。例:現在のエージェントランタイムが提供する
AskUserQuestion、request_user_input、clarify、ask_user、または同等のツール。 - フォールバック:そのようなツールがない場合は、番号付きのプレーンテキストメッセージを出力し、各質問への回答として選択した番号または回答をユーザーに求めてください。
- まとめて質問:ツールが1回の呼び出しで複数の質問に対応している場合は、該当する質問をすべてまとめて1回で行ってください。1回に1つの質問しかできない場合は、優先順位に従って1つずつ質問してください。
以下の AskUserQuestion への具体的な参照は例です。他のランタイムでは、各環境に対応するツールに置き換えてください。
スクリプトディレクトリ
{baseDir} = この SKILL.md があるディレクトリです。メインスクリプト:{baseDir}/scripts/main.ts。${BUN_X} は次の優先順位で解決してください:bun、それがなければ npx -y bun、それもなければ brew install oven-sh/bun/bun を提案します。
ステップ 0:設定を読み込む ⛔ BLOCKING
画像を生成する前に、このステップを必ず完了してください。EXTEND.md が存在するまで、生成はブロックされます。
次のパスを順に確認してください。最初に見つかったものを使用します。
| パス | スコープ |
|---|---|
.baoyu-skills/baoyu-imagine/EXTEND.md | プロジェクト |
${XDG_CONFIG_HOME:-$HOME/.config}/baoyu-skills/baoyu-imagine/EXTEND.md | XDG |
$HOME/.baoyu-skills/baoyu-imagine/EXTEND.md | ユーザーホーム |
- 見つかった場合 → 読み込み、解析して適用します。
default_model.[provider]が null の場合は、モデルのみを質問してください。 - 見つからない場合 →
references/config/first-time-setup.mdを使用して初回セットアップを実行し、AskUserQuestion でプロバイダー、モデル、画質、保存先を確認してください。EXTEND.md を保存してから次に進みます。この手順が完了する前に画像を生成しないでください。
旧バージョンとの互換性:新しいパスが存在せず、.baoyu-skills/baoyu-image-gen/EXTEND.md が存在する場合、ランタイムはこれを baoyu-imagine に名前変更します。両方が存在する場合、ランタイムはどちらも変更せず、新しいパスを使用します。
EXTEND.md のキー:デフォルトのプロバイダー、デフォルトの画質、デフォルトのアスペクト比、デフォルトの画像サイズ、OpenAI 画像 API の方言、デフォルトのモデル、バッチワーカーの上限、プロバイダーごとのバッチ制限。スキーマ:references/config/preferences-schema.md。
使い方
最小限の実行例については、プロバイダーごとの呼び出しやバッチモードを含むすべての例が記載された references/usage-examples.md を参照してください。
# Basic
${BUN_X} {baseDir}/scripts/main.ts --prompt "A cat" --image cat.png
# With aspect ratio and high quality
${BUN_X} {baseDir}/scripts/main.ts --prompt "A landscape" --image out.png --ar 16:9 --quality 2k
# Prompt from files
${BUN_X} {baseDir}/scripts/main.ts --promptfiles system.md content.md --image out.png
# With reference image
${BUN_X} {baseDir}/scripts/main.ts --prompt "Make blue" --image out.png --ref source.png
# Specific provider
${BUN_X} {baseDir}/scripts/main.ts --prompt "A cat" --image out.png --provider dashscope --model qwen-image-2.0-pro
# OpenAI GPT Image 2
${BUN_X} {baseDir}/scripts/main.ts --prompt "A cat" --image out.png --provider openai --model gpt-image-2
# Batch mode
${BUN_X} {baseDir}/scripts/main.ts --batchfile batch.json --jobs 4
オプション
| オプション | 説明 |
|---|---|
--prompt <text>, -p | プロンプトのテキスト |
--promptfiles <files...> | ファイルからプロンプトを読み込みます(連結) |
--image <path> | 出力画像のパス(単一画像モードでは必須) |
--batchfile <path> | 複数画像生成用の JSON バッチファイル |
--jobs <count> | バッチモードのワーカー数(デフォルト:自動、設定による最大値、組み込みのデフォルトは 10) |
--provider google|openai|azure|openrouter|dashscope|zai|minimax|jimeng|seedream|replicate | プロバイダーを指定します(デフォルト:自動検出) |
--model <id>, -m | モデル ID — デフォルトと指定可能な値については、プロバイダーのリファレンスを参照してください |
--ar <ratio> | アスペクト比(16:9、1:1、4:3、…) |
--size <WxH> | サイズを明示的に指定します(例:1024x1024。gpt-image-2 の場合、幅と高さは 16 の倍数である必要があり、最大辺は 3840px、アスペクト比は 3:1 より横長にできません) |
--quality normal|2k | 品質プリセット(デフォルト:2k) |
--imageSize 1K|2K|4K | Google/OpenRouter の画像サイズ(デフォルト:品質設定に基づきます) |
--imageApiDialect openai-native|ratio-metadata | OpenAI 互換エンドポイントの方言 — アスペクト比の size と metadata.resolution を要求するゲートウェイでは ratio-metadata を使用してください |
--ref <files...> | 参照画像。Google マルチモーダル、OpenAI GPT Image 編集、Azure OpenAI 編集(PNG/JPG のみ)、OpenRouter マルチモーダルモデル、Replicate の対応ファミリー、MiniMax の被写体参照、Seedream 5.0/4.5/4.0、DashScope wan2.7-image-pro/wan2.7-image でサポートされています。Jimeng、Seedream 3.0、SeedEdit 3.0、および wan2.7-image* ファミリー以外の DashScope モデルではサポートされていません |
--n <count> | 画像の枚数。Replicate では --n 1 が必要です(単一出力の保存セマンティクス) |
--json | JSON 出力 |
環境変数
| 変数 | 説明 |
|---|---|
OPENAI_API_KEY | OpenAI API キー |
AZURE_OPENAI_API_KEY | Azure OpenAI API キー |
OPENROUTER_API_KEY | OpenRouter API キー |
GOOGLE_API_KEY | Google API キー |
DASHSCOPE_API_KEY | DashScope API キー |
ZAI_API_KEY(別名 BIGMODEL_API_KEY) | Z.AI API キー |
MINIMAX_API_KEY | MiniMax API キー |
REPLICATE_API_TOKEN | Replicate API トークン |
JIMENG_ACCESS_KEY_ID, JIMENG_SECRET_ACCESS_KEY | Jimeng(即梦)の Volcengine 認証情報 |
ARK_API_KEY | Seedream(豆包)の Volcengine ARK API キー |
<PROVIDER>_IMAGE_MODEL | プロバイダーごとのモデル上書き(OPENAI_IMAGE_MODEL、GOOGLE_IMAGE_MODEL、DASHSCOPE_IMAGE_MODEL、ZAI_IMAGE_MODEL/BIGMODEL_IMAGE_MODEL、MINIMAX_IMAGE_MODEL、OPENROUTER_IMAGE_MODEL、REPLICATE_IMAGE_MODEL、JIMENG_IMAGE_MODEL、SEEDREAM_IMAGE_MODEL) |
AZURE_OPENAI_DEPLOYMENT(別名 AZURE_OPENAI_IMAGE_MODEL) | Azure のデフォルトデプロイメント |
<PROVIDER>_BASE_URL | プロバイダーごとのエンドポイント上書き |
AZURE_API_VERSION | Azure 画像 API のバージョン(デフォルト 2025-04-01-preview) |
JIMENG_REGION | Jimeng のリージョン(デフォルト cn-north-1) |
OPENAI_IMAGE_API_DIALECT | openai-native | ratio-metadata |
OPENROUTER_HTTP_REFERER, OPENROUTER_TITLE | OpenRouter の任意の帰属情報 |
BAOYU_IMAGE_GEN_MAX_WORKERS | バッチワーカーの上限を上書き |
BAOYU_IMAGE_GEN_<PROVIDER>_CONCURRENCY | プロバイダーごとの同時実行数(例:BAOYU_IMAGE_GEN_REPLICATE_CONCURRENCY) |
BAOYU_IMAGE_GEN_<PROVIDER>_START_INTERVAL_MS | プロバイダーごとの開始間隔 |
読み込みの優先順位:CLI 引数 > EXTEND.md > 環境変数 > <cwd>/.baoyu-skills/.env > ~/.baoyu-skills/.env
モデルの解決
優先順位(高い順)は、すべてのプロバイダーに適用されます。
- CLI フラグ
--model <id> - EXTEND.md
default_model.[provider] - 環境変数
<PROVIDER>_IMAGE_MODEL - 組み込みのデフォルト
OpenAI の組み込みのデフォルトは gpt-image-2 です。gpt-image-1.5、gpt-image-1、および GPT Image のスナップショットは、--model または OPENAI_IMAGE_MODEL で引き続き選択できます。
Azure では、--model/default_model.azure に Azure のデプロイ名を指定します。推奨される環境変数は AZURE_OPENAI_DEPLOYMENT です。AZURE_OPENAI_IMAGE_MODEL は、後方互換性のためのエイリアスとして維持されています。Azure のデプロイ名が基盤となるモデル名と同じ場合は gpt-image-2 を使用し、異なる場合は正確なカスタムデプロイ名を使用してください。
EXTEND.md は環境変数より優先されます。EXTEND.md に default_model.google: "gemini-3-pro-image-preview" が設定され、環境変数に GOOGLE_IMAGE_MODEL=gemini-3.1-flash-image-preview が設定されている場合は、EXTEND.md の設定が優先されます。
生成の前にモデル情報を表示します:
Using [provider] / [model]Switch model: --model <id> | EXTEND.md default_model.[provider] | env <PROVIDER>_IMAGE_MODEL
OpenAI 互換ゲートウェイの方言
provider=openai は、認証とルーティングのエントリーポイントが OpenAI 互換であることを意味します。アップストリームの画像 API が OpenAI ネイティブの仕様を使用するとは限りません。ゲートウェイが異なるワイヤ形式を必要とする場合は、EXTEND.md の default_image_api_dialect、OPENAI_IMAGE_API_DIALECT、または --imageApiDialect を設定してください。
openai-native:ピクセル単位のsize(1536x1024)と、OpenAI ネイティブの品質フィールドratio-metadata:アスペクト比のsize(16:9)に加え、metadata.resolution(1K|2K|4K)とmetadata.orientation
OpenAI ネイティブ API または厳密なクローンでは openai-native を使用してください。Gemini などのモデルを利用する互換ゲートウェイでは、ratio-metadata をお試しください。現時点での制限:ratio-metadata が適用されるのはテキストから画像への生成のみです。参照画像の編集には、引き続き openai-native または編集を第一級でサポートするプロバイダーが必要です。
プロバイダー別ガイド
各プロバイダーには独自の仕様があります(モデルファミリー、サイズのルール、参照画像のサポート、制限など)。ユーザーがそのプロバイダーを選択した場合や、デフォルト以外の動作を求めた場合は、該当するガイドを参照してください。
| プロバイダー | 参照先 |
|---|---|
| DashScope(Qwen-Image ファミリー、カスタムサイズ) | references/providers/dashscope.md |
| Z.AI(GLM-Image、cogview-4) | references/providers/zai.md |
| MiniMax(image-01、被写体参照) | references/providers/minimax.md |
OpenRouter(マルチモーダルモデル、/chat/completions のフロー) | references/providers/openrouter.md |
| Replicate(nano-banana、Seedream、Wan) | references/providers/replicate.md |
プロバイダーの選択
--refが指定され、--providerが指定されていない場合 → Google → OpenAI → Azure → OpenRouter → Replicate → Seedream → MiniMax の順に自動選択します(MiniMax の被写体参照は、キャラクターやポートレートの一貫性により特化しています)--providerが指定されている場合 → そのプロバイダーを使用します(--refを指定する場合は、google/openai/azure/openrouter/replicate/seedream/minimax のいずれかである必要があります)- API キーが1つだけ存在する場合 → そのプロバイダーを使用します
- 複数のキーがある場合 → デフォルトの優先順位:Google → OpenAI → Azure → OpenRouter → DashScope → Z.AI → MiniMax → Replicate → Jimeng → Seedream
品質プリセット
| プリセット | Google imageSize | OpenAI size | OpenRouter size | Replicate resolution | 用途 |
|---|---|---|---|---|---|
normal | 1K | 1024px を目標 | 1K | 1K | すばやいプレビュー |
2k(デフォルト) | 2K | 2048px を目標 | 2K | 2K | カバー、イラスト、インフォグラフィック |
Google/OpenRouter の imageSize は、--imageSize 1K|2K|4K で上書きできます。
OpenAI ネイティブの gpt-image-2 では、normal は quality=medium と、要求されたアスペクト比に近い低レイテンシーの有効なサイズに対応します。2k は quality=high と、2048x2048、2048x1152、1152x2048 などの2048pxクラスのサイズに対応します。有効なカスタムサイズや4K出力には、3840x2160 のように --size を明示的に指定してください。
アスペクト比
対応:1:1、16:9、9:16、4:3、3:4、2.35:1。
- Google マルチモーダル:
imageConfig.aspectRatio - OpenAI:
gpt-image-2は、指定された比率に最も近い有効なカスタムサイズを使用します。旧世代の GPT Image および DALL·E モデルは、対応する固定サイズのうち最も近いものを使用します - OpenRouter:
imageGenerationOptions.aspect_ratio。--size <WxH>のみが指定された場合は、比率を推定します - Replicate:動作はモデルによって異なります。
google/nano-banana*はaspect_ratioを使用し、bytedance/seedream-*は Replicate で文書化されている比率を使用します。Wan 2.7 は--arを具体的なsizeに変換します - MiniMax:公式の
aspect_ratio値を使用します。--arを指定せずに--size <WxH>を指定した場合、image-01にwidth/heightを送信します
生成モード
デフォルト:逐次実行です。バッチ並列処理:--batchfile に保留中のタスクが2件以上含まれている場合、自動的に有効になります。
| 状況 | 推奨 | 理由 |
|---|---|---|
| 画像が1枚、またはシンプルな画像が1~2枚 | 逐次実行 | 調整のオーバーヘッドが少なく、デバッグが容易です |
| 保存済みのプロンプトファイルを使って複数の画像を生成 | バッチ(--batchfile) | 確定済みのプロンプトを再利用し、共通のスロットリング/再試行を適用でき、スループットも予測しやすくなります |
| 画像ごとに推論、プロンプト作成、スタイルの検討が必要 | サブエージェント | まだ試行錯誤が必要な作業であり、それぞれに個別の分析が必要です |
入力が outline.md + prompts/(例:baoyu-article-illustrator からのもの) | バッチ — scripts/build-batch.ts でペイロードを組み立てます | アウトラインとプロンプトファイルに必要な情報がすべて含まれています |
目安:プロンプトファイルの保存が完了し、タスクが「これらすべてを生成する」段階になったら、サブエージェントよりバッチを優先してください。サブエージェントは、生成に画像ごとの思考や異なる創造的な検討が伴う場合にのみ使用してください。
並列処理の動作:
- デフォルトのワーカー数は自動で決まり、設定で上限が定められます。組み込みのデフォルトは10です
- プロバイダー固有のスロットリングはバッチモードでのみ適用されます。デフォルト設定は、RPMの急増を避けながらスループットを高めるよう調整されています
--jobs <count>で上書きできます- 各画像は最大3回まで再試行します
- 最終出力には、成功数、失敗数、画像ごとの失敗理由が含まれます
エラー処理
- APIキーがない場合 → セットアップ手順を含むエラーを表示します
- 生成に失敗した場合 → 画像ごとに最大3回まで自動で再試行します
- アスペクト比が無効な場合 → 警告を表示し、デフォルト値で続行します
- 対応していないプロバイダー/モデルの参照画像 → 修正方法のヒントを含むエラーを表示します
リファレンス
| ファイル | 内容 |
|---|---|
references/usage-examples.md | プロバイダーおよびバッチモードの拡張CLI例 |
references/providers/dashscope.md | DashScopeのファミリー、サイズ、制限 |
references/providers/zai.md | Z.AI GLM-image/cogview-4 |
references/providers/minimax.md | MiniMax image-01 + 被写体参照 |
references/providers/openrouter.md | OpenRouterのマルチモーダルフロー |
references/providers/replicate.md | Replicateで対応するファミリー + ガードレール |
references/config/preferences-schema.md | EXTEND.md のスキーマ |
references/config/first-time-setup.md | 初回セットアップの手順 |
拡張機能のサポート
EXTEND.md でカスタム設定ができます。パスとスキーマについては Step 0 を参照してください。