图片转换新海诚动漫风格
把真实照片转成新海诚动画电影的背景美术(背景画)质感,而不是重新画一幅画。
铁律(本技能的全部价值所在)
- 场景 100% 锁定:建筑的形状、高度、位置,桥梁结构,人物的姿势、服装、站位,机位与地平线——一个都不许动。
- 天气与氛围 100% 锁定:原图是阴天/雾天/日落/夜晚,就还是那个天气。绝不擅自「换天」放晴。新海诚的阴雨场景同样出彩(《言叶之庭》《秒速五厘米》)。
- 只换渲染层:赛璐璐描线、扁平色块、光晕、笔触——这些才是能改的。
- 风格浓度靠提示词调,不靠降低保真度。
执行流程
Step 1 · 分析原图,判定光线场景
按原图的实际天气选择对应模板(见 references/prompt-templates.md):
| 原图天气 | 选用模板 | 参考作品 |
|---|---|---|
| 晴天 / 有云 | 日间晴天 | 《你的名字》乡野段落 |
| 阴天 / 雾 / 霾 | 阴天氛围(保留雾霾,冷灰蓝调) | 《言叶之庭》《秒速五厘米》 |
| 日落 / 火烧云 / 剪影 | 黄昏魔幻时刻 | 《你的名字》黄昏段落 |
| 夜景 / 城市灯光 | 夜景霓虹 | 《天气之子》东京夜景 |
Step 2 · 调用 ImageGen(图生图)
必填参数,这是踩过坑后验证过的组合:
| 参数 | 取值 | 原因 |
|---|---|---|
image1 |
原图绝对路径 | — |
input_fidelity |
high | 绝对不要用 medium/low —— 低档会无视原图整幅重画,建筑/人物/桥全变(已翻车过一次) |
quality |
high | — |
size |
按原图比例(横图 1536x1024,竖图 1024x1536,方图 1024x1024) | 用户默认要求跟随原图比例 |
style |
anime | — |
提示词结构(顺序固定,三段落):
Style transfer only — keep the scene 100% identical to this reference photo, do NOT redesign it.
[锁定段] Preserve exactly: 逐要素列出建筑/桥/人物/机位/地平线…
[氛围段] DO NOT clear up the sky / this is an overcast day and the mood must be preserved…
[风格段] Change ONLY the rendering into hand-painted Makoto Shinkai anime style…(对应天气模板)
[收尾] No added or removed buildings, no extra objects, no text, no watermark.
Step 3 · 后处理:裁水印
生成图右下角带「AI生成 WORKBUDDY」水印,用户惯例是裁掉底部再交付。
裁切量为高度的 7.5%(裁 52px 有残留,7.5% 干净):
python -c "
from PIL import Image
im = Image.open('生成图.png'); w,h = im.size
im.crop((0,0,w,h-round(h*0.075))).save('成品.png')
"
或直接跑 scripts/crop_watermark.py。
加彗星 / 流星(动态天体元素)
这是最容易「敷衍」的一环,必须写明四件事,否则模型只画一条简单光痕:
- 头部位置 + 运动方向:例如「彗头在左下、尾迹拖向右上 = 从右往左飞行」。新海诚作品里彗星是从右往左飞的。
- 对环境的光照影响:云层边缘被照亮、光晕扩散、雾气似被推开、放射状细流星。
- 伴随碎片:主彗星旁边一颗小碎片彗星 + 大小不一的闪烁星屑。
- 尺寸与亮度:明确要求 LARGE / BRILLIANT / 占大半个天空。
⚠️ 尾迹必须画成半透明薄光痕,不是浓烟柱——背景的云要能透过尾迹看见,否则天空会变脏。
使用双图(base + 参考图)时的红线
参考图会整体迁移它的氛围(云的厚度、调色、影调),必须显式限定:
Image 2 is ONLY a style reference for [彗星形态与粒子处理] —
do NOT copy image 2's sky, clouds or color grading.
翻车案例:用《你的名字》厚重云层的参考图 → 模型把厚云和水彩质感一并学来,原图通透的蓝橙渐变被盖住,天空变脏。修正方式就是在提示词里写死「只借鉴哪部分、禁止借鉴哪部分」。
迭代节奏
用户偏好「发现问题 → 针对性修正 → 满意才定稿」的循环。每次交付时附 3-4 句简短修改摘要,说清改了什么、为什么改。
不要一次性堆多个改动——用户给的反馈通常只有一个核心点(方向反了 / 云太厚 / 太敷衍),一次只修一个点最容易命中。
常见翻车与修正
| 症状 | 原因 | 修正 |
|---|---|---|
| 建筑、人物、桥全变了,像新画的图 | input_fidelity 调低了 |
改回 high + 提示词加「style transfer only / do NOT redesign」 |
| 天空被换成晴天,丢失原氛围 | 提示词里写了「放晴/扫清雾气」 | 改为「DO NOT clear up the sky」,按阴天模板走 |
| 天空变厚变脏、蓝橙对比没了 | 参考图氛围被整体迁移 | 加「image2 仅参考 X,禁止复制天空/云/调色」 |
| 彗星像贴图、方向反、太小 | 没写方向 / 没写环境互动 | 写明头部位置+方向+云层光照+碎片+尺寸 |
| 招牌变伪文字 | 模型重建了文字 | 提示词加「signs as abstract glowing light blocks」 |
自进化机制(每次都要跑,这是技能变强的唯一途径)
闭环:生成 → 对照量表评分 → 记录案例 → 未达标就修正重出 → 沉淀经验
1. 出图后先自评(不许跳过)
对照 references/quality-rubric.md 的 10 个维度打分(总分 100)。判定:
- 总分 ≥ 90 → 可交付,且把该次提示词补进
references/prompt-templates.md作为新模板 - 85-89 → 可交付,记录薄弱项
- 75-84 → 修正最高扣分项后重出
- < 75 → 判废重做,先检查
input_fidelity和场景锁定段 - 保真类(场景保真 / 天气氛围)任一 ≤ 5 分 → 无论总分多少直接重做
2. 记录进案例库
python scripts/evolve.py add --scene "日落剪影" --fidelity high --total 91 \
--scores "场景保真=15,天气氛围=15,天空通透=13,云的质量=9,色彩渐变=10,线条=9,光=10,细节=5,梦幻=5,辨识度=5" \
--issue "天空偏厚" --fix "双图时声明 image2 仅参考彗星形态,禁止复制云层" --verdict great
--issue(问题)与 --fix(解法)是这个技能成长的养料,务必写具体。
3. 定期复盘
python scripts/evolve.py report # 平均分、各维度均分、高频问题、分数趋势
python scripts/evolve.py suggest # 下一版提示词的补强建议
python scripts/evolve.py best # ≥90 分的优秀案例与成功做法
suggest 会综合三件事给建议:最近一次的问题、历史高频问题、长期薄弱维度。
出图前跑一次,把建议片段拼进提示词——这就是「越用越美」的具体实现方式。
4. 技能自身的演进规则
- 出现新的失败模式 → 加进
evolve.py的ISSUE_FIXES诊断表 - 拿到 ≥90 分的提示词 → 补进
references/prompt-templates.md - 用户的新审美偏好 → 写进本文件的「铁律」或
quality-rubric.md - 案例库
references/evolve-log.json只增不删,它是美商的记忆体
当前基线(2026-09-04,8 个案例)
平均分 80.6,达标率 62%。长期薄弱项:梦幻感(3.9/5)、辨识度(4.1/5)、细节(4.6/5)。
下一阶段的提升重点:往画面里加空气感——漂浮光尘、柔和光晕、薄雾带、星屑,并让天空的戏剧性更强。
附:新海诚风格要素速查
- 云:绝对主角,体积感强,受光边缘发亮,暗部灰紫渐变
- 天空:深钴蓝(不是浅天蓝),高透亮
- 线条:干净赛璐璐描边,细节概括但认真刻画
- 光:高饱和、强阳光感、轻微镜头光晕与光斑
- 氛围:比实景更真实的浪漫化,平凡场景的电影感