baoyu-image-gen について
baoyu-image-genは、OpenAI、Google、DashScope、ReplicateのモデルをAPI経由で利用する画像生成スキルです。プロバイダーやモデル、出力サイズ、品質、参照画像を設定できます。
主な機能
- 014つのAPIプロバイダー
- 02プロバイダーとモデルの選択
- 03アスペクト比と画像サイズの指定
- 04参照画像の入力
- 05設定ファイルによる環境設定
活用シーン
- 01テキストプロンプトから画像を生成
- 02指定したアスペクト比で画像を生成
- 03参照画像を使って画像を生成
- 04既定のプロバイダーとモデルを設定
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ ideacco/ baoyu-skills-openclaw --skill baoyu-image-genインストール後、Claude Code で/baoyu-image-genを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/config/first-time-setup.mdpreferences-schema.mdscripts/main.tstypes.tsscripts/providers/dashscope.tsgoogle.tsopenai.tsreplicate.ts詳細
画像生成(AI SDK)
公式 API ベースの画像生成です。OpenAI、Google、DashScope(阿里通义万象)、Replicate プロバイダーに対応しています。
スクリプトディレクトリ
エージェントの実行:
SKILL_DIR= この SKILL.md ファイルのディレクトリ- スクリプトのパス =
${SKILL_DIR}/scripts/main.ts
ステップ 0:設定の読み込み ⛔ ブロッキング
重要:画像を生成する前に、このステップを必ず完了してください。省略したり、後回しにしたりしないでください。
EXTEND.md が存在するか確認します(優先順位:プロジェクト → ユーザー):
test -f .baoyu-skills/baoyu-image-gen/EXTEND.md && echo "project"
test -f "$HOME/.baoyu-skills/baoyu-image-gen/EXTEND.md" && echo "user"
| 結果 | アクション |
|---|---|
| 見つかった | 読み込み、解析して、設定を適用します。default_model.[provider] が null の場合は、モデルのみを確認します(フロー 2) |
| 見つからない | ⛔ 初回セットアップを実行します(references/config/first-time-setup.md)→ EXTEND.md を保存 → 続行 |
重要:見つからない場合は、画像を生成する前に AskUserQuestion を使って、プロバイダー、モデル、品質、保存先を含む初回セットアップをすべて完了してください。EXTEND.md が作成されるまで、生成はブロックされます。
| パス | 場所 |
|---|---|
.baoyu-skills/baoyu-image-gen/EXTEND.md | プロジェクトディレクトリ |
$HOME/.baoyu-skills/baoyu-image-gen/EXTEND.md | ユーザーのホームディレクトリ |
EXTEND.md で設定できる項目:デフォルトのプロバイダー | デフォルトの品質 | デフォルトのアスペクト比 | デフォルトの画像サイズ | デフォルトのモデル
スキーマ:references/config/preferences-schema.md
使用方法
# Basic
npx -y bun ${SKILL_DIR}/scripts/main.ts --prompt "A cat" --image cat.png
# With aspect ratio
npx -y bun ${SKILL_DIR}/scripts/main.ts --prompt "A landscape" --image out.png --ar 16:9
# High quality
npx -y bun ${SKILL_DIR}/scripts/main.ts --prompt "A cat" --image out.png --quality 2k
# From prompt files
npx -y bun ${SKILL_DIR}/scripts/main.ts --promptfiles system.md content.md --image out.png
# With reference images (Google multimodal or OpenAI edits)
npx -y bun ${SKILL_DIR}/scripts/main.ts --prompt "Make blue" --image out.png --ref source.png
# With reference images (explicit provider/model)
npx -y bun ${SKILL_DIR}/scripts/main.ts --prompt "Make blue" --image out.png --provider google --model gemini-3-pro-image-preview --ref source.png
# Specific provider
npx -y bun ${SKILL_DIR}/scripts/main.ts --prompt "A cat" --image out.png --provider openai
# DashScope (阿里通义万象)
npx -y bun ${SKILL_DIR}/scripts/main.ts --prompt "一只可爱的猫" --image out.png --provider dashscope
# Replicate (google/nano-banana-pro)
npx -y bun ${SKILL_DIR}/scripts/main.ts --prompt "A cat" --image out.png --provider replicate
# Replicate with specific model
npx -y bun ${SKILL_DIR}/scripts/main.ts --prompt "A cat" --image out.png --provider replicate --model google/nano-banana
オプション
| オプション | 説明 |
|---|---|
--prompt <text>, -p | プロンプトのテキスト |
--promptfiles <files...> | ファイルからプロンプトを読み込みます(連結) |
--image <path> | 出力画像のパス(必須) |
--provider google|openai|dashscope|replicate | プロバイダーを指定します(デフォルト:google) |
--model <id>, -m | モデル ID(Google:gemini-3-pro-image-preview、gemini-3.1-flash-image-preview、OpenAI:gpt-image-1.5) |
--ar <ratio> | アスペクト比(例:16:9、1:1、4:3) |
--size <WxH> | サイズ(例:1024x1024) |
--quality normal|2k | 品質プリセット(デフォルト:2k) |
--imageSize 1K|2K|4K | Google の画像サイズ(デフォルト:品質設定に基づく) |
--ref <files...> | 参照画像。Google マルチモーダル(gemini-3-pro-image-preview、gemini-3-flash-preview、gemini-3.1-flash-image-preview)および OpenAI の編集(GPT Image モデル)で対応しています。プロバイダーが省略された場合は、Google、次に OpenAI の順で使用します |
--n <count> | 画像の枚数 |
--json | JSON 出力 |
環境変数
| 変数 | 説明 |
|---|---|
OPENAI_API_KEY | OpenAI API キー |
GOOGLE_API_KEY | Google API キー |
DASHSCOPE_API_KEY | DashScope API キー(阿里云) |
REPLICATE_API_TOKEN | Replicate API トークン |
OPENAI_IMAGE_MODEL | OpenAI モデルの上書き設定 |
GOOGLE_IMAGE_MODEL | Google モデルの上書き設定 |
DASHSCOPE_IMAGE_MODEL | DashScope モデルの上書き設定(デフォルト:z-image-turbo) |
REPLICATE_IMAGE_MODEL | Replicate モデルの上書き設定(デフォルト:google/nano-banana-pro) |
OPENAI_BASE_URL | OpenAI のカスタムエンドポイント |
GOOGLE_BASE_URL | Google のカスタムエンドポイント |
DASHSCOPE_BASE_URL | DashScope のカスタムエンドポイント |
REPLICATE_BASE_URL | Replicate のカスタムエンドポイント |
読み込みの優先順位:CLI 引数 > EXTEND.md > 環境変数 > <cwd>/.baoyu-skills/.env > ~/.baoyu-skills/.env
モデルの解決
モデルの優先順位(高い順)。すべてのプロバイダーに適用されます。
- CLI フラグ:
--model <id> - EXTEND.md:
default_model.[provider] - 環境変数:
<PROVIDER>_IMAGE_MODEL(例:GOOGLE_IMAGE_MODEL) - 組み込みのデフォルト
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
Replicate モデル
対応するモデル形式:
owner/name(公式モデルに推奨)、例:google/nano-banana-proowner/name:version(バージョン指定のコミュニティモデル)、例:stability-ai/sdxl:<version>
例:
# Use Replicate default model
npx -y bun ${SKILL_DIR}/scripts/main.ts --prompt "A cat" --image out.png --provider replicate
# Override model explicitly
npx -y bun ${SKILL_DIR}/scripts/main.ts --prompt "A cat" --image out.png --provider replicate --model google/nano-banana
プロバイダーの選択
--refが指定されていて--providerがない場合 → Google、OpenAI、Replicate の順に自動選択します--providerが指定されている場合 → それを使用します(--refがある場合は、google、openai、replicateのいずれかである必要があります)- 利用可能な API キーが 1 つだけの場合 → そのプロバイダーを使用します
- 複数利用可能な場合 → デフォルトで Google を使用します
品質プリセット
| プリセット | Google imageSize | OpenAI Size | 用途 |
|---|---|---|---|
normal | 1K | 1024px | クイックプレビュー |
2k(デフォルト) | 2K | 2048px | カバー、イラスト、インフォグラフィック |
Google imageSize:--imageSize 1K|2K|4K で上書きできます
アスペクト比
対応:1:1、16:9、9:16、4:3、3:4、2.35:1
- Google マルチモーダル:
imageConfig.aspectRatioを使用します - Google Imagen:
aspectRatioパラメーターを使用します - OpenAI:最も近い対応サイズに割り当てます
生成モード
デフォルト:順次生成(一度に 1 枚の画像)。これにより、安定した出力が得られ、デバッグも容易になります。
並列生成:ユーザーが並列/同時生成を明示的に要求した場合にのみ使用します。
| モード | 使用する場面 |
|---|---|
| 順次(デフォルト) | 通常の使用、単一画像、少量のバッチ |
| 並列 | ユーザーからの明示的な要求、大量のバッチ(10 枚以上) |
並列設定(要求された場合):
| 設定 | 値 |
|---|---|
| 推奨同時実行数 | 4 サブエージェント |
| 最大同時実行数 | 8 サブエージェント |
| 用途 | ユーザーが並列生成を要求した場合の大量バッチ生成 |
エージェントの実装(並列モードのみ):
# Launch multiple generations in parallel using Task tool
# Each Task runs as background subagent with run_in_background=true
# Collect results via TaskOutput when all complete
エラー処理
- API キーがない場合 → セットアップ手順を含むエラーを返します
- 生成に失敗した場合 → 自動的に 1 回再試行します
- 無効なアスペクト比の場合 → 警告を表示し、デフォルト値で続行します
- 対応していないプロバイダー/モデルの参照画像の場合 → 修正方法のヒントを含むエラーを返します(Google マルチモーダル:
gemini-3-pro-image-preview、gemini-3.1-flash-image-previewに切り替えるか、OpenAI GPT Image edits を使用してください)
拡張機能のサポート
EXTEND.md でカスタム設定が可能です。パスと対応オプションについては、Preferences セクションを参照してください。
OpenClaw の移行に関する注意事項
- 移行モード:OpenClaw ネイティブを優先
- 保持されるディレクトリ:
- scripts:はい
- references:はい
- prompts:いいえ
- 外部依存関係:bun、external-ai-api
- リスクレベル:中
- (検出された)環境変数:
API、DASHSCOPE_API_KEY、DASHSCOPE_BASE_URL、GOOGLE_API_KEY、GOOGLE_BASE_URL、HOME、OPENAI_API_KEY、OPENAI_BASE_URL、REPLICATE_API_TOKEN、REPLICATE_BASE_URL - 設定の互換性:元の
.baoyu-skills/<skill>/EXTEND.mdの動作を維持し、必要に応じてランタイムラッパーに OpenClaw 互換のパスを追加します。
OpenClaw の事前確認
- スクリプトの例で
npx -y bun ...を使用している場合は、bunが利用可能であることを確認します。 - 実行前に、必要な API 認証情報が環境変数としてエクスポートされていることを確認します。
検出された環境変数:API、DASHSCOPE_API_KEY、DASHSCOPE_BASE_URL、GOOGLE_API_KEY、GOOGLE_BASE_URL、HOME、OPENAI_API_KEY、OPENAI_BASE_URL、REPLICATE_API_TOKEN、REPLICATE_BASE_URL
OpenClaw の障害時フォールバック
- ランタイム依存関係が不足している場合は、実行を停止し、正確なインストール/セットアップコマンドを返します。
- API 呼び出しに失敗した場合は、プロバイダー/モデルのフラグを明示して再試行するよう提案し、キーのスコープを検証します。