Skip to main content
Glama
TEMPLATE_OPTIMIZATION.md4.09 kB
# 提示词模板优化说明 ## 🎯 问题描述 使用"公众号封面"模板生成图片时,生成的图片中会包含不需要的文字: - "21:9" - "微信公众号" - "画面比例"等描述性文字 **原因**: 提示词中包含了 `"画面比例:21:9 超宽屏构图,横向延展"` 这样的描述,AI 将其理解为需要渲染到图片中的文字内容。 ## ✅ 解决方案 ### 1. **分离内容和参数** 将画面比例从提示词内容中分离出来,作为独立的参数: **修改前:** ```python "公众号封面": { "template": """根据内容主题自动匹配关键词和设计风格。 关键词符合纸雕风格融合水彩层次美学... 主题内容:{keyword} 画面比例:21:9 超宽屏构图,横向延展""", # ❌ 会被渲染为文字 "default_size": "2K", "description": "公众号封面风格 - 纸雕水彩美学 (21:9超宽屏)" } ``` **修改后:** ```python "公众号封面": { "template": """主题内容:{keyword} 纸雕风格融合水彩层次美学,字体结构立体精致如水彩纸雕工艺...""", "default_size": "2K", "aspect_ratio": "21:9", # ✅ 独立参数 "description": "封面风格 - 纸雕水彩美学 (21:9超宽屏)" } ``` ### 2. **优化提示词内容** - ✅ 移除 "画面比例:21:9 超宽屏构图" 等描述性文字 - ✅ 移除 "公众号"、"微信" 等可能被渲染的词汇 - ✅ 保留核心的风格描述 (纸雕、水彩、层次美学等) - ✅ 简化开头,直接从主题内容开始 ### 3. **使用 ratio 参数** 在提示词末尾添加 `ratio: 21:9` 格式,让 AI 理解这是参数而不是内容: ```python # 在 apply_template 函数中 if aspect_ratio: formatted_prompt = f"{formatted_prompt}\n\nratio: {aspect_ratio}" ``` 这种格式参考了 Seedream 4.0 的系统提示词规范。 ## 📊 测试结果 ### 测试命令 ```bash python -c " import asyncio from seedream_mcp.tools.text_to_image import handle_text_to_image async def test(): result = await handle_text_to_image( arguments={'prompt': '公众号封面,关键词:学习Python编程'} ) for item in result: if hasattr(item, 'text'): print(item.text) asyncio.run(test()) " ``` ### 测试结果 - ✅ 生成的图片尺寸: `3136x1344` (正好是 21:9 比例) - ✅ 图片中不再包含 "21:9"、"画面比例" 等文字 - ✅ 图片中不再包含 "公众号"、"微信" 等词汇 - ✅ 保留了纸雕水彩美学的核心风格 - ✅ 七牛云上传成功,可以正常访问 ### 生成的图片 ![测试图片](https://newimg.t5t6.com/seedream/20251118_122956_主题内容学习python编程_纸雕风格融合水彩层次美学字体结构立体精致如水彩纸雕工艺边缘细腻带水彩渐_20251118_122956.jpeg) ## 🔧 技术细节 ### Seedream 4.0 支持的画面比例 根据官方文档,Seedream 4.0 支持以下画面比例: - 21:9 (超宽屏) - 16:9 (宽屏) - 3:2 - 4:3 - 1:3 - 1:1 (正方形) - 4:4 - 3:4 - 2:3 - 9:16 (竖屏) - 9:21 (超窄竖屏) ### 参数传递方式 Seedream 4.0 的画面比例**不是通过 API 参数传递**,而是通过**提示词末尾的特殊格式**: ``` [主要提示词内容] ratio: [aspect_ratio] ``` 这种格式让 AI 理解这是配置参数,而不是要渲染到图片中的文字。 ## 📝 相关文件 - `seedream_mcp/prompt_templates.py` - 模板定义和处理逻辑 - 第 17-24 行: 公众号封面模板定义 - 第 171-189 行: `apply_template` 函数 (添加 ratio 参数) ## 🎉 总结 通过将画面比例从提示词内容中分离出来,并使用 `ratio: 21:9` 的特殊格式,成功解决了生成图片中包含不需要文字的问题。 **优化效果:** - ✅ 图片更干净,不包含技术参数文字 - ✅ 保留了核心的艺术风格 - ✅ 画面比例依然正确 (21:9) - ✅ 代码更清晰,参数和内容分离 **后续建议:** - 可以为其他模板也添加 `aspect_ratio` 参数 (如小红书封面可以用 3:4 竖屏) - 可以让用户自定义画面比例 - 可以在文档中说明支持的画面比例列表

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/joeseesun/Seedream_MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server