sn-image-imitate
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
Chinesesn-image-imitate
sn-image-imitate
Image style imitation scene skill (tier 1), relying on the , , and tools provided by (tier 0).
sn-image-recognizesn-text-optimizesn-image-generatesn-image-baseFeatures:
- Extracts high-fidelity long caption from a reference image
- Rewrites caption according to user requested content change while preserving style and layout
- Enforces layout-lock constraints during caption rewrite
- Performs post-generation layout consistency review and bounded retries
- Returns structured process artifacts for debugging and reproducibility
图像风格模仿场景技能(一级),依赖(零级)提供的、和工具。
sn-image-basesn-image-recognizesn-text-optimizesn-image-generate功能特性:
- 从参考图中提取高保真长描述
- 根据用户要求的内容修改改写描述,同时保留风格与布局
- 在描述改写阶段强制布局锁定约束
- 生成后执行布局一致性检查及有限次数重试
- 返回结构化流程产物,便于调试与复现
Non-goals
非目标场景
- Pure neural style transfer without content change (use dedicated style-transfer tools instead)
- Local editing / inpainting of specific regions within the reference image
- Processing video or animation input (only single static images are supported)
- Batch generation from multiple reference images in one invocation
- Guaranteeing pixel-level fidelity to the reference; the skill targets layout and style consistency, not exact reproduction
- 无内容变更的纯神经风格迁移(请使用专用风格迁移工具)
- 对参考图特定区域进行局部编辑/修复
- 处理视频或动画输入(仅支持单张静态图片)
- 单次调用基于多张参考图批量生成
- 保证与参考图像素级一致;本技能目标是布局与风格一致性,而非精确复刻
Input Specification
输入规范
- (string, required): local path or URL of the style reference image
reference_image - (string, required): new content user wants in the generated image
target_content - (string, default
output_mode): output mode,friendlyorfriendlyverbose - (string, default
aspect_ratio): output aspect ratio for generation16:9 - (string, default
image_size): output image size preset2k - (int, default
max_attempts): maximum generation attempts for meeting layout consistency3 - (float, default
layout_threshold): minimum layout similarity score to accept result0.75
- (字符串,必填):风格参考图的本地路径或URL
reference_image - (字符串,必填):用户希望生成图包含的新内容
target_content - (字符串,默认
output_mode):输出模式,可选friendly或friendlyverbose - (字符串,默认
aspect_ratio):生成图的宽高比16:9 - (字符串,默认
image_size):生成图的尺寸预设2k - (整数,默认
max_attempts):满足布局一致性要求的最大生成尝试次数3 - (浮点数,默认
layout_threshold):可接受结果的最小布局相似度分数0.75
Environment Variable
环境变量
Dependency installation and API key configuration are for sn-image-base skill.
The minimum environment variables to configure skill running with SenseNova Token Plan:
sn-image-baseini
SN_BASE_URL="https://token.sensenova.cn/v1"
SN_API_KEY="your-api-key"Fallback priority is dedicated variable > domain shared variable > global variable. Text calls use -> -> ; vision calls use -> -> ; image generation uses -> .
SN_TEXT_API_KEYSN_CHAT_API_KEYSN_API_KEYSN_VISION_API_KEYSN_CHAT_API_KEYSN_API_KEYSN_IMAGE_GEN_API_KEYSN_API_KEYPlease refer to the Python dependencies and API keys section in for more configurations.
sn-image-generate_en.md依赖安装与API密钥配置需参考sn-image-base技能。
配置技能使用SenseNova Token Plan所需的最低环境变量:
sn-image-baseini
SN_BASE_URL="https://token.sensenova.cn/v1"
SN_API_KEY="your-api-key"优先级顺序为:专用变量 > 域共享变量 > 全局变量。文本调用使用 -> -> ;视觉调用使用 -> -> ;图像生成使用 -> 。
SN_TEXT_API_KEYSN_CHAT_API_KEYSN_API_KEYSN_VISION_API_KEYSN_CHAT_API_KEYSN_API_KEYSN_IMAGE_GEN_API_KEYSN_API_KEY更多配置请参考中的Python依赖与API密钥章节。
sn-image-generate_en.mdAPI Configuration
API配置
All API calls in this skill are executed through the of the skill,
please refer to the skill (README.md) for more details.
sn_agent_runner.pysn-image-basesn-image-base- VLM call: (Step 1 & 3)
sn-image-recognize - LLM call: (Step 2)
sn-text-optimize - Image generation call: (Step 3)
sn-image-generate
When encountering or needing explicit model control: pass model and auth params explicitly via CLI arguments. See .
MissingApiKeyError$SN_IMAGE_BASE/references/api_spec.md$SN_IMAGE_BASE$SN_IMAGE_BASEsn-image-baseSKILL.mdsn-image-base本技能中的所有API调用均通过技能的执行,更多细节请参考技能的README.md。
sn-image-basesn_agent_runner.pysn-image-base- VLM调用:(步骤1和3)
sn-image-recognize - LLM调用:(步骤2)
sn-text-optimize - 图像生成调用:(步骤3)
sn-image-generate
遇到或需要显式控制模型时:通过CLI参数显式传递模型和认证参数。详情请见。
MissingApiKeyError$SN_IMAGE_BASE/references/api_spec.md$SN_IMAGE_BASE$SN_IMAGE_BASEsn-image-baseSKILL.mdsn-image-baseArchitecture: Main Agent + Worker Agent
架构:主Agent + 工作Agent
This skill uses a two-tier agent architecture:
- Main Agent: receives user request, normalizes parameters, sends preflight, invokes Worker Agent, and sends final text/image to user
- Worker Agent: executes fixed 3-step pipeline and returns structured JSON
Responsibility Boundaries:
- Worker Agent does not send any user-visible message directly
- Main Agent sends all user-facing responses
- Worker Agent last message must be and only be the JSON string defined in Return Contract
- Worker Agent executes VLM/LLM/image calls directly; no nested subagent for these low-level calls
本技能采用双层Agent架构:
- 主Agent:接收用户请求,标准化参数,发送预通知,调用工作Agent,并向用户发送最终文本/图片
- 工作Agent:执行固定三步流程并返回结构化JSON
职责边界:
- 工作Agent不直接发送任何用户可见消息
- 所有面向用户的响应均由主Agent发送
- 工作Agent的最后一条消息必须且只能是返回契约中定义的JSON字符串
- 工作Agent直接执行VLM/LLM/图像调用;此类底层调用不使用嵌套子Agent
Workflow
工作流程
Main Agent Workflow
主Agent工作流程
- Extract ,
reference_image,target_content(defaultoutput_mode),friendly(defaultaspect_ratio),16:9(defaultimage_size),2k(defaultmax_attempts), and3(defaultlayout_threshold)0.75 - Validate required inputs:
- is provided and resolvable
reference_image - is non-empty
target_content
- Send preflight message:
"Using sn-image-imitate skill to generate a style-consistent image, please wait..." - Start Worker Agent with full normalized parameters and working directory
- On Worker result:
- : send final summary and generated image
status=ok - : report the actual error
status=error
- 提取、
reference_image、target_content(默认output_mode)、friendly(默认aspect_ratio)、16:9(默认image_size)、2k(默认max_attempts)和3(默认layout_threshold)0.75 - 验证必填输入:
- 已提供且可解析
reference_image - 非空
target_content
- 发送预通知消息:
"正在使用sn-image-imitate技能生成风格一致的图片,请稍候..." - 使用完整标准化参数和工作目录启动工作Agent
- 处理工作Agent结果:
- :发送最终总结和生成的图片
status=ok - :报告实际错误信息
status=error
Worker Agent Workflow
工作Agent工作流程
Worker Agent receives , , , , , , , and the working directory of this skill ().
reference_imagetarget_contentoutput_modeaspect_ratioimage_sizemax_attemptslayout_threshold$SKILL_DIRError Handling Strategy:
All calls share the same error handling rules:
sn_agent_runner.py- If the subprocess exits with non-zero code, crashes, or times out: do not fallback, return with the actual error message from stderr or the system error string
status=error - If the subprocess returns invalid JSON or the JSON lacks an expected field: return
result, do not silently continue with empty or default valuesstatus=error - If the VLM review call fails during Step 3, treat the attempt as incomplete: do not record a score, and either retry the review once or skip to the next attempt depending on remaining budget
工作Agent接收、、、、、、以及本技能的工作目录()。
reference_imagetarget_contentoutput_modeaspect_ratioimage_sizemax_attemptslayout_threshold$SKILL_DIR错误处理策略:
所有调用遵循相同的错误处理规则:
sn_agent_runner.py- 如果子进程以非零代码退出、崩溃或超时:不进行降级处理,返回并附带stderr中的实际错误信息或系统错误字符串
status=error - 如果子进程返回无效JSON或JSON缺少预期的字段:返回
result,不静默使用空值或默认值继续执行status=error - 如果步骤3中的VLM检查调用失败:将该次尝试视为未完成,不记录分数,根据剩余尝试次数决定重试检查一次或直接进入下一次尝试
Step 0 — Initialization
步骤0 — 初始化
- Generate with format
task_idYYYYMMDD_HHMMSS - Create temp directory: as
/tmp/openclaw/sn-image-imitate/<task_id>/TEMP_DIR - Resolve and normalize
REFERENCE_IMAGE - Persist user request:
bash
echo "$TARGET_CONTENT" > "$TEMP_DIR/target-content.txt"- 生成格式为的
YYYYMMDD_HHMMSStask_id - 创建临时目录:,记为
/tmp/openclaw/sn-image-imitate/<task_id>/TEMP_DIR - 解析并标准化
REFERENCE_IMAGE - 持久化用户请求:
bash
echo "$TARGET_CONTENT" > "$TEMP_DIR/target-content.txt"Step 1 — Image Annotation (long caption + layout blueprint)
步骤1 — 图像标注(长描述 + 布局蓝图)
Use as system prompt and call on reference image.
prompts/image_annotate.mdsn-image-recognizebash
python "$SN_IMAGE_BASE/scripts/sn_agent_runner.py" sn-image-recognize \
--system-prompt-path "$SKILL_DIR/prompts/image_annotate.md" \
--user-prompt "Please annotate this reference image and follow the required output format." \
--images "$REFERENCE_IMAGE" \
--output-format jsonParse JSON , then parse three blocks:
resultSHORT_CAPTION: ...LONG_CAPTION: ...LAYOUT_BLUEPRINT_JSON: { ... }
If parsing fails, is empty, or is invalid JSON, return .
LONG_CAPTIONLAYOUT_BLUEPRINT_JSONstatus=errorPersist outputs:
bash
echo "$SHORT_CAPTION" > "$TEMP_DIR/reference-short-caption.txt"
echo "$LONG_CAPTION" > "$TEMP_DIR/reference-long-caption.txt"
echo "$LAYOUT_BLUEPRINT_JSON" > "$TEMP_DIR/layout-blueprint.json"使用作为系统提示词,对参考图调用。
prompts/image_annotate.mdsn-image-recognizebash
python "$SN_IMAGE_BASE/scripts/sn_agent_runner.py" sn-image-recognize \\
--system-prompt-path "$SKILL_DIR/prompts/image_annotate.md" \\
--user-prompt "Please annotate this reference image and follow the required output format." \\
--images "$REFERENCE_IMAGE" \\
--output-format json解析JSON中的,再解析三个模块:
resultSHORT_CAPTION: ...LONG_CAPTION: ...LAYOUT_BLUEPRINT_JSON: { ... }
如果解析失败、为空或是无效JSON,返回。
LONG_CAPTIONLAYOUT_BLUEPRINT_JSONstatus=error持久化输出:
bash
echo "$SHORT_CAPTION" > "$TEMP_DIR/reference-short-caption.txt"
echo "$LONG_CAPTION" > "$TEMP_DIR/reference-long-caption.txt"
echo "$LAYOUT_BLUEPRINT_JSON" > "$TEMP_DIR/layout-blueprint.json"Step 2 — New long caption generation (content rewrite with layout lock)
步骤2 — 新长描述生成(带布局锁定的内容改写)
Goal: preserve style/layout/visual language from reference long caption while replacing core content by .
target_contentHard constraints to preserve (guided by ):
layout-blueprint.json- visual hierarchy (title/subtitle/body emphasis order)
- region topology (number of major blocks and their relative positions)
- reading flow (left-to-right / top-to-bottom / radial / timeline direction)
- chart type and data encoding form (if present)
- spacing rhythm and alignment pattern
- major region bounding boxes and topological relations from blueprint
Preferred system prompt: (recommended to add).
If missing, use inline fallback system prompt:
prompts/caption_rewrite.mdRewrite the long caption by preserving style and layout constraints while replacing semantic content according to user target. Do not change block topology, reading order, or visual hierarchy. Keep the caption detailed and directly usable for image generation.Call :
sn-text-optimizebash
python "$SN_IMAGE_BASE/scripts/sn_agent_runner.py" sn-text-optimize \
--system-prompt-path "$SKILL_DIR/prompts/caption_rewrite.md" \
--user-prompt "Reference long caption:\n$LONG_CAPTION\n\nLayout blueprint JSON:\n$LAYOUT_BLUEPRINT_JSON\n\nTarget content:\n$TARGET_CONTENT\n\nReturn only the rewritten long caption." \
--output-format jsonParse JSON as . If empty, return .
resultNEW_LONG_CAPTIONstatus=errorPersist output:
bash
echo "$NEW_LONG_CAPTION" > "$TEMP_DIR/new-long-caption.txt"目标:保留参考图长描述中的风格/布局/视觉语言,同时根据替换核心内容。
target_content需保留的硬约束(由引导):
layout-blueprint.json- 视觉层级(标题/副标题/正文的强调顺序)
- 区域拓扑结构(主要区块数量及其相对位置)
- 阅读流(从左到右/从上到下/放射状/时间线方向)
- 图表类型和数据编码形式(如果存在)
- 间距节奏和对齐模式
- 蓝图中的主要区域边界框及其拓扑关系
推荐系统提示词:(建议添加)。
如果缺失,使用内置降级系统提示词:
prompts/caption_rewrite.mdRewrite the long caption by preserving style and layout constraints while replacing semantic content according to user target. Do not change block topology, reading order, or visual hierarchy. Keep the caption detailed and directly usable for image generation.调用:
sn-text-optimizebash
python "$SN_IMAGE_BASE/scripts/sn_agent_runner.py" sn-text-optimize \\
--system-prompt-path "$SKILL_DIR/prompts/caption_rewrite.md" \\
--user-prompt "Reference long caption:\
$LONG_CAPTION\
\
Layout blueprint JSON:\
$LAYOUT_BLUEPRINT_JSON\
\
Target content:\
$TARGET_CONTENT\
\
Return only the rewritten long caption." \\
--output-format json解析JSON中的作为。如果为空,返回。
resultNEW_LONG_CAPTIONstatus=error持久化输出:
bash
echo "$NEW_LONG_CAPTION" > "$TEMP_DIR/new-long-caption.txt"Step 3 — Image Generation and Layout Review Loop
步骤3 — 图像生成与布局检查循环
Execute from to sequentially:
attempt1max_attemptsGenerate Image (using 's tool):
sn-image-basesn-image-generatebash
python "$SN_IMAGE_BASE/scripts/sn_agent_runner.py" sn-image-generate \
--prompt "$CURRENT_PROMPT" \
--aspect-ratio "$ASPECT_RATIO" \
--image-size "$IMAGE_SIZE" \
--save-path "$TEMP_DIR/attempt_<N>.png" \
--output-format jsonVLM configuration requirements:
- When , VLM review is required for each attempt
max_attempts > 1 - Select VLM model from OpenClaw configuration as parameter for image recognition
- If no suitable VLM model exists in OpenClaw configuration:
- Notify user that current parameter combination cannot be executed
- Suggest adding VLM configuration or setting to
max_attemptsto skip review1
- If VLM call times out or fails: do not fallback, report the real error directly
Layout Consistency Review (only executed when ):
max_attempts > 1Review candidate vs reference using (with blueprint as structural oracle):
prompts/layout_review.mdbash
python "$SN_IMAGE_BASE/scripts/sn_agent_runner.py" sn-image-recognize \
--system-prompt-path "$SKILL_DIR/prompts/layout_review.md" \
--user-prompt "Reference is image[0], candidate is image[1]. Layout blueprint JSON:\n$LAYOUT_BLUEPRINT_JSON\n\nEvaluate layout similarity and return JSON only." \
--images "$REFERENCE_IMAGE" "$TEMP_DIR/attempt_<N>.png" \
--output-format jsonExpected review JSON (inside ):
resultjson
{
"layout_similarity_score": 0.0,
"style_similarity_score": 0.0,
"pass": false,
"major_deviations": [],
"fix_hints": []
}Save Attempt Result:
json
{
"attempt": 1,
"image": "$TEMP_DIR/attempt_1.png",
"layout_similarity_score": 0.0,
"style_similarity_score": 0.0,
"pass": false,
"major_deviations": [],
"timing": {
"image_generation": { "elapsed_seconds": 12.34, "model": "sn_image_model" },
"vlm_review": { "elapsed_seconds": 5.67, "model": "sensenova-122b" }
}
}Note: is read from the return of each CLI call; is fixed to the hardcoded placeholder (sn-image-generate does not return the model field); is read from the JSON return of sn-image-recognize. is omitted when .
elapsed_seconds--output-format jsonimage_generation.model"sn_image_model"vlm_review.modeltiming.vlm_reviewmax_attempts=1Early Termination Check (only executed when ):
max_attempts > 1Pass criteria:
-
layout_similarity_score >= layout_threshold -
pass = true -
If pass: immediately exit the loop, do not continue generating
-
If fail and attempts remain, append correction hints to prompt:
text
Layout correction requirements:
- <fix_hint_1>
- <fix_hint_2>
...- If all attempts fail to pass threshold, return highest-score candidate and mark
layout_passed=false
依次执行从到的:
1max_attemptsattempt生成图像(使用的工具):
sn-image-basesn-image-generatebash
python "$SN_IMAGE_BASE/scripts/sn_agent_runner.py" sn-image-generate \\
--prompt "$CURRENT_PROMPT" \\
--aspect-ratio "$ASPECT_RATIO" \\
--image-size "$IMAGE_SIZE" \\
--save-path "$TEMP_DIR/attempt_<N>.png" \\
--output-format jsonVLM配置要求:
- 当时,每次尝试都需要进行VLM检查
max_attempts > 1 - 从OpenClaw配置中选择VLM模型作为图像识别参数
- 如果OpenClaw配置中没有合适的VLM模型:
- 通知用户当前参数组合无法执行
- 建议添加VLM配置或设置为
max_attempts以跳过检查1
- 如果VLM调用超时或失败:不进行降级处理,直接报告真实错误
布局一致性检查(仅当时执行):
max_attempts > 1使用(以蓝图为结构基准)对比候选图与参考图:
prompts/layout_review.mdbash
python "$SN_IMAGE_BASE/scripts/sn_agent_runner.py" sn-image-recognize \\
--system-prompt-path "$SKILL_DIR/prompts/layout_review.md" \\
--user-prompt "Reference is image[0], candidate is image[1]. Layout blueprint JSON:\
$LAYOUT_BLUEPRINT_JSON\
\
Evaluate layout similarity and return JSON only." \\
--images "$REFERENCE_IMAGE" "$TEMP_DIR/attempt_<N>.png" \\
--output-format json预期检查JSON(位于内):
resultjson
{
"layout_similarity_score": 0.0,
"style_similarity_score": 0.0,
"pass": false,
"major_deviations": [],
"fix_hints": []
}保存尝试结果:
json
{
"attempt": 1,
"image": "$TEMP_DIR/attempt_1.png",
"layout_similarity_score": 0.0,
"style_similarity_score": 0.0,
"pass": false,
"major_deviations": [],
"timing": {
"image_generation": { "elapsed_seconds": 12.34, "model": "sn_image_model" },
"vlm_review": { "elapsed_seconds": 5.67, "model": "sensenova-122b" }
}
}注意:从每个CLI调用的返回值中读取;固定为硬编码占位符(sn-image-generate不返回模型字段);从sn-image-recognize的JSON返回值中读取。当时,省略。
elapsed_seconds--output-format jsonimage_generation.model"sn_image_model"vlm_review.modelmax_attempts=1timing.vlm_review提前终止检查(仅当时执行):
max_attempts > 1通过条件:
-
layout_similarity_score >= layout_threshold -
pass = true -
如果通过:立即退出循环,不再继续生成
-
如果未通过且还有剩余尝试次数,将修正提示追加到提示词中:
text
Layout correction requirements:
- <fix_hint_1>
- <fix_hint_2>
...- 如果所有尝试均未达到阈值,返回分数最高的候选图并标记
layout_passed=false
Return Contract
返回契约
Worker Agent final response must be bare JSON (no extra text, no code fence).
工作Agent的最终响应必须是纯JSON(无额外文本,无代码块)。
Normal Flow
正常流程
json
{
"status": "ok",
"need_main_agent_send": true,
"output_mode": "friendly|verbose",
"result": {
"image": "/tmp/openclaw/sn-image-imitate/<task_id>/attempt_2.png",
"reference_image": "<resolved_reference_image>",
"reference_short_caption": "<short caption from step 1>",
"reference_long_caption": "<long caption from step 1>",
"layout_blueprint": { "...": "..." },
"new_long_caption": "<rewritten long caption from step 2>",
"layout_passed": true,
"selected_attempt": 2
},
"attempts": [
{
"attempt": 1,
"image": "/tmp/openclaw/sn-image-imitate/<task_id>/attempt_1.png",
"layout_similarity_score": 0.62,
"style_similarity_score": 0.79,
"pass": false,
"major_deviations": ["center panel too narrow", "title block moved to top-right"]
},
{
"attempt": 2,
"image": "/tmp/openclaw/sn-image-imitate/<task_id>/attempt_2.png",
"layout_similarity_score": 0.81,
"style_similarity_score": 0.84,
"pass": true,
"major_deviations": []
}
],
"review": {
"threshold": 0.75
},
"timing": {
"total_elapsed_seconds": 24.56,
"annotate": { "elapsed_seconds": 3.21, "model": "sensenova-122b" },
"rewrite": { "elapsed_seconds": 2.45, "model": "sensenova-122b" },
"generation_total": { "elapsed_seconds": 11.90, "model": "sn_image_model" },
"review_total": { "elapsed_seconds": 7.00, "model": "sensenova-122b" }
}
}json
{
"status": "ok",
"need_main_agent_send": true,
"output_mode": "friendly|verbose",
"result": {
"image": "/tmp/openclaw/sn-image-imitate/<task_id>/attempt_2.png",
"reference_image": "<resolved_reference_image>",
"reference_short_caption": "<short caption from step 1>",
"reference_long_caption": "<long caption from step 1>",
"layout_blueprint": { "...": "..." },
"new_long_caption": "<rewritten long caption from step 2>",
"layout_passed": true,
"selected_attempt": 2
},
"attempts": [
{
"attempt": 1,
"image": "/tmp/openclaw/sn-image-imitate/<task_id>/attempt_1.png",
"layout_similarity_score": 0.62,
"style_similarity_score": 0.79,
"pass": false,
"major_deviations": ["center panel too narrow", "title block moved to top-right"]
},
{
"attempt": 2,
"image": "/tmp/openclaw/sn-image-imitate/<task_id>/attempt_2.png",
"layout_similarity_score": 0.81,
"style_similarity_score": 0.84,
"pass": true,
"major_deviations": []
}
],
"review": {
"threshold": 0.75
},
"timing": {
"total_elapsed_seconds": 24.56,
"annotate": { "elapsed_seconds": 3.21, "model": "sensenova-122b" },
"rewrite": { "elapsed_seconds": 2.45, "model": "sensenova-122b" },
"generation_total": { "elapsed_seconds": 11.90, "model": "sn_image_model" },
"review_total": { "elapsed_seconds": 7.00, "model": "sensenova-122b" }
}
}Error Flow
错误流程
json
{
"status": "error",
"error": "<actual_error_message>"
}Rules:
- must include
status=okneed_main_agent_send: true - must be an existing generated image path
result.image - covers full worker execution
timing.total_elapsed_seconds - If parsing of Step 1 format fails (including invalid blueprint JSON), return (do not silently continue)
status=error - must record each generation + review attempt
attempts - If no attempt passes threshold, return highest-score candidate and set
result.layout_passed=false
json
{
"status": "error",
"error": "<actual_error_message>"
}规则:
- 必须包含
status=okneed_main_agent_send: true - 必须是已存在的生成图路径
result.image - 覆盖工作Agent的完整执行时间
timing.total_elapsed_seconds - 如果步骤1的格式解析失败(包括无效蓝图JSON),返回(不静默继续执行)
status=error - 必须记录每次生成+检查尝试
attempts - 如果没有尝试通过阈值,返回分数最高的候选图并设置
result.layout_passed=false
Output Format
输出格式
friendly mode (default)
friendly模式(默认)
- One concise sentence: generated image follows reference style and updates to requested content
- Mention whether layout consistency passed threshold and attempt count
- Send single image:
result.image
- 一句简洁说明:生成图遵循参考图风格并更新为请求内容
- 提及布局一致性是否通过阈值及尝试次数
- 发送单张图片:
result.image
verbose mode
verbose模式
Style imitation result
---
Reference short caption: <reference_short_caption>
---
Style/layout cues:
<brief extraction from reference_long_caption + layout_blueprint>
---
New long caption:
<new_long_caption>
---
#1 attempt=<n> layout_score=<0.00> style_score=<0.00> pass=<true|false> [selected]
deviations: <major_deviations or none>
#2 attempt=<n> layout_score=<0.00> style_score=<0.00> pass=<true|false>
deviations: <major_deviations or none>
...
---
Layout threshold: <0.75> | Passed: <true|false> | Selected: attempt <n>
Time statistics: Total <total>s | Annotation <t>s | Rewrite <t>s | Generation <t>s×<n> attempts | Review <t>s×<n> attempts
---
Images (selected image)Style imitation result
---
Reference short caption: <reference_short_caption>
---
Style/layout cues:
<brief extraction from reference_long_caption + layout_blueprint>
---
New long caption:
<new_long_caption>
---
#1 attempt=<n> layout_score=<0.00> style_score=<0.00> pass=<true|false> [selected]
deviations: <major_deviations or none>
#2 attempt=<n> layout_score=<0.00> style_score=<0.00> pass=<true|false>
deviations: <major_deviations or none>
...
---
Layout threshold: <0.75> | Passed: <true|false> | Selected: attempt <n>
Time statistics: Total <total>s | Annotation <t>s | Rewrite <t>s | Generation <t>s×<n> attempts | Review <t>s×<n> attempts
---
Images (selected image)Call Relationship
调用关系
- Bottom-level dependency: →
sn-image-base,sn-image-recognize,sn-text-optimizesn-image-generate
- 底层依赖:→
sn-image-base,sn-image-recognize,sn-text-optimizesn-image-generate
References
参考资料
- - Image annotation + layout blueprint system prompt (Step 1, required)
prompts/image_annotate.md - - Caption rewrite system prompt with layout-lock constraints (Step 2, required)
prompts/caption_rewrite.md - - Candidate-vs-reference layout/style review prompt (Step 3, required)
prompts/layout_review.md - - Base tool behavior and parameter defaults
../sn-image-base/SKILL.md
- - 图像标注+布局蓝图系统提示词(步骤1,必填)
prompts/image_annotate.md - - 带布局锁定约束的描述改写系统提示词(步骤2,必填)
prompts/caption_rewrite.md - - 候选图与参考图的布局/风格检查提示词(步骤3,必填)
prompts/layout_review.md - - 基础工具行为与参数默认值",
../sn-image-base/SKILL.md