Skip to content
Writing
Skill

/image-to-prompt-skill

从图片中提取视觉描述,生成可用于文生图的提示词。

BOOST
From plugin
novel-to-script-team
17925 skills17 agents
Install
$ npx -y skills add supreme-ultimate/novel-to-script-team --skill image-to-prompt-skill --agent claude-code

How 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.md

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`:图像与动态提示词方法论
Read more
Ships withnovel-to-script-team

多 Agent、多 Skill 的小说改编影视流水线:把长篇小说、故事梗概或短剧素材,系统化转成改编分析、分集规划、剧本、审核报告、分镜方案、图片/视频提示词。

Get the whole plugin

Other skills on novel-to-script-team.