Files
baoyu-skills/skills/baoyu-image-gen/references/config/preferences-schema.md
T
Jim Liu 宝玉 49e9c46ca4 feat(baoyu-image-gen): add codex-cli provider wrapping codex-imagegen
Expose Codex CLI's built-in image_gen tool through baoyu-image-gen's
standard CLI + batch flow as a dedicated provider. The provider spawns
the bundled scripts/codex-imagegen/main.ts (synced from
packages/baoyu-codex-imagegen/src/) so the skill remains self-contained
and inherits retry, cache, file-lock, and JSONL logging. No
OPENAI_API_KEY required — uses the user's Codex subscription.

New env vars: BAOYU_CODEX_IMAGEGEN_{BIN,CACHE_DIR,TIMEOUT_MS,RETRIES,LOG_FILE}.
Hyphenated provider names now resolve under-scored env vars (e.g.,
BAOYU_IMAGE_GEN_CODEX_CLI_CONCURRENCY). codex-cli is never auto-selected
— pin via --provider or default_provider in EXTEND.md.
2026-05-25 00:18:27 -05:00

4.5 KiB

name, description
name description
preferences-schema EXTEND.md YAML schema for baoyu-image-gen user preferences

Preferences Schema

Full Schema

---
version: 1

default_provider: null      # google|openai|azure|openrouter|dashscope|zai|minimax|replicate|jimeng|seedream|codex-cli|null (null = auto-detect; codex-cli is never auto-detected — pin it here or via --provider)

default_quality: null       # normal|2k|null (null = use default: 2k)

default_aspect_ratio: null  # "16:9"|"1:1"|"4:3"|"3:4"|"2.35:1"|null

default_image_size: null    # 1K|2K|4K|null (Google/OpenRouter, overrides quality)

default_image_api_dialect: null  # openai-native|ratio-metadata|null (OpenAI-compatible gateways; null = use env/default)

default_model:
  google: null              # e.g., "gemini-3-pro-image-preview", "gemini-3.1-flash-image-preview"
  openai: null              # e.g., "gpt-image-2", "gpt-image-1.5", "gpt-image-1"
  azure: null               # Azure deployment name, e.g., "gpt-image-2" or "image-prod"
  openrouter: null          # e.g., "google/gemini-3.1-flash-image-preview"
  dashscope: null           # e.g., "qwen-image-2.0-pro"
  zai: null                 # e.g., "glm-image"
  minimax: null             # e.g., "image-01"
  replicate: null           # e.g., "google/nano-banana-2"
  codex-cli: null           # Logical label only — Codex image_gen has no user-selectable model. Default: "codex-image-gen"

batch:
  max_workers: 10
  provider_limits:
    replicate:
      concurrency: 5
      start_interval_ms: 700
    google:
      concurrency: 3
      start_interval_ms: 1100
    openai:
      concurrency: 3
      start_interval_ms: 1100
    azure:
      concurrency: 3
      start_interval_ms: 1100
    openrouter:
      concurrency: 3
      start_interval_ms: 1100
    dashscope:
      concurrency: 3
      start_interval_ms: 1100
    zai:
      concurrency: 3
      start_interval_ms: 1100
    minimax:
      concurrency: 3
      start_interval_ms: 1100
    codex-cli:
      concurrency: 1
      start_interval_ms: 2000
---

Field Reference

Field Type Default Description
version int 1 Schema version
default_provider string|null null Default provider (null = auto-detect)
default_quality string|null null Default quality (null = 2k)
default_aspect_ratio string|null null Default aspect ratio
default_image_size string|null null Google/OpenRouter image size (overrides quality)
default_image_api_dialect string|null null OpenAI-compatible image dialect (openai-native or ratio-metadata)
default_model.google string|null null Google default model
default_model.openai string|null null OpenAI default model
default_model.azure string|null null Azure default deployment name
default_model.openrouter string|null null OpenRouter default model
default_model.dashscope string|null null DashScope default model
default_model.zai string|null null Z.AI default model
default_model.minimax string|null null MiniMax default model
default_model.replicate string|null null Replicate default model
default_model.codex-cli string|null null Codex-CLI logical label (Codex image_gen has no user-selectable model)
batch.max_workers int|null 10 Batch worker cap
batch.provider_limits.<provider>.concurrency int|null provider default Max simultaneous requests per provider
batch.provider_limits.<provider>.start_interval_ms int|null provider default Minimum gap between request starts per provider

Examples

Minimal:

---
version: 1
default_provider: google
default_quality: 2k
default_image_api_dialect: null
---

Full:

---
version: 1
default_provider: google
default_quality: 2k
default_aspect_ratio: "16:9"
default_image_size: 2K
default_image_api_dialect: null
default_model:
  google: "gemini-3-pro-image-preview"
  openai: "gpt-image-2"
  azure: "gpt-image-2"
  openrouter: "google/gemini-3.1-flash-image-preview"
  dashscope: "qwen-image-2.0-pro"
  zai: "glm-image"
  minimax: "image-01"
  replicate: "google/nano-banana-2"
batch:
  max_workers: 10
  provider_limits:
    replicate:
      concurrency: 5
      start_interval_ms: 700
    azure:
      concurrency: 3
      start_interval_ms: 1100
    zai:
      concurrency: 3
      start_interval_ms: 1100
    openrouter:
      concurrency: 3
      start_interval_ms: 1100
    minimax:
      concurrency: 3
      start_interval_ms: 1100
---