起因是看到这篇推文教程:跟 AI 说句话,它就帮你画了张图,讲的是用 baoyu-skills 一句话生成封面图。实际操作下来各种 API 中转站踩了不少坑。把过程记下来,希望能帮你少走弯路。
用什么 Skill?
Claude Code 的 baoyu-skills 包里专门有一个做封面图的:
/baoyu-cover-image 文章路径.md
它会自动分析文章内容、推荐风格组合、生成提示词,然后调用图像生成 API 出图。本质上是个编排层,真正生图靠后端 API。
安装方式(如果还没装):
npx skills add jimliu/baoyu-skills --yes装完在 .claude/skills/ 里能看到一堆 baoyu- 开头的文件夹。
后端支持哪些 API?
baoyu-image-gen 支持四个 provider:
| Provider | 模型 | 特点 |
|---|---|---|
| OpenAI | gpt-image-1.5 | 质量好,需要 OpenAI 账号 |
| gemini-3-pro-image-preview | 质量很好,需要 Google Cloud | |
| DashScope | z-image-turbo | 有免费额度,但质量一般 |
| Replicate | Flux 系列 | 开源顶级质量,按次计费 |
配置方式,在 ~/.baoyu-skills/.env 里写入对应的 Key:
# DashScope(国内最简单)
DASHSCOPE_API_KEY=你的Key
# Google(质量最好)
GOOGLE_API_KEY=你的Key
# OpenAI
OPENAI_API_KEY=你的Key踩坑过程
坑 1:中转站的图像生成模型大多是摆设
我有好几个中转站账号,都号称支持 gemini-3-pro-image-preview,挨个测试结果如下:
| 中转站 | 结果 |
|---|---|
| zscc.in | ❌ 账号分组无权限 |
| hybgzs.com | ❌ 模型未接通后端 |
| linuxdo.edu.rs | ❌ No available providers |
根本原因:这些中转站在模型列表里登记了 Gemini 图像模型,但实际没有接通 Google 的图像生成后端渠道。看到模型名字不代表能用。
测试方法:
curl https://你的中转站/v1/images/generations \
-H "Authorization: Bearer 你的Key" \
-H "Content-Type: application/json" \
-d '{"model":"gemini-3-pro-image-preview","prompt":"a cat","n":1}'看报错是 No available providers 还是 No available channel,都说明后端没接通。
坑 2:Google AI Studio 免费 Key 不包含图像生成配额
从 aistudio.google.com 申请的免费 Key,调用 gemini-3.1-flash-image-preview 时报错:
Quota exceeded: free_tier_requests, limit: 0
limit: 0 的意思是免费层对图像生成模型的配额为零。要用 Gemini 官方图像 API,需要开通 Google Cloud 付费账单(新用户有 $300 免费赠金)。
坑 3:DashScope 的 baoyu-image-gen 只兼容 z-image-turbo
想换 DashScope 更好的模型 wanx2.1-t2i-plus,结果报错:
url error, please check url!
原因:baoyu-image-gen 的 DashScope provider 用的是 multimodal-generation 接口,而 wanx2.1-t2i-plus 走的是 text2image 接口,两者不兼容。所以 DashScope 只能用 z-image-turbo,质量比较一般。
最终找到的正确姿势
在一个专门的 Gemini 中转站上,发现 gemini-3-pro-image-preview 需要走 chat completions 接口,并且必须加 response_modalities 参数:
curl https://中转站地址/v1/chat/completions \
-H "Authorization: Bearer 你的Key" \
-H "Content-Type: application/json" \
-d '{
"model": "gemini-3-pro-image-preview",
"messages": [{"role": "user", "content": "画一只可爱的猫,扁平风格,蓝色背景"}],
"response_modalities": ["IMAGE", "TEXT"],
"stream": false
}'响应里的图片是 base64 格式嵌在 content 里:
data:image/jpeg;base64,/9j/4AAQ...
用 Python 提取保存:
import json, base64, re
d = json.load(open('response.json'))
content = d['choices'][0]['message']['content']
match = re.search(r'data:image/(\w+);base64,([A-Za-z0-9+/=]+)', content)
if match:
fmt = match.group(1)
img_bytes = base64.b64decode(match.group(2))
with open(f'cover.{fmt}', 'wb') as f:
f.write(img_bytes)关键点:不能用 /v1/images/generations 接口(会报 not supported),必须用 /v1/chat/completions + response_modalities: ["IMAGE", "TEXT"]。
效果对比
同一个 prompt「Draw a simple cute cat, flat vector style, blue background」:
| 模型 | 效果 |
|---|---|
| DashScope z-image-turbo | 构图生硬,字体渲染差 |
| Gemini 3 Pro Image Preview | 线条干净,细节丰富,质量明显更好 |
Gemini 3 Pro 生成的测试图:一只橙色猫咪,flat vector 风格,蓝天白云背景,效果相当不错。
费用参考
- DashScope z-image-turbo:有免费额度,用完后极便宜
- Gemini 3 Pro Image Preview(中转站):约 $0.20-0.24 一张,质量好但不适合频繁生成
- Gemini 2.5 Flash Image:比 Pro 版便宜约 5-10 倍,质量也不错,推荐找支持这个模型的中转站
总结
| 场景 | 推荐方案 |
|---|---|
| 零成本试用 | DashScope z-image-turbo(免费额度) |
| 偶尔生成高质量封面 | 找支持 Gemini 3 Pro Image 的中转站,充少量额度 |
| 频繁批量生图 | Replicate + Flux 模型,按次计费更划算 |
| 最省心 | 开通 Google Cloud 付费账单,直接用官方 API |
最后:中转站的坑比想象的多,真正要稳定用图像生成,还是开官方渠道最靠谱。