feat(baoyu-imagine): rename baoyu-image-gen to baoyu-imagine

This commit is contained in:
Jim Liu 宝玉 2026-03-25 16:28:06 -05:00
parent 23b7487321
commit 69355b4ee1
34 changed files with 76 additions and 76 deletions

View File

@ -22,7 +22,7 @@
"./skills/baoyu-danger-gemini-web", "./skills/baoyu-danger-gemini-web",
"./skills/baoyu-danger-x-to-markdown", "./skills/baoyu-danger-x-to-markdown",
"./skills/baoyu-format-markdown", "./skills/baoyu-format-markdown",
"./skills/baoyu-image-gen", "./skills/baoyu-imagine",
"./skills/baoyu-infographic", "./skills/baoyu-infographic",
"./skills/baoyu-markdown-to-html", "./skills/baoyu-markdown-to-html",
"./skills/baoyu-post-to-weibo", "./skills/baoyu-post-to-weibo",

View File

@ -31,7 +31,7 @@ Execute: `${BUN_X} skills/<skill>/scripts/main.ts [options]`
- **Bun**: TypeScript runtime (`bun` preferred, fallback `npx -y bun`) - **Bun**: TypeScript runtime (`bun` preferred, fallback `npx -y bun`)
- **Chrome**: Required for CDP-based skills (gemini-web, post-to-x/wechat/weibo, url-to-markdown). All CDP skills share a single profile, override via `BAOYU_CHROME_PROFILE_DIR` env var. Platform paths: [docs/chrome-profile.md](docs/chrome-profile.md) - **Chrome**: Required for CDP-based skills (gemini-web, post-to-x/wechat/weibo, url-to-markdown). All CDP skills share a single profile, override via `BAOYU_CHROME_PROFILE_DIR` env var. Platform paths: [docs/chrome-profile.md](docs/chrome-profile.md)
- **Image generation APIs**: `baoyu-image-gen` requires API key (OpenAI, Azure OpenAI, Google, OpenRouter, DashScope, or Replicate) configured in EXTEND.md - **Image generation APIs**: `baoyu-imagine` requires API key (OpenAI, Azure OpenAI, Google, OpenRouter, DashScope, or Replicate) configured in EXTEND.md
- **Gemini Web auth**: Browser cookies (first run opens Chrome for login, `--login` to refresh) - **Gemini Web auth**: Browser cookies (first run opens Chrome for login, `--login` to refresh)
## Security ## Security
@ -46,7 +46,7 @@ Execute: `${BUN_X} skills/<skill>/scripts/main.ts [options]`
| Rule | Description | | Rule | Description |
|------|-------------| |------|-------------|
| **Load project skills first** | Project skills override system/user-level skills with same name | | **Load project skills first** | Project skills override system/user-level skills with same name |
| **Default image generation** | Use `skills/baoyu-image-gen/SKILL.md` unless user specifies otherwise | | **Default image generation** | Use `skills/baoyu-imagine/SKILL.md` unless user specifies otherwise |
Priority: project `skills/``$HOME/.baoyu-skills/` → system-level. Priority: project `skills/``$HOME/.baoyu-skills/` → system-level.

View File

@ -32,7 +32,7 @@ This repository now supports publishing each `skills/baoyu-*` directory as an in
ClawHub installs skills individually, not as one marketplace bundle. After publishing, users can install specific skills such as: ClawHub installs skills individually, not as one marketplace bundle. After publishing, users can install specific skills such as:
```bash ```bash
clawhub install baoyu-image-gen clawhub install baoyu-imagine
clawhub install baoyu-markdown-to-html clawhub install baoyu-markdown-to-html
``` ```
@ -661,58 +661,58 @@ Post content to Weibo (微博). Supports regular posts with text, images, and vi
AI-powered generation backends. AI-powered generation backends.
#### baoyu-image-gen #### baoyu-imagine
AI SDK-based image generation using OpenAI, Azure OpenAI, Google, OpenRouter, DashScope (Aliyun Tongyi Wanxiang), MiniMax, Jimeng (即梦), Seedream (豆包), and Replicate APIs. Supports text-to-image, reference images, aspect ratios, custom sizes, batch generation, and quality presets. AI SDK-based image generation using OpenAI, Azure OpenAI, Google, OpenRouter, DashScope (Aliyun Tongyi Wanxiang), MiniMax, Jimeng (即梦), Seedream (豆包), and Replicate APIs. Supports text-to-image, reference images, aspect ratios, custom sizes, batch generation, and quality presets.
```bash ```bash
# Basic generation (auto-detect provider) # Basic generation (auto-detect provider)
/baoyu-image-gen --prompt "A cute cat" --image cat.png /baoyu-imagine --prompt "A cute cat" --image cat.png
# With aspect ratio # With aspect ratio
/baoyu-image-gen --prompt "A landscape" --image landscape.png --ar 16:9 /baoyu-imagine --prompt "A landscape" --image landscape.png --ar 16:9
# High quality (2k) # High quality (2k)
/baoyu-image-gen --prompt "A banner" --image banner.png --quality 2k /baoyu-imagine --prompt "A banner" --image banner.png --quality 2k
# Specific provider # Specific provider
/baoyu-image-gen --prompt "A cat" --image cat.png --provider openai /baoyu-imagine --prompt "A cat" --image cat.png --provider openai
# Azure OpenAI (model = deployment name) # Azure OpenAI (model = deployment name)
/baoyu-image-gen --prompt "A cat" --image cat.png --provider azure --model gpt-image-1.5 /baoyu-imagine --prompt "A cat" --image cat.png --provider azure --model gpt-image-1.5
# OpenRouter # OpenRouter
/baoyu-image-gen --prompt "A cat" --image cat.png --provider openrouter /baoyu-imagine --prompt "A cat" --image cat.png --provider openrouter
# OpenRouter with reference images # OpenRouter with reference images
/baoyu-image-gen --prompt "Make it blue" --image out.png --provider openrouter --model google/gemini-3.1-flash-image-preview --ref source.png /baoyu-imagine --prompt "Make it blue" --image out.png --provider openrouter --model google/gemini-3.1-flash-image-preview --ref source.png
# DashScope (Aliyun Tongyi Wanxiang) # DashScope (Aliyun Tongyi Wanxiang)
/baoyu-image-gen --prompt "一只可爱的猫" --image cat.png --provider dashscope /baoyu-imagine --prompt "一只可爱的猫" --image cat.png --provider dashscope
# DashScope with custom size # DashScope with custom size
/baoyu-image-gen --prompt "为咖啡品牌设计一张 21:9 横幅海报,包含清晰中文标题" --image banner.png --provider dashscope --model qwen-image-2.0-pro --size 2048x872 /baoyu-imagine --prompt "为咖啡品牌设计一张 21:9 横幅海报,包含清晰中文标题" --image banner.png --provider dashscope --model qwen-image-2.0-pro --size 2048x872
# MiniMax # MiniMax
/baoyu-image-gen --prompt "A fashion editorial portrait by a bright studio window" --image out.jpg --provider minimax /baoyu-imagine --prompt "A fashion editorial portrait by a bright studio window" --image out.jpg --provider minimax
# MiniMax with subject reference # MiniMax with subject reference
/baoyu-image-gen --prompt "A girl stands by the library window, cinematic lighting" --image out.jpg --provider minimax --model image-01 --ref portrait.png --ar 16:9 /baoyu-imagine --prompt "A girl stands by the library window, cinematic lighting" --image out.jpg --provider minimax --model image-01 --ref portrait.png --ar 16:9
# Replicate # Replicate
/baoyu-image-gen --prompt "A cat" --image cat.png --provider replicate /baoyu-imagine --prompt "A cat" --image cat.png --provider replicate
# Jimeng (即梦) # Jimeng (即梦)
/baoyu-image-gen --prompt "一只可爱的猫" --image cat.png --provider jimeng /baoyu-imagine --prompt "一只可爱的猫" --image cat.png --provider jimeng
# Seedream (豆包) # Seedream (豆包)
/baoyu-image-gen --prompt "一只可爱的猫" --image cat.png --provider seedream /baoyu-imagine --prompt "一只可爱的猫" --image cat.png --provider seedream
# With reference images (Google, OpenAI, Azure OpenAI, OpenRouter, Replicate, MiniMax, or Seedream 5.0/4.5/4.0) # With reference images (Google, OpenAI, Azure OpenAI, OpenRouter, Replicate, MiniMax, or Seedream 5.0/4.5/4.0)
/baoyu-image-gen --prompt "Make it blue" --image out.png --ref source.png /baoyu-imagine --prompt "Make it blue" --image out.png --ref source.png
# Batch mode # Batch mode
/baoyu-image-gen --batchfile batch.json --jobs 4 --json /baoyu-imagine --batchfile batch.json --jobs 4 --json
``` ```
**Options**: **Options**:
@ -1045,7 +1045,7 @@ Custom style descriptions are also accepted, e.g., `--style "poetic and lyrical"
Some skills require API keys or custom configuration. Environment variables can be set in `.env` files: Some skills require API keys or custom configuration. Environment variables can be set in `.env` files:
**Load Priority** (higher priority overrides lower): **Load Priority** (higher priority overrides lower):
1. CLI environment variables (e.g., `OPENAI_API_KEY=xxx /baoyu-image-gen ...`) 1. CLI environment variables (e.g., `OPENAI_API_KEY=xxx /baoyu-imagine ...`)
2. `process.env` (system environment) 2. `process.env` (system environment)
3. `<cwd>/.baoyu-skills/.env` (project-level) 3. `<cwd>/.baoyu-skills/.env` (project-level)
4. `~/.baoyu-skills/.env` (user-level) 4. `~/.baoyu-skills/.env` (user-level)

View File

@ -32,7 +32,7 @@ npx skills add jimliu/baoyu-skills
ClawHub 按“单个 skill”安装不是把整个 marketplace 一次性装进去。发布后,用户可以按需安装: ClawHub 按“单个 skill”安装不是把整个 marketplace 一次性装进去。发布后,用户可以按需安装:
```bash ```bash
clawhub install baoyu-image-gen clawhub install baoyu-imagine
clawhub install baoyu-markdown-to-html clawhub install baoyu-markdown-to-html
``` ```
@ -661,58 +661,58 @@ accounts:
AI 驱动的生成后端。 AI 驱动的生成后端。
#### baoyu-image-gen #### baoyu-imagine
基于 AI SDK 的图像生成,支持 OpenAI、Azure OpenAI、Google、OpenRouter、DashScope阿里通义万相、MiniMax、即梦Jimeng、豆包Seedream和 Replicate API。支持文生图、参考图、宽高比、自定义尺寸、批量生成和质量预设。 基于 AI SDK 的图像生成,支持 OpenAI、Azure OpenAI、Google、OpenRouter、DashScope阿里通义万相、MiniMax、即梦Jimeng、豆包Seedream和 Replicate API。支持文生图、参考图、宽高比、自定义尺寸、批量生成和质量预设。
```bash ```bash
# 基础生成(自动检测服务商) # 基础生成(自动检测服务商)
/baoyu-image-gen --prompt "一只可爱的猫" --image cat.png /baoyu-imagine --prompt "一只可爱的猫" --image cat.png
# 指定宽高比 # 指定宽高比
/baoyu-image-gen --prompt "风景图" --image landscape.png --ar 16:9 /baoyu-imagine --prompt "风景图" --image landscape.png --ar 16:9
# 高质量2k 分辨率) # 高质量2k 分辨率)
/baoyu-image-gen --prompt "横幅图" --image banner.png --quality 2k /baoyu-imagine --prompt "横幅图" --image banner.png --quality 2k
# 指定服务商 # 指定服务商
/baoyu-image-gen --prompt "一只猫" --image cat.png --provider openai /baoyu-imagine --prompt "一只猫" --image cat.png --provider openai
# Azure OpenAImodel 为部署名称) # Azure OpenAImodel 为部署名称)
/baoyu-image-gen --prompt "一只猫" --image cat.png --provider azure --model gpt-image-1.5 /baoyu-imagine --prompt "一只猫" --image cat.png --provider azure --model gpt-image-1.5
# OpenRouter # OpenRouter
/baoyu-image-gen --prompt "一只猫" --image cat.png --provider openrouter /baoyu-imagine --prompt "一只猫" --image cat.png --provider openrouter
# OpenRouter + 参考图 # OpenRouter + 参考图
/baoyu-image-gen --prompt "把它变成蓝色" --image out.png --provider openrouter --model google/gemini-3.1-flash-image-preview --ref source.png /baoyu-imagine --prompt "把它变成蓝色" --image out.png --provider openrouter --model google/gemini-3.1-flash-image-preview --ref source.png
# DashScope阿里通义万相 # DashScope阿里通义万相
/baoyu-image-gen --prompt "一只可爱的猫" --image cat.png --provider dashscope /baoyu-imagine --prompt "一只可爱的猫" --image cat.png --provider dashscope
# DashScope 自定义尺寸 # DashScope 自定义尺寸
/baoyu-image-gen --prompt "为咖啡品牌设计一张 21:9 横幅海报,包含清晰中文标题" --image banner.png --provider dashscope --model qwen-image-2.0-pro --size 2048x872 /baoyu-imagine --prompt "为咖啡品牌设计一张 21:9 横幅海报,包含清晰中文标题" --image banner.png --provider dashscope --model qwen-image-2.0-pro --size 2048x872
# MiniMax # MiniMax
/baoyu-image-gen --prompt "A fashion editorial portrait by a bright studio window" --image out.jpg --provider minimax /baoyu-imagine --prompt "A fashion editorial portrait by a bright studio window" --image out.jpg --provider minimax
# MiniMax + 角色参考图 # MiniMax + 角色参考图
/baoyu-image-gen --prompt "A girl stands by the library window, cinematic lighting" --image out.jpg --provider minimax --model image-01 --ref portrait.png --ar 16:9 /baoyu-imagine --prompt "A girl stands by the library window, cinematic lighting" --image out.jpg --provider minimax --model image-01 --ref portrait.png --ar 16:9
# Replicate # Replicate
/baoyu-image-gen --prompt "一只猫" --image cat.png --provider replicate /baoyu-imagine --prompt "一只猫" --image cat.png --provider replicate
# 即梦Jimeng # 即梦Jimeng
/baoyu-image-gen --prompt "一只可爱的猫" --image cat.png --provider jimeng /baoyu-imagine --prompt "一只可爱的猫" --image cat.png --provider jimeng
# 豆包Seedream # 豆包Seedream
/baoyu-image-gen --prompt "一只可爱的猫" --image cat.png --provider seedream /baoyu-imagine --prompt "一只可爱的猫" --image cat.png --provider seedream
# 带参考图Google、OpenAI、Azure OpenAI、OpenRouter、Replicate、MiniMax 或 Seedream 5.0/4.5/4.0 # 带参考图Google、OpenAI、Azure OpenAI、OpenRouter、Replicate、MiniMax 或 Seedream 5.0/4.5/4.0
/baoyu-image-gen --prompt "把它变成蓝色" --image out.png --ref source.png /baoyu-imagine --prompt "把它变成蓝色" --image out.png --ref source.png
# 批量模式 # 批量模式
/baoyu-image-gen --batchfile batch.json --jobs 4 --json /baoyu-imagine --batchfile batch.json --jobs 4 --json
``` ```
**选项** **选项**
@ -1045,7 +1045,7 @@ AI 驱动的生成后端。
部分技能需要 API 密钥或自定义配置。环境变量可以在 `.env` 文件中设置: 部分技能需要 API 密钥或自定义配置。环境变量可以在 `.env` 文件中设置:
**加载优先级**(高优先级覆盖低优先级): **加载优先级**(高优先级覆盖低优先级):
1. 命令行环境变量(如 `OPENAI_API_KEY=xxx /baoyu-image-gen ...` 1. 命令行环境变量(如 `OPENAI_API_KEY=xxx /baoyu-imagine ...`
2. `process.env`(系统环境变量) 2. `process.env`(系统环境变量)
3. `<cwd>/.baoyu-skills/.env`(项目级) 3. `<cwd>/.baoyu-skills/.env`(项目级)
4. `~/.baoyu-skills/.env`(用户级) 4. `~/.baoyu-skills/.env`(用户级)

View File

@ -4,7 +4,7 @@ Skills that require image generation MUST delegate to available image generation
## Skill Selection ## Skill Selection
**Default**: `skills/baoyu-image-gen/SKILL.md` (unless user specifies otherwise). **Default**: `skills/baoyu-imagine/SKILL.md` (unless user specifies otherwise).
1. Read skill's SKILL.md for parameters and capabilities 1. Read skill's SKILL.md for parameters and capabilities
2. If user requests different skill, check `skills/` for alternatives 2. If user requests different skill, check `skills/` for alternatives
@ -16,7 +16,7 @@ Skills that require image generation MUST delegate to available image generation
### Step N: Generate Images ### Step N: Generate Images
**Skill Selection**: **Skill Selection**:
1. Check available skills (`baoyu-image-gen` default, or `baoyu-danger-gemini-web`) 1. Check available skills (`baoyu-imagine` default, or `baoyu-danger-gemini-web`)
2. Read selected skill's SKILL.md for parameters 2. Read selected skill's SKILL.md for parameters
3. If multiple skills available, ask user to choose 3. If multiple skills available, ask user to choose
@ -27,7 +27,7 @@ Skills that require image generation MUST delegate to available image generation
4. On failure, auto-retry once before reporting error 4. On failure, auto-retry once before reporting error
``` ```
**Batch Parallel** (`baoyu-image-gen` only): concurrent workers with per-provider throttling via `batch.max_workers` in EXTEND.md. **Batch Parallel** (`baoyu-imagine` only): concurrent workers with per-provider throttling via `batch.max_workers` in EXTEND.md.
## Output Path Convention ## Output Path Convention

View File

@ -118,7 +118,7 @@ Full template: [references/workflow.md](references/workflow.md#step-4-generate-o
⛔ **BLOCKING: Prompt files MUST be saved before ANY image generation.** ⛔ **BLOCKING: Prompt files MUST be saved before ANY image generation.**
**Execution strategy**: When multiple illustrations have saved prompt files and the task is now plain generation, prefer `baoyu-image-gen` batch mode (`build-batch.ts` → `--batchfile`) over spawning subagents. Use subagents only when each image still needs separate prompt iteration or creative exploration. **Execution strategy**: When multiple illustrations have saved prompt files and the task is now plain generation, prefer `baoyu-imagine` batch mode (`build-batch.ts` → `--batchfile`) over spawning subagents. Use subagents only when each image still needs separate prompt iteration or creative exploration.
1. For each illustration, create a prompt file per [references/prompt-construction.md](references/prompt-construction.md) 1. For each illustration, create a prompt file per [references/prompt-construction.md](references/prompt-construction.md)
2. Save to `prompts/NN-{type}-{slug}.md` with YAML frontmatter 2. Save to `prompts/NN-{type}-{slug}.md` with YAML frontmatter

View File

@ -316,7 +316,7 @@ Prompt Files:
**DO NOT** pass ad-hoc inline text to `--prompt` without first saving prompt files. The generation command should either use `--promptfiles prompts/NN-{type}-{slug}.md` or read the saved file content for `--prompt`. **DO NOT** pass ad-hoc inline text to `--prompt` without first saving prompt files. The generation command should either use `--promptfiles prompts/NN-{type}-{slug}.md` or read the saved file content for `--prompt`.
**Execution choice**: **Execution choice**:
- If multiple illustrations already have saved prompt files and the task is now plain generation, prefer `baoyu-image-gen` batch mode (`build-batch.ts` -> `main.ts --batchfile`) - If multiple illustrations already have saved prompt files and the task is now plain generation, prefer `baoyu-imagine` batch mode (`build-batch.ts` -> `main.ts --batchfile`)
- Use subagents only when each illustration still needs separate prompt rewriting, style exploration, or other per-image reasoning before generation - Use subagents only when each illustration still needs separate prompt rewriting, style exploration, or other per-image reasoning before generation
**CRITICAL - References in Frontmatter**: **CRITICAL - References in Frontmatter**:
@ -352,7 +352,7 @@ Check available skills. If multiple, ask user.
| Skill Supports `--ref` | Action | | Skill Supports `--ref` | Action |
|------------------------|--------| |------------------------|--------|
| Yes (e.g., baoyu-image-gen with Google) | Pass reference images via `--ref` | | Yes (e.g., baoyu-imagine with Google) | Pass reference images via `--ref` |
| No | Convert to text description, append to prompt | | No | Convert to text description, append to prompt |
**Verification**: Before generating, confirm reference processing: **Verification**: Before generating, confirm reference processing:

View File

@ -29,8 +29,8 @@ Options:
--prompts <path> Path to prompts directory --prompts <path> Path to prompts directory
--output <path> Path to output batch.json --output <path> Path to output batch.json
--images-dir <path> Directory for generated images --images-dir <path> Directory for generated images
--provider <name> Provider for baoyu-image-gen batch tasks (default: replicate) --provider <name> Provider for baoyu-imagine batch tasks (default: replicate)
--model <id> Model for baoyu-image-gen batch tasks (default: google/nano-banana-pro) --model <id> Model for baoyu-imagine batch tasks (default: google/nano-banana-pro)
--ar <ratio> Aspect ratio for all tasks (default: 16:9) --ar <ratio> Aspect ratio for all tasks (default: 16:9)
--quality <level> Quality for all tasks (default: 2k) --quality <level> Quality for all tasks (default: 2k)
--jobs <count> Recommended worker count metadata (optional) --jobs <count> Recommended worker count metadata (optional)

View File

@ -216,7 +216,7 @@ Analyze → [Check Existing?] → [Confirm: Style + Reviews] → Storyboard →
**7.1 Generate character sheet first**: **7.1 Generate character sheet first**:
- **Backup rule**: If `characters/characters.png` exists, rename to `characters/characters-backup-YYYYMMDD-HHMMSS.png` - **Backup rule**: If `characters/characters.png` exists, rename to `characters/characters-backup-YYYYMMDD-HHMMSS.png`
- Invoke an installed image generation skill such as `baoyu-image-gen` - Invoke an installed image generation skill such as `baoyu-imagine`
- Read that skill's `SKILL.md` and follow its documented interface rather than calling its scripts directly - Read that skill's `SKILL.md` and follow its documented interface rather than calling its scripts directly
- Use `characters/characters.md` as the prompt-file input - Use `characters/characters.md` as the prompt-file input
- Save output to `characters/characters.png` - Save output to `characters/characters.png`

View File

@ -433,7 +433,7 @@ With confirmed prompts from Step 5/6:
| Supports `--ref` | **Strategy A** | Pass `characters/characters.png` with EVERY page | | Supports `--ref` | **Strategy A** | Pass `characters/characters.png` with EVERY page |
| Does NOT support `--ref` | **Strategy B** | Prepend character descriptions to EVERY prompt | | Does NOT support `--ref` | **Strategy B** | Prepend character descriptions to EVERY prompt |
**Strategy A: Using `--ref` parameter** (e.g., baoyu-image-gen) **Strategy A: Using `--ref` parameter** (e.g., baoyu-imagine)
- Read the chosen image generation skill's `SKILL.md` - Read the chosen image generation skill's `SKILL.md`
- Invoke that installed skill via its documented interface, not by calling its scripts directly - Invoke that installed skill via its documented interface, not by calling its scripts directly

View File

@ -1,10 +1,10 @@
--- ---
name: baoyu-image-gen name: baoyu-imagine
description: AI image generation with OpenAI, Azure OpenAI, Google, OpenRouter, DashScope, MiniMax, 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. description: AI image generation with OpenAI, Azure OpenAI, Google, OpenRouter, DashScope, MiniMax, 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.4 version: 1.56.4
metadata: metadata:
openclaw: openclaw:
homepage: https://github.com/JimLiu/baoyu-skills#baoyu-image-gen homepage: https://github.com/JimLiu/baoyu-skills#baoyu-imagine
requires: requires:
anyBins: anyBins:
- bun - bun
@ -30,17 +30,17 @@ Check EXTEND.md existence (priority: project → user):
```bash ```bash
# macOS, Linux, WSL, Git Bash # macOS, Linux, WSL, Git Bash
test -f .baoyu-skills/baoyu-image-gen/EXTEND.md && echo "project" test -f .baoyu-skills/baoyu-imagine/EXTEND.md && echo "project"
test -f "${XDG_CONFIG_HOME:-$HOME/.config}/baoyu-skills/baoyu-image-gen/EXTEND.md" && echo "xdg" test -f "${XDG_CONFIG_HOME:-$HOME/.config}/baoyu-skills/baoyu-imagine/EXTEND.md" && echo "xdg"
test -f "$HOME/.baoyu-skills/baoyu-image-gen/EXTEND.md" && echo "user" test -f "$HOME/.baoyu-skills/baoyu-imagine/EXTEND.md" && echo "user"
``` ```
```powershell ```powershell
# PowerShell (Windows) # PowerShell (Windows)
if (Test-Path .baoyu-skills/baoyu-image-gen/EXTEND.md) { "project" } if (Test-Path .baoyu-skills/baoyu-imagine/EXTEND.md) { "project" }
$xdg = if ($env:XDG_CONFIG_HOME) { $env:XDG_CONFIG_HOME } else { "$HOME/.config" } $xdg = if ($env:XDG_CONFIG_HOME) { $env:XDG_CONFIG_HOME } else { "$HOME/.config" }
if (Test-Path "$xdg/baoyu-skills/baoyu-image-gen/EXTEND.md") { "xdg" } if (Test-Path "$xdg/baoyu-skills/baoyu-imagine/EXTEND.md") { "xdg" }
if (Test-Path "$HOME/.baoyu-skills/baoyu-image-gen/EXTEND.md") { "user" } if (Test-Path "$HOME/.baoyu-skills/baoyu-imagine/EXTEND.md") { "user" }
``` ```
| Result | Action | | Result | Action |
@ -52,8 +52,8 @@ if (Test-Path "$HOME/.baoyu-skills/baoyu-image-gen/EXTEND.md") { "user" }
| Path | Location | | Path | Location |
|------|----------| |------|----------|
| `.baoyu-skills/baoyu-image-gen/EXTEND.md` | Project directory | | `.baoyu-skills/baoyu-imagine/EXTEND.md` | Project directory |
| `$HOME/.baoyu-skills/baoyu-image-gen/EXTEND.md` | User home | | `$HOME/.baoyu-skills/baoyu-imagine/EXTEND.md` | User home |
**EXTEND.md Supports**: Default provider | Default quality | Default aspect ratio | Default image size | Default models | Batch worker cap | Provider-specific batch limits **EXTEND.md Supports**: Default provider | Default quality | Default aspect ratio | Default image size | Default models | Batch worker cap | Provider-specific batch limits
@ -252,7 +252,7 @@ When translating CLI args into DashScope behavior:
- `--size` wins over `--ar` - `--size` wins over `--ar`
- For `qwen-image-2.0*`, prefer explicit `--size`; otherwise infer from `--ar` and use the official recommended resolutions below - For `qwen-image-2.0*`, prefer explicit `--size`; otherwise infer from `--ar` and use the official recommended resolutions below
- For `qwen-image-max/plus/image`, only use the five official fixed sizes; if the requested ratio is not covered, switch to `qwen-image-2.0-pro` - For `qwen-image-max/plus/image`, only use the five official fixed sizes; if the requested ratio is not covered, switch to `qwen-image-2.0-pro`
- `--quality` is a baoyu-image-gen compatibility preset, not a native DashScope API field. Mapping `normal` / `2k` onto the `qwen-image-2.0*` table below is an implementation inference, not an official API guarantee - `--quality` is a baoyu-imagine compatibility preset, not a native DashScope API field. Mapping `normal` / `2k` onto the `qwen-image-2.0*` table below is an implementation inference, not an official API guarantee
Recommended `qwen-image-2.0*` sizes for common aspect ratios: Recommended `qwen-image-2.0*` sizes for common aspect ratios:
@ -267,7 +267,7 @@ Recommended `qwen-image-2.0*` sizes for common aspect ratios:
| `16:9` | `1280*720` | `1920*1080` | | `16:9` | `1280*720` | `1920*1080` |
| `21:9` | `1344*576` | `2048*872` | | `21:9` | `1344*576` | `2048*872` |
DashScope official APIs also expose `negative_prompt`, `prompt_extend`, and `watermark`, but `baoyu-image-gen` does not expose them as dedicated CLI flags today. DashScope official APIs also expose `negative_prompt`, `prompt_extend`, and `watermark`, but `baoyu-imagine` does not expose them as dedicated CLI flags today.
Official references: Official references:
@ -294,7 +294,7 @@ MiniMax subject reference notes:
- `--ref` files are sent as MiniMax `subject_reference` - `--ref` files are sent as MiniMax `subject_reference`
- MiniMax docs currently describe `subject_reference[].type` as `character` - MiniMax docs currently describe `subject_reference[].type` as `character`
- Official docs say `image_file` supports public URLs or Base64 Data URLs; `baoyu-image-gen` sends local refs as Data URLs - Official docs say `image_file` supports public URLs or Base64 Data URLs; `baoyu-imagine` sends local refs as Data URLs
- Official docs recommend front-facing portrait references in JPG/JPEG/PNG under 10MB - Official docs recommend front-facing portrait references in JPG/JPEG/PNG under 10MB
Official references: Official references:

View File

@ -1,6 +1,6 @@
--- ---
name: first-time-setup name: first-time-setup
description: First-time setup and default model selection flow for baoyu-image-gen description: First-time setup and default model selection flow for baoyu-imagine
--- ---
# First-Time Setup # First-Time Setup
@ -147,8 +147,8 @@ options:
| Choice | Path | Scope | | Choice | Path | Scope |
|--------|------|-------| |--------|------|-------|
| Project | `.baoyu-skills/baoyu-image-gen/EXTEND.md` | Current project | | Project | `.baoyu-skills/baoyu-imagine/EXTEND.md` | Current project |
| User | `$HOME/.baoyu-skills/baoyu-image-gen/EXTEND.md` | All projects | | User | `$HOME/.baoyu-skills/baoyu-imagine/EXTEND.md` | All projects |
### EXTEND.md Template ### EXTEND.md Template
@ -214,7 +214,7 @@ options:
Notes for Azure setup: Notes for Azure setup:
- In `baoyu-image-gen`, Azure `--model` / `default_model.azure` should be the Azure deployment name, not just the underlying model family. - In `baoyu-imagine`, Azure `--model` / `default_model.azure` should be the Azure deployment name, not just the underlying model family.
- If the deployment name is custom, save that exact deployment name in `default_model.azure`. - If the deployment name is custom, save that exact deployment name in `default_model.azure`.
### OpenRouter Model Selection ### OpenRouter Model Selection
@ -255,7 +255,7 @@ Notes for DashScope setup:
- Prefer `qwen-image-2.0-pro` when the user needs custom `--size`, uncommon ratios like `21:9`, or strong Chinese/English text rendering. - Prefer `qwen-image-2.0-pro` when the user needs custom `--size`, uncommon ratios like `21:9`, or strong Chinese/English text rendering.
- `qwen-image-max` / `qwen-image-plus` / `qwen-image` only support five fixed sizes: `1664*928`, `1472*1104`, `1328*1328`, `1104*1472`, `928*1664`. - `qwen-image-max` / `qwen-image-plus` / `qwen-image` only support five fixed sizes: `1664*928`, `1472*1104`, `1328*1328`, `1104*1472`, `928*1664`.
- In `baoyu-image-gen`, `quality` is a compatibility preset. It is not a native DashScope parameter. - In `baoyu-imagine`, `quality` is a compatibility preset. It is not a native DashScope parameter.
### Replicate Model Selection ### Replicate Model Selection

View File

@ -1,6 +1,6 @@
--- ---
name: preferences-schema name: preferences-schema
description: EXTEND.md YAML schema for baoyu-image-gen user preferences description: EXTEND.md YAML schema for baoyu-imagine user preferences
--- ---
# Preferences Schema # Preferences Schema

View File

@ -69,7 +69,7 @@ async function makeTempDir(prefix: string): Promise<string> {
return fs.mkdtemp(path.join(os.tmpdir(), prefix)); return fs.mkdtemp(path.join(os.tmpdir(), prefix));
} }
test("parseArgs parses the main image-gen CLI flags", () => { test("parseArgs parses the main baoyu-imagine CLI flags", () => {
const args = parseArgs([ const args = parseArgs([
"--promptfiles", "--promptfiles",
"prompts/system.md", "prompts/system.md",
@ -349,7 +349,7 @@ test("batch worker and provider-rate-limit configuration prefer env over EXTEND
}); });
test("loadBatchTasks and createTaskArgs resolve batch-relative paths", async (t) => { test("loadBatchTasks and createTaskArgs resolve batch-relative paths", async (t) => {
const root = await makeTempDir("baoyu-image-gen-batch-"); const root = await makeTempDir("baoyu-imagine-batch-");
t.after(() => fs.rm(root, { recursive: true, force: true })); t.after(() => fs.rm(root, { recursive: true, force: true }));
const batchFile = path.join(root, "jobs", "batch.json"); const batchFile = path.join(root, "jobs", "batch.json");

View File

@ -476,8 +476,8 @@ async function loadExtendConfig(): Promise<Partial<ExtendConfig>> {
const cwd = process.cwd(); const cwd = process.cwd();
const paths = [ const paths = [
path.join(cwd, ".baoyu-skills", "baoyu-image-gen", "EXTEND.md"), path.join(cwd, ".baoyu-skills", "baoyu-imagine", "EXTEND.md"),
path.join(home, ".baoyu-skills", "baoyu-image-gen", "EXTEND.md"), path.join(home, ".baoyu-skills", "baoyu-imagine", "EXTEND.md"),
]; ];
for (const p of paths) { for (const p of paths) {

View File

@ -136,7 +136,7 @@ test("Azure image generation routes model to deployment and sends mapped quality
}); });
test("Azure image edits include quality in multipart requests", async (t) => { test("Azure image edits include quality in multipart requests", async (t) => {
const root = await makeTempDir("baoyu-image-gen-azure-"); const root = await makeTempDir("baoyu-imagine-azure-");
t.after(() => fs.rm(root, { recursive: true, force: true })); t.after(() => fs.rm(root, { recursive: true, force: true }));
const pngPath = path.join(root, "ref.png"); const pngPath = path.join(root, "ref.png");

View File

@ -421,7 +421,7 @@ export async function generateImage(
if (args.referenceImages.length > 0) { if (args.referenceImages.length > 0) {
throw new Error( throw new Error(
"Reference images are not supported with DashScope provider in baoyu-image-gen. Use --provider google with a Gemini multimodal model." "Reference images are not supported with DashScope provider in baoyu-imagine. Use --provider google with a Gemini multimodal model."
); );
} }