起因是看到这篇推文教程:跟 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模型特点
OpenAIgpt-image-1.5质量好,需要 OpenAI 账号
Googlegemini-3-pro-image-preview质量很好,需要 Google Cloud
DashScopez-image-turbo有免费额度,但质量一般
ReplicateFlux 系列开源顶级质量,按次计费

配置方式,在 ~/.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

最后:中转站的坑比想象的多,真正要稳定用图像生成,还是开官方渠道最靠谱。