先说结论
**Agnes AI 的 agnes-image-2.1-flash 模型完全免费,生成速度快(~25秒/张),画质不错,配合 Hermes Agent 的技能机制可以当"免费AI画图工具"用。**但坑不少——中文提示词直接500,Windows SSL 必须加 --ssl-no-revoke,密钥读取要用 Python 的 open() 不能走 shell。把这些坑固化到 Hermes 技能里,下次一句话就能出图。
背景:为什么选 Agnes
做公众号文章经常需要配图。之前试过 OpenAI DALL·E(收费)、FAL FLUX(免费额度有限),一直缺一个稳定免费的备选。
Agnes AI 的 agnes-image-2.1-flash 是 OpenAI 兼容接口,直接 POST https://apihub.agnes-ai.cn/v1/images/generations 就能调,model 名 agnes-image-2.1-flash,支持 1024×768、1024×1024、768×1024 三种尺寸。关键:不需要付费,API key 就能用,每月据说不限次数。
实操:画一幅写意蛟龙被困图
这次的需求比较特殊——不是画普通配图,而是画一幅有寓意的写意中国画:
一条蛟龙被困在荒凉沙滩上——隐喻有能力的人在不适配的恶劣环境中一样会遭遇困境。
Step 1:提示词设计
⚠️ 中文提示词导致 HTTP 500。Agnes API 对中文编码有问题,返回
"str is not valid UTF-8: surrogates not allowed"。必须用纯英文。
我写了~900字符的英文提示词,核心要素:
- 风格:Chinese ink-wash painting (水墨写意/xieyi)
- 主体:jiaolong(蛟龙),半身在湿沙中,龙爪虚弱抓向天空
- 环境:灰色沙滩、苍茫大海、阴云低垂、风中芦苇
- 意境:bleeding ink edges, misty atmosphere, 高贵生物与绝境的悲情对比
Step 2:调用 Agnes API
Windows 上 Python 的 urllib + ssl 会崩(ASN1 证书错误),必须走 subprocess curl:
result = subprocess.run([
"curl", "--ssl-no-revoke", "-fsSL", "-X", "POST",
"https://apihub.agnes-ai.cn/v1/images/generations",
"-H", "Authorization: Bearer " + API_KEY,
"-H", "Content-Type: application/json",
"-d", "@payload.json"
], capture_output=True, text=True, timeout=120)
关键参数:
| 参数 | 值 | 说明 |
|---|---|---|
| 模型 | agnes-image-2.1-flash | 免费,速度快 |
| 尺寸 | 1024x768 | 横版适合海滩场景 |
| 超时 | 120s | 生成+下载 |
| curl 额外 | --ssl-no-revoke | Windows 必须加,否则 SSL 握手失败 |
Step 3:下载结果
API 返回 JSON 中的 data[0].url 就是图片 CDN 地址(platform-outputs.agnes-ai.space 域名),再用 curl 下载到本地:
curl -fsSL "$IMAGE_URL" -o dragon_stranded_xieyi.png
结果展示
实际生成效果:整体意境到位——蛟龙的姿态传达出挣扎感,墨色晕染有写意味。虽然不是传统水墨那种精妙笔触,但作为 AI 生成的概念图完全及格。
从一次操作到技能封装
这才是本文的核心经验:一次成功的手工操作不值钱,值钱的是把它固化到技能里。
Hermes Agent 的技能机制允许你把完整的操作流程写进 SKILL.md,包括:
- 触发条件 — 什么情况下该用这个技能
- 前置依赖 — API key 放在哪、curl 需要哪些参数
- 步骤化指南 — 带命令行和代码块
- 踩坑记录 — 中文500、SSL –ssl-no-revoke、MSYS密钥屏蔽
- 验证步骤 — 如何检查生成结果
技能里的关键坑(重点)
| 坑 | 症状 | 根治 |
|---|---|---|
| 中文提示词500 | HTTP 500, “surrogates not allowed” | 全英文提示词 |
| Windows SSL 握手失败 | exit code 35, schannel error | curl 加 --ssl-no-revoke |
| MSYS 密钥屏蔽 | cat .env 看到 AGNES_AI_API_KEY=*** | Python open() 读文件,不走 shell |
| size 参数仅供参考 | 请求 1024x768 收到 1152x864 | 不要假设精确匹配 |
| 图中有乱码文字 | AI 幻觉出字母/汉字堆叠 | 提示词里加 no text or letters |
技能模板核心结构
# SKILL.md 摘要
---
name: agnes-image-generator
description: "Generate images with free Agnes AI model"
steps:
- Read API key from .env via Python open()
- Build English-only prompt
- Call curl with --ssl-no-revoke
- Download result
- Verify PNG signature
pitfalls:
- Chinese prompt → HTTP 500
- Windows SSL → --ssl-no-revoke required
- MSYS secret masking → use open() not shell
---
总结
| 维度 | 评价 |
|---|---|
| 免费程度 | ⭐⭐⭐⭐⭐ 完全免费,无隐藏 |
| 生成速度 | ⭐⭐⭐⭐ ~25秒,可接受 |
| 画面质量 | ⭐⭐⭐ 够用,但细节不如商用模型 |
| 中文支持 | ❌ 必须英文提示词 |
| Windows 兼容 | ⚠️ --ssl-no-revoke 必须加 |
| 可复用性 | ✅ 技能封装后一句话出图 |
要点:工具能力取决于你对它的封装程度。一次 curl 调用不值钱,但写进技能、标注好所有坑、下次直接复用,这才是 AI Agent 工作流的正确打开方式。
