使用 visual-rag MCP 工具生成设计图片。
MCP 服务地址:https://syncopated-retractively-anitra.ngrok-free.dev/mcp
若工具不可用或域名失效,告知用户联系小邹获取新地址。
所有模型都应优先使用语义搜索路径。 关键词搜索仅在语义搜索无结果时作为兜底。
确认服务在线,必须第一步调用。
search_templates(query, usage_type="cover", n=8, include_thumbnails=True)
用固定的 Query 模板构造查询,匹配效果最佳:
格式:[cover/content/poster] 语义:[为{目标受众}做{格式},传达{核心主张},整体{情绪/风格}]
| 参数 | 说明 | 示例 |
|---|---|---|
| ------ | ------ | ------ |
| 格式 | 用途分类 | cover=小红书封面,content=正文配图,poster=手机海报 |
| 目标受众 | 谁会看这张图 | 内容创作者、职场新人、减脂博主… |
| 核心主张 | 图片想传达什么 | "AI工具让创作提速10倍"、"3步搞定职场沟通" |
| 情绪/风格 | 整体调性 | 冲击力强/清新轻松/喜庆热烈/克制专业… |
示例:
> ❌ 弱:"减脂封面"
> ✅ 强:"格式:cover 语义:为减脂打卡博主做封面,传达夏日减脂计划,整体清新轻松、带清单结构"
usage_type 参数与 query 中的"格式"保持一致,作为硬过滤(只搜对应类型的模板)。n 建议设为 8。
有视觉能力的模型:看缩略图合图,根据视觉风格直接选。
纯文本模型:传 include_thumbnails=False,根据 brief / visual_tags / layout_structure 等字段判断匹配度选模板 ID。
无结果时:改用 list_templates(keyword, include_thumbnails=True/False) 关键词兜底。关键词须命中模板描述中实际存在的词(如"插画""手绘""喜庆"),不能用语义词("减脂"无效)。
获取选定模板的槽位详情(uuid、role、max_chars、max_per_line、line_break、hint、current)。
⚠ template_id 是纯整数,不带 t 前缀。正确:template_id=689,错误:template_id="t689"
有视觉能力的模型:可根据需求适度发挥,但不得超出 max_chars / max_per_line 限制。
无视觉能力的模型:严格遵守以下规则,这是唯一的质量保障手段:
list_line_count: N → 必须填满 恰好 N 条,不能多也不能少,少填会出现大片空白max_per_line → 每行字数绝对不超过此值,参考 current 示例的字数节奏max_chars → 总字数不超过上限line_break: true → 手动加 \n 换行,不靠自动折行must_edit: true 的槽位必须填写,其余保留原值不做修改槽位来源字段(⚠ 必须遵守):每个槽位的 来源 字段定义了内容来源类型:
| 来源值 | 含义 | 规则 |
|---|---|---|
| -------- | ------ | ------ |
⚠ 必须来自真实用户信息,不能编造 | 账号名、品牌名、期号、日期等 | 必须追问用户获取,不能使用示例值、不能编造 |
可根据需求创作 | 标题、正文、语录等 | 可基于用户需求自由创作 |
装饰文字,可保留默认 | 装饰性英文、设计元素等 | 可保留原值,或按主题替换 |
填写指引 字段提供了具体的填写说明,填写前必须阅读。
若用户未提供真实信息(账号名、品牌名、期号等),先追问再填写,或保留原值,绝不编造。
渲染并返回两张图:render(成品)+ inspect(UUID 标注图)。
⚠ slots 是字典,格式为 {"uuid": "填入文字"}。
正确:slots={"4b4c414680a0": "减脂打卡"}
错误:slots=[{"uuid": "4b4c414680a0", "value": "减脂打卡"}]
⚠ 渲染完成后返回的下载链接路径是 /files/文件名,不要自行拼接路径。
generate_poster 返回结果包含:
验收流程:
get_slot_crops 放大查看后决定是否处理```
get_slot_crops(render_path="/path/t708_xxx_render.png", uuids=["uuid1", "uuid2"])
```
⚠ 批量生成时,每张图必须独立验收,不能因为第1张通过就认为其余都正确。
调整元素位置(inspect 图定位后):
adjustments=[{"id": "uuid前8位", "style": {"transform": "translateX(80px)"}}]
支持:transform / display: none / opacity / fontSize / top / left
无视觉能力的模型:依赖质检报告文字,严格处理 🔴 问题;从源头(Step 4 字数控制)规避 🟡。
共 1 个版本