关于 prompt-writing
prompt-writing 是使用 Astria CLI 编写图像生成提示词的技能,面向需要生成、编辑或放大图像的用户。它要求提示词始终使用英语,并先查询用户的 prompts、packs 和 tunes,以相关素材和偏好为依据构建提示词。
主要功能
- 01始终以英语编写生成提示词
- 02查询近期提示词、素材包和参考模型
- 03按请求类型规划图像生成流程
- 04展示提示词供用户审阅或编辑
- 05提供图像数量和生成参数指引
适用场景
- 01为商品图构思生成提示词
- 02用输入图像描述编辑需求
- 03为图像放大编写提示词
- 04使用参考 tune 保持人物或主体一致
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ astriaai/ skills --skill prompt-writing安装后在 Claude Code 中输入/prompt-writing确认已加载。
详细介绍
提示词编写
始终使用英文编写生成提示词,即使用户使用其他语言交流。周边对话可以使用用户的语言,但向用户展示或发送给 Astria 的每条提示词都必须是英文。
编写提示词之前,先通过 astria CLI 了解用户(参见 astria-api 技能):
astria prompts list --limit 20— 查看用户最近的提示词,了解其风格和参数。astria packs list— 查看用户的包。如果请求涉及特定主题(例如衬衫),找到main_class_name匹配的包,并通过astria prompts list --pack-id <id>查看其模板提示词。astria tunes list— 查看用户的参考图/微调项。如果有符合生成需求的项,请在提示词中使用<model_type:id:1> name语法引用它(参见astria-api技能)。
不要让用户自己去浏览包或微调项——通过 CLI 查询,并向用户提供具体建议。提供选项时,使用带图片缩略图的提问工具(Claude Code 中的 AskUserQuestion,Astria 聊天 Agent 中的 ask_user),帮助用户选择。
如果没有符合请求的微调项,请根据用户意图处理:
- 对于头像、模特或虚拟形象,不要先询问参考图。提供可直接用于生成的提示词选项和特征选项(外观、年龄范围、造型、取景、灯光),然后确认生成设置。
- 对于需要相似度的产品或特定人物身份请求,请用户提供参考图(使用
astria tunes create将图片上传为微调项,或在 Web 应用的提示词框中拖入图片)。 - 此流程中不要建议用户使用网页搜索。
编写提示词后,将提示词文本展示给用户,让他们在生成前检查或修改。调用 astria generate 前,通过提问确认每条提示词要生成多少张图片。
请求类型
- 电商/产品图 — 使用参考微调项创建新图像。
- 图像编辑 — 传入
astria generate --input-image <url|file>,修改现有图像(更换背景、改变风格、添加/移除物体)。 - 放大 — 使用
astria generate --model gemini --text "Recreate this image in 4K" --input-image <url>。如果图像中有醒目的文字标签,请在提示词中提及,以确保放大后保留这些文字。
提示词编写指南
默认使用 gemini 模型生成(astria generate --model gemini)。
除非用户明确提到其他模型,或询问推荐模型,否则无需询问模型类型。
默认意图映射
如果用户要求创建“模特”“虚拟形象”或“头像”,将其理解为请求生成白色干净影棚背景上的真实、独特的面部头像:
- 此类请求不要使用任何参考微调项。
- 采用面部头像取景(不要全身照)、白色
#fff影棚背景和影棚灯光。 - 主动通过提问提供提示词/特征选项,不要询问参考图。
- 将国籍词语(“israeli”“french”“japanese”)视为面部特征和选角多样性的造型/特征指导,而不是索要参考图。
- 除非用户明确提出,否则不要为此类请求建议时尚、造型册、生活方式、全身或以服装为主的提示词。
详细的面部特征模板请参阅 unique-headshot 技能。
交互规则(严格)
绝不要在同一条回复中既提问又建议提示词文本。
- 如果使用提问工具,该轮只能返回问题/选项。
- 用户回答后,在下一轮回复中提供提示词建议。
引用
引用训练好的主体时,始终使用 <model_type:tune.id:1> tune.name:
portrait of <faceid:123:1> woman in a garden wearing <faceid:124:1> dress— 正确portrait of John in a garden— 错误(模型不认识“John”)
末尾的 :1 是令牌语法的固定部分,并非权重或强度。始终写 :1;绝不要改动它,也不要告诉用户要修改它。
检查不理想的结果
如果用户表示结果不理想,请找出问题所在:
- 检查每个引用的
orig_images(astria tunes get <id>),并确认name与图像内容相符。如果name=woman,但图像是包含衣服或帽子的全身照,请告诉用户在该 tune 的页面(/tunes/<id>→“training images”→ 裁剪工具)重新裁剪训练图像。 name必须代表主要主体。“jewelry”是个不合适的名称——应根据主体改为“ring”或“necklace”。如果名为“jewelry”的 tune 中是戒指,建议将其重命名(astria tunes update <id> --name ring)并重新训练。- 如果面部变形或相互干扰(例如在同一提示词中使用同一个人的 LoRA 和 FaceID),请在合成器设置中开启“Inpaint faces”,或移除多余的人脸引用(点击其标记上的 ✕)。不要建议调整引用令牌中的数字——引用权重无法控制。
关键参数
| 参数 | CLI 标志 | 常见值 |
|---|---|---|
| 提示词文本 | --text | 必填 |
| 图像数量 | --num-images | 1–4 |
| 宽高比 | --aspect-ratio | 1:1 16:9 9:16 21:9 9:21 3:2 2:3 5:4 4:5 4:3 |
| 分辨率(仅限 gemini) | --resolution | 1K、2K(默认)、4K |
获得更佳效果的技巧
- 添加背景描述:“干净的白色摄影棚”“模糊的城市街道”“秋日森林”。
- 对于产品照片,请描述表面和摆放方式。
让不同生成结果中的背景保持一致
Gemini / Nano Banana 无法在连续生成时精确保持背景不变——即使附加了背景引用,摄影棚背景的色调和亮度仍会发生偏移。措辞无法解决这个问题;可靠的解决方法是使用后处理标志,并将其附加到提示词文本中:
astria generate --text "<faceid:123:1> woman in a studio --background_color #f2f0ed"
--background_color #RRGGBB 会在生成后将检测到的背景重新着色为指定的十六进制颜色,让整套商品图的背景保持一致。此功能适用于 Gemini / Nano Banana、合作方模型和 Kontext,不适用于 Flux。在 Web 应用中,它位于合成器选项齿轮中的“Background color”一栏。
用户反映背景发生偏移时,请检查以下两个相关问题:
- 文本中写了“match the provided background reference”,但实际上没有附加背景引用——于是模型每次都会自行生成背景。请将背景附加为引用(
<faceid:ID:1> background),或直接描述确切的颜色。 - 在同一个提示词中堆叠了五六个引用(主体 + 服装 + 鞋子 + 帽子 + 包 + 背景)。这些引用会相互竞争,背景最先受影响——保留必要项,并在第二轮生成时添加配饰。
时尚与服装
- 始终使用一致的人脸引用。如果用户没有,可建议从公共图库中选择一个 faceid tune(
astria tunes list --gallery --model-type faceid --limit 200),或先生成一张人脸(不使用引用),再将其中一个生成结果转换为 tune(astria tunes create)。 - 确认用户的意图——是制作造型册(例如使用提示词
look book plain white background #fff),还是拍摄广告大片。广告大片示例:A direct flash paparazzi style shot of <faceid:3904080:1> woman moving through a crowded bar. She looks straight into the lens with an intense expression. She wears the <faceid:3907553:1> dress and the <faceid:3907242:1> bag on her shoulder. The background is dark and out of focus. High contrast, sharp flash.