/image-to-prompt-skill
从图片中提取视觉描述,生成可用于文生图的提示词。
$ npx -y skills add supreme-ultimate/novel-to-script-team --skill image-to-prompt-skill --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/image-to-prompt-skill
Context preview
The summary Claude sees to decide when to auto-load this skill.
从图片中提取视觉描述,生成可用于文生图的提示词。
SKILL.md
image-to-prompt-skill.SKILL.mdimage-to-prompt-skill
功能
从图片中提取视觉描述,生成可用于文生图的提示词。
使用场景
1. **参考图分析**:分析参考图片,生成风格一致的提示词 2. **风格迁移**:从现有图片提取风格特征,应用到新场景 3. **提示词优化**:对比生成图片与目标效果,优化提示词 4. **资产复用**:从历史项目图片中提取提示词,复用到新项目
输入
- **图片文件路径**:本地图片文件(PNG、JPG、WEBP 等)
- **分析维度**(可选):
- `full`:完整分析(默认,包含所有元素)
- `character`:聚焦人物(外观、服装、表情、姿态)
- `scene`:聚焦场景(环境、光线、氛围、道具)
- `composition`:聚焦构图(景别、角度、运镜、色彩)
输出
- **提示词文件**:`outputs/{剧本名}/reverse-prompts/{图片名}-prompt.md`
- **内容包含**:
- 原图路径
- 分析维度
- 提示词(叙事描述式)
- 关键元素清单(人物、场景、构图、色彩、光影、氛围)
执行流程
1. **读取图片**:加载本地图片文件 2. **编码图片**:将图片编码为 base64 格式 3. **调用 API**:使用 gemini-3.1-pro-preview 模型分析图片 4. **提取元素**:根据分析维度提取关键视觉元素 5. **生成提示词**:将视觉元素转化为叙事描述式提示词 6. **输出文件**:保存提示词到指定路径
API 调用示例
from openai import OpenAI
import base64
import os
# 初始化客户端
client = OpenAI(
api_key="your-api-key",
base_url=os.environ["NANO_BANANA_BASE_URL"]
)
# 读取并编码图片
with open("image.jpg", "rb") as f:
image_data = base64.b64encode(f.read()).decode("utf-8")
# 调用 API
response = client.chat.completions.create(
model="gemini-3.1-pro-preview",
messages=[{
"role": "user",
"content": [
{
"type": "image_url",
"image_url": {
"url": f"data:image/jpeg;base64,{image_data}"
}
},
{
"type": "text",
"text": "请详细描述这张图片的视觉元素,包括人物、场景、构图、色彩、光影、氛围等,生成可用于文生图的提示词。"
}
]
}]
)
prompt = response.choices[0].message.content
print(prompt)提示词生成原则
1. **叙事描述式**:使用完整句子描述,避免关键词堆叠
- ❌ 错误:`男性,黑色西装,严肃表情,办公室背景`
- ✅ 正确:`一位身穿黑色西装的中年男性站在现代办公室中,表情严肃,目光锐利,背景是落地窗和城市天际线。`
2. **元素完整**:覆盖 26 元素框架(参见 `references/20-frame-description-elements.md`)
- 人物:外观、服装、表情、姿态、动作
- 场景:环境、道具、空间关系
- 构图:景别、角度、视角
- 色彩:主色调、色彩对比、色彩情绪
- 光影:光源、明暗对比、光影氛围
- 氛围:情绪基调、叙事意图
3. **可复现性**:描述足够精确,能够生成相似的图片
- 包含具体的细节(如"深蓝色西装"而非"西装")
- 包含空间关系(如"站在窗前"而非"站着")
- 包含情绪线索(如"严肃的表情"而非"表情")
4. **风格一致**:保持与项目整体风格一致
- 参考项目已有的角色和场景提示词
- 保持相同的描述风格和细节层次
5. **可编辑性**:提示词结构清晰,便于后续修改和优化
- 使用段落分隔不同元素
- 使用清晰的标记(如"人物:"、"场景:")
分析维度说明
full(完整分析)
提取所有视觉元素,生成完整的提示词。适用于:
- 需要完整复现图片的场景
- 参考图分析
- 风格迁移
**输出示例**:
## 提示词
一位身穿深蓝色西装的中年男性站在现代办公室的落地窗前,表情严肃,目光锐利。他的右手插在口袋里,左手自然垂放,身体微微侧向窗外。背景是城市天际线,高楼林立,天空呈现出黄昏时分的暖橙色调。办公室内部光线柔和,来自顶部的筒灯和窗外的自然光形成明暗对比,营造出一种冷静、专业的氛围。
## 关键元素
**人物**:
- 外观:中年男性,短发,五官立体
- 服装:深蓝色西装,白色衬衫,深色领带
- 表情:严肃,目光锐利
- 姿态:站立,右手插口袋,左手垂放,身体微侧
**场景**:
- 环境:现代办公室,落地窗,城市天际线
- 道具:无明显道具
- 空间关系:人物站在窗前,背景是城市
**构图**:
- 景别:中景
- 角度:平视
- 视角:正面偏侧
**色彩**:
- 主色调:深蓝、暖橙、灰白
- 色彩对比:冷暖对比(室内冷色 vs 窗外暖色)
- 色彩情绪:冷静、专业
**光影**:
- 光源:顶部筒灯 + 窗外自然光
- 明暗对比:中等对比
- 光影氛围:柔和、专业
**氛围**:
- 情绪基调:冷静、严肃、专业
- 叙事意图:展现人物的权威感和决断力
character(聚焦人物)
重点提取人物相关元素,适用于:
- 角色设定图生成
- 人物提示词优化
- 角色一致性参考
**输出示例**:
## 提示词
一位中年男性,短发,五官立体,表情严肃,目光锐利。他身穿深蓝色西装,内搭白色衬衫和深色领带,右手插在口袋里,左手自然垂放,身体微微侧向一侧,展现出冷静、专业的气质。
## 关键元素
**人物**:
- 外观:中年男性,短发,五官立体
- 服装:深蓝色西装,白色衬衫,深色领带
- 表情:严肃,目光锐利
- 姿态:站立,右手插口袋,左手垂放,身体微侧
- 气质:冷静、专业、权威
scene(聚焦场景)
重点提取场景相关元素,适用于:
- 场景设定图生成
- 环境提示词优化
- 场景一致性参考
**输出示例**:
## 提示词
现代办公室,落地窗前,背景是城市天际线,高楼林立。天空呈现出黄昏时分的暖橙色调,与室内的冷色调形成对比。办公室内部光线柔和,来自顶部的筒灯和窗外的自然光交织,营造出专业、冷静的氛围。
## 关键元素
**场景**:
- 环境:现代办公室,落地窗,城市天际线
- 道具:无明显道具
- 空间关系:室内空间,窗外城市景观
- 光线:顶部筒灯 + 窗外自然光
- 氛围:专业、冷静、现代
composition(聚焦构图)
重点提取构图相关元素,适用于:
- 分镜参考
- 镜头设计
- 构图优化
**输出示例**:
## 提示词
中景,平视角度,正面偏侧视角。人物位于画面中心偏右,背景是落地窗和城市天际线。色彩以深蓝、暖橙、灰白为主,形成冷暖对比。光线来自顶部和窗外,明暗对比适中,营造出专业、冷静的视觉氛围。
## 关键元素
**构图**:
- 景别:中景
- 角度:平视
- 视角:正面偏侧
- 人物位置:画面中心偏右
- 背景:落地窗 + 城市天际线
**色彩**:
- 主色调:深蓝、暖橙、灰白
- 色彩对比:冷暖对比
- 色彩情绪:冷静、专业
**光影**:
- 光源:顶部筒灯 + 窗外自然光
- 明暗对比:中等对比
- 光影氛围:柔和、专业
注意事项
1. **图片格式**:支持 PNG、JPG、JPEG、WEBP、GIF 等常见格式 2. **图片大小**:建议不超过 10MB,过大的图片可能导致 API 调用失败 3. **API 配置**:必须在 `.env` 或环境变量中配置 `NANO_BANANA_API_KEY` 和 `NANO_BANANA_BASE_URL` 4. **敏感内容**:避免分析包含敏感内容的图片 5. **版权问题**:确保图片来源合法,避免侵权
与其他 Agent 的协作
- **art-designer**:将反推的提示词集成到角色或场景提示词中
- **image-generator**:使用反推的提示词生成新图片,验证提示词质量
- **storyboard-artist**:参考反推的提示词优化分镜描述
- **visual-storyteller**:使用反推的提示词作为视觉化参考
参考文档
- `references/20-frame-description-elements.md`:帧图描述 26 元素清单
- `references/11a-seedance-prompt-methodology.md`:Seedance 提示词方法论
- `references/11b-image-motion-prompt.md`:图像与动态提示词方法论
Read more
image-to-prompt-skill
功能
从图片中提取视觉描述,生成可用于文生图的提示词。
使用场景
1. **参考图分析**:分析参考图片,生成风格一致的提示词 2. **风格迁移**:从现有图片提取风格特征,应用到新场景 3. **提示词优化**:对比生成图片与目标效果,优化提示词 4. **资产复用**:从历史项目图片中提取提示词,复用到新项目
输入
- **图片文件路径**:本地图片文件(PNG、JPG、WEBP 等)
- **分析维度**(可选):
- `full`:完整分析(默认,包含所有元素)
- `character`:聚焦人物(外观、服装、表情、姿态)
- `scene`:聚焦场景(环境、光线、氛围、道具)
- `composition`:聚焦构图(景别、角度、运镜、色彩)
输出
- **提示词文件**:`outputs/{剧本名}/reverse-prompts/{图片名}-prompt.md`
- **内容包含**:
- 原图路径
- 分析维度
- 提示词(叙事描述式)
- 关键元素清单(人物、场景、构图、色彩、光影、氛围)
执行流程
1. **读取图片**:加载本地图片文件 2. **编码图片**:将图片编码为 base64 格式 3. **调用 API**:使用 gemini-3.1-pro-preview 模型分析图片 4. **提取元素**:根据分析维度提取关键视觉元素 5. **生成提示词**:将视觉元素转化为叙事描述式提示词 6. **输出文件**:保存提示词到指定路径
API 调用示例
from openai import OpenAI
import base64
import os
# 初始化客户端
client = OpenAI(
api_key="your-api-key",
base_url=os.environ["NANO_BANANA_BASE_URL"]
)
# 读取并编码图片
with open("image.jpg", "rb") as f:
image_data = base64.b64encode(f.read()).decode("utf-8")
# 调用 API
response = client.chat.completions.create(
model="gemini-3.1-pro-preview",
messages=[{
"role": "user",
"content": [
{
"type": "image_url",
"image_url": {
"url": f"data:image/jpeg;base64,{image_data}"
}
},
{
"type": "text",
"text": "请详细描述这张图片的视觉元素,包括人物、场景、构图、色彩、光影、氛围等,生成可用于文生图的提示词。"
}
]
}]
)
prompt = response.choices[0].message.content
print(prompt)提示词生成原则
1. **叙事描述式**:使用完整句子描述,避免关键词堆叠
- ❌ 错误:`男性,黑色西装,严肃表情,办公室背景`
- ✅ 正确:`一位身穿黑色西装的中年男性站在现代办公室中,表情严肃,目光锐利,背景是落地窗和城市天际线。`
2. **元素完整**:覆盖 26 元素框架(参见 `references/20-frame-description-elements.md`)
- 人物:外观、服装、表情、姿态、动作
- 场景:环境、道具、空间关系
- 构图:景别、角度、视角
- 色彩:主色调、色彩对比、色彩情绪
- 光影:光源、明暗对比、光影氛围
- 氛围:情绪基调、叙事意图
3. **可复现性**:描述足够精确,能够生成相似的图片
- 包含具体的细节(如"深蓝色西装"而非"西装")
- 包含空间关系(如"站在窗前"而非"站着")
- 包含情绪线索(如"严肃的表情"而非"表情")
4. **风格一致**:保持与项目整体风格一致
- 参考项目已有的角色和场景提示词
- 保持相同的描述风格和细节层次
5. **可编辑性**:提示词结构清晰,便于后续修改和优化
- 使用段落分隔不同元素
- 使用清晰的标记(如"人物:"、"场景:")
分析维度说明
full(完整分析)
提取所有视觉元素,生成完整的提示词。适用于:
- 需要完整复现图片的场景
- 参考图分析
- 风格迁移
**输出示例**:
## 提示词 一位身穿深蓝色西装的中年男性站在现代办公室的落地窗前,表情严肃,目光锐利。他的右手插在口袋里,左手自然垂放,身体微微侧向窗外。背景是城市天际线,高楼林立,天空呈现出黄昏时分的暖橙色调。办公室内部光线柔和,来自顶部的筒灯和窗外的自然光形成明暗对比,营造出一种冷静、专业的氛围。 ## 关键元素 **人物**: - 外观:中年男性,短发,五官立体 - 服装:深蓝色西装,白色衬衫,深色领带 - 表情:严肃,目光锐利 - 姿态:站立,右手插口袋,左手垂放,身体微侧 **场景**: - 环境:现代办公室,落地窗,城市天际线 - 道具:无明显道具 - 空间关系:人物站在窗前,背景是城市 **构图**: - 景别:中景 - 角度:平视 - 视角:正面偏侧 **色彩**: - 主色调:深蓝、暖橙、灰白 - 色彩对比:冷暖对比(室内冷色 vs 窗外暖色) - 色彩情绪:冷静、专业 **光影**: - 光源:顶部筒灯 + 窗外自然光 - 明暗对比:中等对比 - 光影氛围:柔和、专业 **氛围**: - 情绪基调:冷静、严肃、专业 - 叙事意图:展现人物的权威感和决断力
character(聚焦人物)
重点提取人物相关元素,适用于:
- 角色设定图生成
- 人物提示词优化
- 角色一致性参考
**输出示例**:
## 提示词 一位中年男性,短发,五官立体,表情严肃,目光锐利。他身穿深蓝色西装,内搭白色衬衫和深色领带,右手插在口袋里,左手自然垂放,身体微微侧向一侧,展现出冷静、专业的气质。 ## 关键元素 **人物**: - 外观:中年男性,短发,五官立体 - 服装:深蓝色西装,白色衬衫,深色领带 - 表情:严肃,目光锐利 - 姿态:站立,右手插口袋,左手垂放,身体微侧 - 气质:冷静、专业、权威
scene(聚焦场景)
重点提取场景相关元素,适用于:
- 场景设定图生成
- 环境提示词优化
- 场景一致性参考
**输出示例**:
## 提示词 现代办公室,落地窗前,背景是城市天际线,高楼林立。天空呈现出黄昏时分的暖橙色调,与室内的冷色调形成对比。办公室内部光线柔和,来自顶部的筒灯和窗外的自然光交织,营造出专业、冷静的氛围。 ## 关键元素 **场景**: - 环境:现代办公室,落地窗,城市天际线 - 道具:无明显道具 - 空间关系:室内空间,窗外城市景观 - 光线:顶部筒灯 + 窗外自然光 - 氛围:专业、冷静、现代
composition(聚焦构图)
重点提取构图相关元素,适用于:
- 分镜参考
- 镜头设计
- 构图优化
**输出示例**:
## 提示词 中景,平视角度,正面偏侧视角。人物位于画面中心偏右,背景是落地窗和城市天际线。色彩以深蓝、暖橙、灰白为主,形成冷暖对比。光线来自顶部和窗外,明暗对比适中,营造出专业、冷静的视觉氛围。 ## 关键元素 **构图**: - 景别:中景 - 角度:平视 - 视角:正面偏侧 - 人物位置:画面中心偏右 - 背景:落地窗 + 城市天际线 **色彩**: - 主色调:深蓝、暖橙、灰白 - 色彩对比:冷暖对比 - 色彩情绪:冷静、专业 **光影**: - 光源:顶部筒灯 + 窗外自然光 - 明暗对比:中等对比 - 光影氛围:柔和、专业
注意事项
1. **图片格式**:支持 PNG、JPG、JPEG、WEBP、GIF 等常见格式 2. **图片大小**:建议不超过 10MB,过大的图片可能导致 API 调用失败 3. **API 配置**:必须在 `.env` 或环境变量中配置 `NANO_BANANA_API_KEY` 和 `NANO_BANANA_BASE_URL` 4. **敏感内容**:避免分析包含敏感内容的图片 5. **版权问题**:确保图片来源合法,避免侵权
与其他 Agent 的协作
- **art-designer**:将反推的提示词集成到角色或场景提示词中
- **image-generator**:使用反推的提示词生成新图片,验证提示词质量
- **storyboard-artist**:参考反推的提示词优化分镜描述
- **visual-storyteller**:使用反推的提示词作为视觉化参考
参考文档
- `references/20-frame-description-elements.md`:帧图描述 26 元素清单
- `references/11a-seedance-prompt-methodology.md`:Seedance 提示词方法论
- `references/11b-image-motion-prompt.md`:图像与动态提示词方法论
多 Agent、多 Skill 的小说改编影视流水线:把长篇小说、故事梗概或短剧素材,系统化转成改编分析、分集规划、剧本、审核报告、分镜方案、图片/视频提示词。
Other skills on novel-to-script-team.
art-direction-review-s…
服化道审核技能。用于审核阶段二服化道设计产出(人物设定提示词、场景环境提示词),通过逐项比对、脑内预演和评分制确保造型准确、风格一致、提示词可执行。
comparative-review-ski…
对比审核技能。对比生成剧本与爆款剧本的节奏、对话、情绪、框架,给出PASS/FAIL判断和改进建议。

