From 70d9f637272ec97161cc8cd4b387c5acd227980d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jim=20Liu=20=E5=AE=9D=E7=8E=89?= Date: Fri, 13 Mar 2026 16:16:57 -0500 Subject: [PATCH] docs(baoyu-image-gen): add Jimeng and Seedream provider documentation --- README.md | 30 ++++++++++++++++++++++++++++-- README.zh.md | 30 ++++++++++++++++++++++++++++-- skills/baoyu-image-gen/SKILL.md | 18 +++++++++++++----- 3 files changed, 69 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 1aa6577..c5c6668 100644 --- a/README.md +++ b/README.md @@ -665,7 +665,7 @@ AI-powered generation backends. #### baoyu-image-gen -AI SDK-based image generation using OpenAI, Google, OpenRouter, DashScope (Aliyun Tongyi Wanxiang), and Replicate APIs. Supports text-to-image, reference images, aspect ratios, and quality presets. +AI SDK-based image generation using OpenAI, Google, OpenRouter, DashScope (Aliyun Tongyi Wanxiang), Jimeng (即梦), Seedream (豆包), and Replicate APIs. Supports text-to-image, reference images, aspect ratios, and quality presets. ```bash # Basic generation (auto-detect provider) @@ -689,6 +689,12 @@ AI SDK-based image generation using OpenAI, Google, OpenRouter, DashScope (Aliyu # Replicate /baoyu-image-gen --prompt "A cat" --image cat.png --provider replicate +# Jimeng (即梦) +/baoyu-image-gen --prompt "一只可爱的猫" --image cat.png --provider jimeng + +# Seedream (豆包) +/baoyu-image-gen --prompt "一只可爱的猫" --image cat.png --provider seedream + # With reference images (Google, OpenAI, OpenRouter, or Replicate) /baoyu-image-gen --prompt "Make it blue" --image out.png --ref source.png ``` @@ -699,7 +705,7 @@ AI SDK-based image generation using OpenAI, Google, OpenRouter, DashScope (Aliyu | `--prompt`, `-p` | Prompt text | | `--promptfiles` | Read prompt from files (concatenated) | | `--image` | Output image path (required) | -| `--provider` | `google`, `openai`, `openrouter`, `dashscope` or `replicate` (default: auto-detect; prefers google) | +| `--provider` | `google`, `openai`, `openrouter`, `dashscope`, `jimeng`, `seedream` or `replicate` (default: auto-detect; prefers google) | | `--model`, `-m` | Model ID | | `--ar` | Aspect ratio (e.g., `16:9`, `1:1`, `4:3`) | | `--size` | Size (e.g., `1024x1024`) | @@ -714,16 +720,24 @@ AI SDK-based image generation using OpenAI, Google, OpenRouter, DashScope (Aliyu | `GOOGLE_API_KEY` | Google API key | - | | `DASHSCOPE_API_KEY` | DashScope API key (Aliyun) | - | | `REPLICATE_API_TOKEN` | Replicate API token | - | +| `JIMENG_ACCESS_KEY_ID` | Jimeng Volcengine access key | - | +| `JIMENG_SECRET_ACCESS_KEY` | Jimeng Volcengine secret key | - | +| `ARK_API_KEY` | Seedream Volcengine ARK API key | - | | `OPENAI_IMAGE_MODEL` | OpenAI model | `gpt-image-1.5` | | `OPENROUTER_IMAGE_MODEL` | OpenRouter model | `google/gemini-3.1-flash-image-preview` | | `GOOGLE_IMAGE_MODEL` | Google model | `gemini-3-pro-image-preview` | | `DASHSCOPE_IMAGE_MODEL` | DashScope model | `z-image-turbo` | | `REPLICATE_IMAGE_MODEL` | Replicate model | `google/nano-banana-pro` | +| `JIMENG_IMAGE_MODEL` | Jimeng model | `jimeng_t2i_v40` | +| `SEEDREAM_IMAGE_MODEL` | Seedream model | `doubao-seedream-5-0-260128` | | `OPENAI_BASE_URL` | Custom OpenAI endpoint | - | | `OPENROUTER_BASE_URL` | Custom OpenRouter endpoint | `https://openrouter.ai/api/v1` | | `GOOGLE_BASE_URL` | Custom Google endpoint | - | | `DASHSCOPE_BASE_URL` | Custom DashScope endpoint | - | | `REPLICATE_BASE_URL` | Custom Replicate endpoint | - | +| `JIMENG_BASE_URL` | Custom Jimeng endpoint | `https://visual.volcengineapi.com` | +| `JIMENG_REGION` | Jimeng region | `cn-north-1` | +| `SEEDREAM_BASE_URL` | Custom Seedream endpoint | `https://ark.cn-beijing.volces.com/api/v3` | **Provider Auto-Selection**: 1. If `--provider` specified → use it @@ -989,6 +1003,18 @@ DASHSCOPE_IMAGE_MODEL=z-image-turbo REPLICATE_API_TOKEN=r8_xxx REPLICATE_IMAGE_MODEL=google/nano-banana-pro # REPLICATE_BASE_URL=https://api.replicate.com + +# Jimeng (即梦) +JIMENG_ACCESS_KEY_ID=xxx +JIMENG_SECRET_ACCESS_KEY=xxx +JIMENG_IMAGE_MODEL=jimeng_t2i_v40 +# JIMENG_BASE_URL=https://visual.volcengineapi.com +# JIMENG_REGION=cn-north-1 + +# Seedream (豆包) +ARK_API_KEY=xxx +SEEDREAM_IMAGE_MODEL=doubao-seedream-5-0-260128 +# SEEDREAM_BASE_URL=https://ark.cn-beijing.volces.com/api/v3 EOF ``` diff --git a/README.zh.md b/README.zh.md index 7b09a17..8a15cd4 100644 --- a/README.zh.md +++ b/README.zh.md @@ -665,7 +665,7 @@ AI 驱动的生成后端。 #### baoyu-image-gen -基于 AI SDK 的图像生成,支持 OpenAI、Google、OpenRouter、DashScope(阿里通义万相)和 Replicate API。支持文生图、参考图、宽高比和质量预设。 +基于 AI SDK 的图像生成,支持 OpenAI、Google、OpenRouter、DashScope(阿里通义万相)、即梦(Jimeng)、豆包(Seedream)和 Replicate API。支持文生图、参考图、宽高比和质量预设。 ```bash # 基础生成(自动检测服务商) @@ -689,6 +689,12 @@ AI 驱动的生成后端。 # Replicate /baoyu-image-gen --prompt "一只猫" --image cat.png --provider replicate +# 即梦(Jimeng) +/baoyu-image-gen --prompt "一只可爱的猫" --image cat.png --provider jimeng + +# 豆包(Seedream) +/baoyu-image-gen --prompt "一只可爱的猫" --image cat.png --provider seedream + # 带参考图(Google、OpenAI、OpenRouter 或 Replicate) /baoyu-image-gen --prompt "把它变成蓝色" --image out.png --ref source.png ``` @@ -699,7 +705,7 @@ AI 驱动的生成后端。 | `--prompt`, `-p` | 提示词文本 | | `--promptfiles` | 从文件读取提示词(多文件拼接) | | `--image` | 输出图片路径(必需) | -| `--provider` | `google`、`openai`、`openrouter`、`dashscope` 或 `replicate`(默认:自动检测,优先 google) | +| `--provider` | `google`、`openai`、`openrouter`、`dashscope`、`jimeng`、`seedream` 或 `replicate`(默认:自动检测,优先 google) | | `--model`, `-m` | 模型 ID | | `--ar` | 宽高比(如 `16:9`、`1:1`、`4:3`) | | `--size` | 尺寸(如 `1024x1024`) | @@ -714,16 +720,24 @@ AI 驱动的生成后端。 | `GOOGLE_API_KEY` | Google API 密钥 | - | | `DASHSCOPE_API_KEY` | DashScope API 密钥(阿里云) | - | | `REPLICATE_API_TOKEN` | Replicate API Token | - | +| `JIMENG_ACCESS_KEY_ID` | 即梦火山引擎 Access Key | - | +| `JIMENG_SECRET_ACCESS_KEY` | 即梦火山引擎 Secret Key | - | +| `ARK_API_KEY` | 豆包火山引擎 ARK API 密钥 | - | | `OPENAI_IMAGE_MODEL` | OpenAI 模型 | `gpt-image-1.5` | | `OPENROUTER_IMAGE_MODEL` | OpenRouter 模型 | `google/gemini-3.1-flash-image-preview` | | `GOOGLE_IMAGE_MODEL` | Google 模型 | `gemini-3-pro-image-preview` | | `DASHSCOPE_IMAGE_MODEL` | DashScope 模型 | `z-image-turbo` | | `REPLICATE_IMAGE_MODEL` | Replicate 模型 | `google/nano-banana-pro` | +| `JIMENG_IMAGE_MODEL` | 即梦模型 | `jimeng_t2i_v40` | +| `SEEDREAM_IMAGE_MODEL` | 豆包模型 | `doubao-seedream-5-0-260128` | | `OPENAI_BASE_URL` | 自定义 OpenAI 端点 | - | | `OPENROUTER_BASE_URL` | 自定义 OpenRouter 端点 | `https://openrouter.ai/api/v1` | | `GOOGLE_BASE_URL` | 自定义 Google 端点 | - | | `DASHSCOPE_BASE_URL` | 自定义 DashScope 端点 | - | | `REPLICATE_BASE_URL` | 自定义 Replicate 端点 | - | +| `JIMENG_BASE_URL` | 自定义即梦端点 | `https://visual.volcengineapi.com` | +| `JIMENG_REGION` | 即梦区域 | `cn-north-1` | +| `SEEDREAM_BASE_URL` | 自定义豆包端点 | `https://ark.cn-beijing.volces.com/api/v3` | **服务商自动选择**: 1. 如果指定了 `--provider` → 使用指定的 @@ -989,6 +1003,18 @@ DASHSCOPE_IMAGE_MODEL=z-image-turbo REPLICATE_API_TOKEN=r8_xxx REPLICATE_IMAGE_MODEL=google/nano-banana-pro # REPLICATE_BASE_URL=https://api.replicate.com + +# 即梦(Jimeng) +JIMENG_ACCESS_KEY_ID=xxx +JIMENG_SECRET_ACCESS_KEY=xxx +JIMENG_IMAGE_MODEL=jimeng_t2i_v40 +# JIMENG_BASE_URL=https://visual.volcengineapi.com +# JIMENG_REGION=cn-north-1 + +# 豆包(Seedream) +ARK_API_KEY=xxx +SEEDREAM_IMAGE_MODEL=doubao-seedream-5-0-260128 +# SEEDREAM_BASE_URL=https://ark.cn-beijing.volces.com/api/v3 EOF ``` diff --git a/skills/baoyu-image-gen/SKILL.md b/skills/baoyu-image-gen/SKILL.md index 0844c7c..1bc7d09 100644 --- a/skills/baoyu-image-gen/SKILL.md +++ b/skills/baoyu-image-gen/SKILL.md @@ -1,6 +1,6 @@ --- name: baoyu-image-gen -description: AI image generation with OpenAI, Google, OpenRouter, DashScope and Replicate APIs. Supports text-to-image, reference images, aspect ratios, and batch generation from saved prompt files. Sequential by default; use batch parallel generation when the user already has multiple prompts or wants stable multi-image throughput. Use when user asks to generate, create, or draw images. +description: AI image generation with OpenAI, Google, OpenRouter, DashScope, Jimeng, Seedream and Replicate APIs. Supports text-to-image, reference images, aspect ratios, and batch generation from saved prompt files. Sequential by default; use batch parallel generation when the user already has multiple prompts or wants stable multi-image throughput. Use when user asks to generate, create, or draw images. version: 1.56.2 metadata: openclaw: @@ -13,7 +13,7 @@ metadata: # Image Generation (AI SDK) -Official API-based image generation. Supports OpenAI, Google, OpenRouter, DashScope (阿里通义万象) and Replicate providers. +Official API-based image generation. Supports OpenAI, Google, OpenRouter, DashScope (阿里通义万象), Jimeng (即梦), Seedream (豆包) and Replicate providers. ## Script Directory @@ -141,13 +141,13 @@ Paths in `promptFiles`, `image`, and `ref` are resolved relative to the batch fi | `--image ` | Output image path (required in single-image mode) | | `--batchfile ` | JSON batch file for multi-image generation | | `--jobs ` | Worker count for batch mode (default: auto, max from config, built-in default 10) | -| `--provider google\|openai\|openrouter\|dashscope\|replicate` | Force provider (default: auto-detect) | +| `--provider google\|openai\|openrouter\|dashscope\|jimeng\|seedream\|replicate` | Force provider (default: auto-detect) | | `--model `, `-m` | Model ID (Google: `gemini-3-pro-image-preview`; OpenAI: `gpt-image-1.5`; OpenRouter: `google/gemini-3.1-flash-image-preview`) | | `--ar ` | Aspect ratio (e.g., `16:9`, `1:1`, `4:3`) | | `--size ` | Size (e.g., `1024x1024`) | | `--quality normal\|2k` | Quality preset (default: `2k`) | | `--imageSize 1K\|2K\|4K` | Image size for Google/OpenRouter (default: from quality) | -| `--ref ` | Reference images. Supported by Google multimodal, OpenAI GPT Image edits, OpenRouter multimodal models, and Replicate | +| `--ref ` | Reference images. Supported by Google multimodal, OpenAI GPT Image edits, OpenRouter multimodal models, and Replicate. Not supported by Jimeng or Seedream | | `--n ` | Number of images | | `--json` | JSON output | @@ -160,11 +160,16 @@ Paths in `promptFiles`, `image`, and `ref` are resolved relative to the batch fi | `GOOGLE_API_KEY` | Google API key | | `DASHSCOPE_API_KEY` | DashScope API key (阿里云) | | `REPLICATE_API_TOKEN` | Replicate API token | +| `JIMENG_ACCESS_KEY_ID` | Jimeng (即梦) Volcengine access key | +| `JIMENG_SECRET_ACCESS_KEY` | Jimeng (即梦) Volcengine secret key | +| `ARK_API_KEY` | Seedream (豆包) Volcengine ARK API key | | `OPENAI_IMAGE_MODEL` | OpenAI model override | | `OPENROUTER_IMAGE_MODEL` | OpenRouter model override (default: `google/gemini-3.1-flash-image-preview`) | | `GOOGLE_IMAGE_MODEL` | Google model override | | `DASHSCOPE_IMAGE_MODEL` | DashScope model override (default: z-image-turbo) | | `REPLICATE_IMAGE_MODEL` | Replicate model override (default: google/nano-banana-pro) | +| `JIMENG_IMAGE_MODEL` | Jimeng model override (default: jimeng_t2i_v40) | +| `SEEDREAM_IMAGE_MODEL` | Seedream model override (default: doubao-seedream-5-0-260128) | | `OPENAI_BASE_URL` | Custom OpenAI endpoint | | `OPENROUTER_BASE_URL` | Custom OpenRouter endpoint (default: `https://openrouter.ai/api/v1`) | | `OPENROUTER_HTTP_REFERER` | Optional app/site URL for OpenRouter attribution | @@ -172,6 +177,9 @@ Paths in `promptFiles`, `image`, and `ref` are resolved relative to the batch fi | `GOOGLE_BASE_URL` | Custom Google endpoint | | `DASHSCOPE_BASE_URL` | Custom DashScope endpoint | | `REPLICATE_BASE_URL` | Custom Replicate endpoint | +| `JIMENG_BASE_URL` | Custom Jimeng endpoint (default: `https://visual.volcengineapi.com`) | +| `JIMENG_REGION` | Jimeng region (default: `cn-north-1`) | +| `SEEDREAM_BASE_URL` | Custom Seedream endpoint (default: `https://ark.cn-beijing.volces.com/api/v3`) | | `BAOYU_IMAGE_GEN_MAX_WORKERS` | Override batch worker cap | | `BAOYU_IMAGE_GEN__CONCURRENCY` | Override provider concurrency, e.g. `BAOYU_IMAGE_GEN_REPLICATE_CONCURRENCY` | | `BAOYU_IMAGE_GEN__START_INTERVAL_MS` | Override provider start gap, e.g. `BAOYU_IMAGE_GEN_REPLICATE_START_INTERVAL_MS` | @@ -227,7 +235,7 @@ ${BUN_X} {baseDir}/scripts/main.ts --prompt "A cat" --image out.png --provider r ## Provider Selection -1. `--ref` provided + no `--provider` → auto-select Google first, then OpenAI, then OpenRouter, then Replicate +1. `--ref` provided + no `--provider` → auto-select Google first, then OpenAI, then OpenRouter, then Replicate (Jimeng and Seedream do not support reference images) 2. `--provider` specified → use it (if `--ref`, must be `google`, `openai`, `openrouter`, or `replicate`) 3. Only one API key available → use that provider 4. Multiple available → default to Google