ChatImg 文档
ChatImg 是 ChatArch 的图片生成包,承接原 chattool image 中已经解耦的 provider 实现。
支持的 provider
openai/crscodex/openai-codexpollinationssiliconflowhuggingfaceliblibtongyi
常用命令
chatimg --help
chatimg --version
chatimg --tree
chatimg --tree-brief
chatimg openai generate "a small red apple icon" -o apple.png
chatimg codex auth-status --profile work
chatimg codex auth-refresh --profile work
chatimg codex list-models
chatimg pollinations list-models
chatimg --tree 默认显示参数签名;chatimg --tree-brief 保留命令节点和描述,但省略参数签名。两种输出都以公开 CLI 名 chatimg 作为根节点。
生成示例:
chatimg openai generate "a watercolor fox in the snow" --model gpt-image-2-medium --size 1024x1024 -o fox.png
chatimg codex generate "a watercolor fox in the snow" --profile work --aspect-ratio square -o fox-codex.png
chatimg pollinations generate "a cyberpunk cat" --model flux --width 512 --height 512 -o cat.png
OpenAI-compatible / CRS API-key 生图
openai provider 对齐 OpenAI 官方 Images API:POST {OPENAI_API_BASE}/images/generations。官方 base 是 https://api.openai.com/v1,完整接口是 https://api.openai.com/v1/images/generations。
Images 保持默认。CRS Responses bridge 使用 --api-mode responses;carrier --host-model(默认 gpt-5.5,或读取 OPENAI_API_MODEL)与 image --model 独立。未指定 --profile 时按显式参数、进程环境、active ChatEnv profile、默认值取值;命名 profile 相互隔离。API mode 按显式参数、进程环境、active ChatImg profile、images 取值。该路径不读取 OAuth token 文件,也不自动重试;不支持的 Responses 参数会在 HTTP 前报错。
chatenv use -t oai apple
chatimg openai generate "a small red apple icon" -o apple.png
CRS API-key 验收应先用同一个 key 调普通 Responses 模型,再调 Images API。openai provider 只读取 OPENAI_API_KEY,不会 fallback 到 access token:
chatimg openai generate \
--api-mode responses --profile work --host-model gpt-5.5 \
"A simple orange paper airplane over a pale blue grid, no text" \
--model gpt-image-2-low \
--quality low \
--size 1024x1024 \
-o generated/crs-api-key-image.png
Codex / GPT Image2 实测示例
codex provider 走 ChatGPT/Codex OAuth-backed Responses API,请求里的 image tool model 是 gpt-image-2。它不是外部 Codex CLI。
chatimg codex 现在复用 ChatEnv 的 OpenAI profile 和 runtime token-store,不再需要维护单独的 Codex env 文件:
- runtime token-store:
~/.chatarch/tokens/OpenAI/<profile>.json,包含 access/refresh token 等动态状态,并且优先级最高。 - stable seed:
~/.chatarch/envs/OpenAI/<profile>.env(defaultprofile 使用 activeOpenAI/.env),只放 OAuth/backend/model seed 或 fallback。 - 常用 seed 字段:
OPENAI_OAUTH_BASE_URL、CHATGPT_BACKEND_BASE_URL、OPENAI_API_MODEL、OPENAI_IMAGE_MODEL。 - 请求地址默认由
CHATGPT_BACKEND_BASE_URL组合为${CHATGPT_BACKEND_BASE_URL}/codex/responses。 openai/crsAPI-key provider 仍只读取OPENAI_API_KEY,不会 fallback 到 OAuth token。
可以显式指定 OpenAI profile:
chatimg codex auth-status --profile work
chatimg codex auth-refresh --profile work
chatimg codex generate "a small orange paper airplane" \
--profile work \
--host-model gpt-5.5 \
--image-model gpt-image-2-low \
-o generated/codex-image.png
基础验收图:
chatimg codex generate \
"A clean minimal ChatImg acceptance test illustration: a friendly robot holding a small picture frame, modern flat design, white background, no text" \
--image-model gpt-image-2-low \
--aspect-ratio square \
-o generated/chatimg-gpt-image2-basic.png \
--timeout 300
快速排序流程图:
chatimg codex generate \
"Create a clean landscape technical design flowchart explaining quicksort. Use this exact example array: [6, 3, 8, 5, 1, 10, 2]. Pick pivot = 5. Partition correctly: left part [3, 1, 2] labeled < pivot, right part [6, 8, 10] labeled > pivot. Include steps: START, base case length <= 1?, pick pivot, partition array, recursively sort left part, recursively sort right part, concatenate sorted-left + pivot + sorted-right, END. Modern vector style, white background, blue/orange accents, arrows, decision diamond, readable simple English labels. Avoid mathematical mistakes." \
--image-model gpt-image-2-medium \
--aspect-ratio landscape \
-o generated/chatimg-gpt-image2-quicksort-flowchart.png \
--timeout 300
Python API
from chatimg.image import create_generator
generator = create_generator("codex", profile="work")
result = generator.generate("A cute cat astronaut")
配置
ChatImg 通过 ChatEnv 注册 chatimg 配置类型。可用 chatenv test -t chatimg -I 做无网络 schema 检查。
主要字段:OPENAI_API_BASE / OPENAI_API_KEY 用于 OpenAI-compatible Images API;OPENAI_OAUTH_BASE_URL / CHATGPT_BACKEND_BASE_URL / OPENAI_API_MODEL / OPENAI_IMAGE_MODEL 用于 OpenAI profile seed;runtime OAuth tokens 写入 tokens/OpenAI/<profile>.json;其他 provider 使用 POLLINATIONS_*、SILICONFLOW_*、HUGGINGFACE_HUB_TOKEN、LIBLIB_*、DASHSCOPE_API_KEY。
本地预览
pip install -e ".[docs]"
mkdocs serve
CLI 树见:CLI 树。