Files
john 4b15610aa8
Memind CI / Test, build, and release guards (pull_request) Successful in 2m47s
feat(image): complete reviewed generation delivery
2026-07-20 20:04:53 +08:00

141 lines
7.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
name: image-generation
description: 将用户简短的主题、场景或页面需求扩展为完整可执行的生图提示词,并调用 generate_image 生成、校验和交付真实位图。用于勾选 AI 配图、要求主图/背景图/封面/插画/照片、视觉类 H5 页面,或系统自动判断需要新视觉资产的场景。
---
# 智能生图
用户只需说明“做什么”和大致感觉。不要要求用户理解 `purpose`、负面提示词、构图术语、尺寸、模型或 `jobId`;由本技能补齐这些内容并实际完成生成。
## 执行原则
1. 保留用户明确给出的主题、主体、时代、地点、文字、风格和禁用项,不擅自改题。
2. 信息足够时直接生成。只有缺失会导致互斥结果的关键选择时才追问,例如“真人照片还是卡通角色”。
3. 页面主图默认使用一次 `generate_image(purpose=hero)`。不要为了卡片和信息流再次生成同主题图片。
4. 正面描述放入 `prompt`,禁止项放入独立的 `negative_prompt`,不要把大量 `NO...` 混进正面描述。
5. 必须生成 PNG、JPEG 或 WebP 位图;禁止用 SVG、CSS 绘图、旧图、占位图、网页搜索图片或纯色块冒充新图。
6. 本轮必须出现新的工具请求与返回。历史 `jobId`、历史路径和旧图片不能作为本轮结果。
## 从短需求扩展提示词
按以下槽位补全。用户没有指定时,选择与主题最自然、最克制的方案,不要堆砌互相冲突的风格词。
1. **媒介与真实度**:写实摄影、电影剧照、商业产品摄影、精致插画等。
2. **核心主体**:谁或什么是视觉中心;明确数量、服饰、材质、动作与表情。
3. **时间与地点**:国家、城市、年代、季节、天气、昼夜。
4. **环境元素**:必须同时出现的建筑、地貌、街市、室内陈设或自然景观。
5. **构图**:hero 默认宽幅远景或建立镜头,主体层级清晰,为标题保留可读空间。
6. **光线与色彩**:光源、冷暖关系、主色和氛围。
7. **叙事状态**:人物自然活动,避免排队合影、僵硬摆拍和无意义拼贴。
8. **交付质量**single continuous scene、cinematic lighting、realistic detail、no text。
推荐正面提示词结构:
```text
[媒介与风格],[时间地点]。[核心主体与动作]。[必须出现的环境元素]。
[构图与镜头]。[光线、色彩和情绪]。single continuous scene,画面内无文字。
```
## 自动补充负面提示词
所有任务默认加入:
```text
text, caption, watermark, logo, collage, montage, split screen,
duplicate subject, deformed anatomy, low resolution, blurry, oversaturated
```
再按主题追加:
- **历史文化**modern building, skyscraper, asphalt road, car, utility pole, wire, modern streetlight, modern sign, modern tourist, modern clothing, suit, jacket, sneakers, face mask。
- **自然旅行**city skyline, crowd, vehicle, power line;但用户明确要求城市或人群时不要加入冲突项。
- **产品摄影**wrong logo, extra product, distorted packaging, unreadable label, cluttered background。
- **人物肖像**extra fingers, malformed hands, duplicate face, plastic skin;不要擅自改变用户指定的人种、年龄和服饰。
- **美食**inedible object, deformed tableware, messy spill, artificial plastic texture。
每次生成前检查正负提示词是否冲突。例如正面要求“热闹人群”时,负面不得出现 `crowd`;正面要求城市夜景时,负面不得出现 `city skyline`
## 常见主题模板
### 历史文化与古城
- 明确朝代、代表性建筑、传统材料、服饰、人群活动和夜空/天气。
- 用“historical costume drama movie still”增强时代一致性。
- 对现代建筑、交通、服装、标识和基础设施使用严格负面约束。
- 不要只生成牌坊、空街或人物合影;用户要求节庆时必须同时写明街市、灯饰、摊位与自然流动的人群。
### 旅行与自然风光
- 明确目的地标志性地貌、季节、天气、住宿或旅行活动。
- 默认采用真实旅行电影画面,避免廉价旅游海报和画面内文字。
- 若用户只说“安静、有电影感”,自动采用少量人物或无人远景、自然环境光、克制色彩和宽幅构图。
### 商品、品牌与美食
- 商品必须是唯一视觉主体,材质、包装、使用场景和目标人群一致。
- 不编造品牌 Logo、认证、价格、功效或包装文字。
- 为标题和 CTA 留出干净区域,但不要生成带文字按钮的图片。
### 人物与生活方式
- 补齐年龄段、服装、动作、环境和镜头距离。
- 默认使用自然抓拍感,避免证件照、排队合影和僵硬直视镜头。
- 用户未要求名人时,不生成可识别公众人物。
## 工具调用
1. 根据用途选择:
- 页面首屏、背景、专题主视觉:`hero`
- 正文确实需要独立插图:`inline_image`
- 只有后台关闭 hero 且仅需封面时:`card_cover``feed_cover`
2. 调用:
```json
{
"purpose": "hero",
"prompt": "完整正面提示词",
"negative_prompt": "独立负面提示词"
}
```
3. 不要先写 HTML 再补图。页面任务必须先生成并确认图片成功,再写页面。
4. 工具已把图片保存到用户工作区。HTML 的 `<img>`、CSS 背景图和 `mindspace-cover.cover` 必须直接使用返回的 `asset.htmlSrc``workspaceRelativePath` 只用于 `read_file``list_dir` 等工作区文件操作,禁止直接写进 HTML;也禁止再用 shell、curl 或下载操作复制图片。
示例:工具返回 `workspaceRelativePath: "public/images/hero.webp"``htmlSrc: "images/hero.webp"` 时,HTML 必须写 `<img src="images/hero.webp">`,不得写 `<img src="public/images/hero.webp">`
## 成功与重试
成功结果必须同时满足:
- `ok=true`
- 新的非空 `jobId`
- 状态为 `ready` 或等价成功状态
- `source.mimeType``image/png``image/jpeg``image/webp`
- 返回非空 `asset.htmlSrc`,供页面直接引用
出现以下情况时不得宣称完成:工具未调用、返回失败、没有位图、使用旧路径、图片未落盘,或页面没有真正引用本轮图片。
首次结果明显遗漏用户的核心元素时,收紧提示词后最多重试两次:提高遗漏主体的描述优先级,删除冲突修饰词,并把错误元素加入 `negative_prompt`。不要无上限循环。
## 页面集成
页面任务还必须加载 `static-page-publish`
1. 用本轮图片作为 `<img>` 或 CSS `background-image` 的真实资源;CSS 只负责布局,不能绘制替代主图。
2. Hero 默认占满首屏,使用 `object-fit: cover``background-size: cover`
3. `mindspace-cover.cover` 与页面 Hero 引用同一张图,缩略图和信息流封面复用它。
4. 图片路径优先使用工作区相对路径,避免把仅本机可用的临时绝对路径写进页面。
5. 交付前确认页面与图片均可访问,标题未被裁切,移动端仍能看到关键主体。
## 向用户报告
用户不需要阅读完整提示词。完成后简洁报告:
- 页面或图片链接
- `jobId`
- 图片尺寸与格式
- 状态
- 实际使用的工作区路径
若失败,报告真实错误和下一步;不得以“已经安排”“正在下载”或旧图片链接代替结果。