| name | taxue-halftone |
| description | 半调海报:用限墨+网点把任意主题做成有结构、有质感、可复用的艺术封面。支持多种印刷语言(半调/孔版/双色/木刻/蓝晒/蓝染/复印机、1-bit 剪影、撕纸拼贴),按风格给出一致又有特色的封面。六项不变式出图前先定:纸色、墨色角色、叠印方式、印刷机制、主体走向、字图音量。触发词:半调海报、艺术封面、网点、孔版、双色、Riso、duotone、木刻、蓝晒、蓝染、蓝染海报、复印机美学、不完美印刷拼贴、撕纸拼贴、编辑型印刷拼贴、有意不完美、点阵解构、丝网海报、剪纸、窗花、中式剪纸、网点剪纸、经典致敬、风格模仿、致敬、名画、艺术流派、年代美学、视觉风格转译、平台封面(B站/小红书/抖音/公众号/头像/超宽)、主题结构印刷封面、限墨封面。不用于:全彩实拍、UI、图表、模板拼贴。 |
半调海报 · 艺术封面
第一性原理:限墨不是滤镜,是可校验的印版系统。 无论选哪种机制,一张图都必须先回答六个互斥且穷尽的问题(见 §0),缺一则不是本系统。风格 = 六轴各取一组确定值形成的指纹组合,不是把某个滤镜套上去。
判语:如果无法指出每块颜色来自哪支墨、哪个角或哪一层阶、纸在哪里露出,就还不是本系统。
§0 六不变式(规范的最小不变式,MECE)
任何一张图,无论什么机制、什么风格,都必须在这六个轴上各自给出一个确定值。缺任一轴,图不是本系统;轴内取值模糊,图不鲜明。
| # | 轴 | 必须回答 | 数据源 | 量化约束 |
|---|
| 1 | 纸(Ground) | 纸是哪一块、什么色 | roles.json | 底衬色不算墨;暗底白衬必须 choke |
| 2 | 墨(Ink/Mist) | 哪几支墨、各干什么 | roles.json | 主 70–85%,辅/雾且各 1 职务;imperfect_collage 专属第三通道(跳色 ≤5%,不进主体结构),其余风格 ≤2 墨 |
| 3 | 印刷布尔 | 两色相交怎么处理 | bools.json | knockout/overprint/trap 三选一 |
| 4 | 机制 | 用什么印刷机制 | mechanisms.json | 一次一个;机制内角/点/密度须有结构 |
| 5 | 主体行为 | 图的「势」往哪走 | behaviors.json | still/dissipate/densify/horizon/vertical-extend |
| 6 | 字图音量 | 字和图的音量谁大 | volume.json | 字大声则图退;禁止双开 11 |
七轴外:主体结构链 与 平台画幅 是两个独立的约束系统(subject.json、platform.json),它们不改变六轴取值,但决定「主体是否可识别」「画幅是否被裁坏」。
§1 重新定义问题(接案 → 六轴配方)
先问清楚,能填齐才有资格出图。产出一份内部配方(用户未问过程则不整段展示):
subject: <一个可识别主体,见 subject.json>
subject_chain: <解剖/生长/功能/材料的连续结构链,见 subject.json>
intent: <公告|观察|宣言|包装|标本|封面|转绘>
exact_text: <用户原文 | 按语言发明 | none>
text_language: <用户语言,除非另指定>
representation: <faithful | abstract>
source_policy: <preserve 保像素 | distill 提炼 | invent 无源图>
ground: <Ground_id>
ink_role: <角色赋墨:role + hex + 占比>
boolean: <knockout | overprint | trap>
mechanism: <mechanism_id>
behavior: <still|dissipate|densify|horizon|vertical_extend>
volume:
未指定时的默认:机制 AM、双色、中性白纸、relaxed(旅行/生活)或 balanced(活动/信息)、空纸 25–55%、复古编辑(不做旧)、主墨 45°、双色差 ≥30°。Mist 不是第三色相,是主墨浅阶或叠印密度。
§1.5 源输入诊断与映射(先诊断,再填配方)[ABLATE:ALL]
三类输入走三条路:无源主题直接填配方;图源输入必须先产出诊断卡;用户提供参考图时叠加 §1.6 参考创作模式。诊断发生在配方之前,产出作为配方下每个取值的一条来源证据;用户不问流程则不展示。
诊断与映射 [ABLATE:C1,C2]
图源输入时,先看原图写出五行观察值(不用脚本;看不清就标注 unknown,不硬编):
axis: 水平 | 垂直 | 对角 | 框景 | 无
subject_occupancy: <25% | 25–50% | >50%
negative_space: <方位 + 约 %>
dominant_color: <与 §2 起点色最接近的一支墨>
defect: <截断/歪斜/死负空间 | none>
再按映射表取轴值(补 scenes.md 只按主题路由的盲区):
| 诊断特征 | 轴取值 |
|---|
| axis=水平 | behavior=horizon;字走横张 |
| axis=垂直 | behavior=vertical_extend;竖题 |
| axis=对角 | behavior=still + 强对角网格;字沿对角切入 |
| axis=框景 | behavior=still;保留框为释放区 |
| subject_occupancy <25% | volume=type_lead 或极疏 zine;主体小、空纸大 |
| 25–50% | volume=balanced;占幅按 scenes.md 主体面积经验 |
| >50% | volume=image_lead;字退为支撑 |
| 主导色接近某支墨 | 墨色取值 = 该支墨(用兼容墨而非复刻照片色域) |
| defect=歪斜 | 唯一修复动作 = 扶正主轴(crop 修正,非滤镜拉直) |
| defect=截断 | 裁切方向 = 截断的对边;同时满足 §3 至少一边裁切 |
| defect=死负空间 | 释放区 = 该处;字或物去破它(focal_event 首选) |
每条来源写成一行注记:behavior=horizon ← 诊断 axis=水平。诊断卡与轴取值互相矛盾时,以六轴为准并回改诊断卡。
四域命题 [ABLATE:C3]
配方填完前,用四行给「设计判断」落账(先于构图语序,不是事后描述):
主体域:<抠取/裁切/尺度动作 + 一处可识别结构不被破坏>
背景域:<纸 + 一支墨的主动色场/色窗/明度切片;禁止普通渐变>
互动域:<字与主体轮廓的一处真实遮挡、共边、穿插或负形咬合>
排版动作:<偏置 | 越栏 | 竖向 | 断行 | 边缘切入 | 超大字 | 一圈注>(恰好一个非默认动作)
主问题:<唯一最需修的问题,来自诊断卡。defect=none 或无源输入时只写「无主问题」,不写预防性措施>
唯一修复动作:<只写一件事:扶正/补空纸/重启空纸/换裁切/重定音量>
判语:四域里任何一域写「原样保留」「普通渐变」「标题居中」即不合格;主问题与修复动作必须能从五段 prompt 中找到落实句;无主问题时不得用反模式预防充当修复动作。
§1.6 参考创作模式(用户提供参考图时启用)[ABLATE:C6]
默认不用参考;启用时二选一:参考与 examples/、swatches/ 同指纹(机制、纸墨角色、行为、字图音量可对齐;映射见 examples/README.md)→ 锁定对应 styles/<style_id>.json 六轴为起点,仅经 §1.5 映射、§3 语序、§4.5 字形调整,禁止复刻其场景、文案与排版;不属于本系统指纹 → 走 §7 机制迁移(2–4 个可见机制 + 掏空判定)。验收:迁移项必须是五段第 2–3 段的可指认动作;判不了归属时按机制样本处理(宁少勿多)。
§2 印版推导(勿锁死单一配方)
起点色(可改,须写 HEX):
- 单墨:Cobalt
#2148B8 / Botanical #008A4B / Terracotta #C65F38 / Signal Red #C83232 / Aubergine #63365F / Charcoal #30343A
- 双色常用:Cobalt+Terracotta;Charcoal+Signal Red;Mint+Charcoal;Ultramarine+Safety Orange;Cyan+Brick Red
规则:辅墨必须有职务(日期、注释、一个物件、一处叠印交叉)。禁止把第二色当装饰洒满页。纸 = Ground 不算第三色;叠印变深 / Mist 不算第三色。
§3 构图语序(不改变六轴,只在六轴内组织画面)
- 一物主导(或字作为物):占 45–80%(信息海报可降 32–55%;still 陈列更小),至少一边裁切。
- 字与图音量:按 volume.json 定谁主谁辅;字撞物(穿越/覆盖/劈开)是其中一招。裁切要为字留口袋。
- 纸切入图像:高光 knockout 到纸;扩散边走网,结构边保持硬边(窗、字、几何不「融化」)。
- 一个手工手势:圈注、套准线、手绘短线、旋转小标签、或 Weingart 式不规则宽边——只选一族。工艺缺陷预算也算这一次:轻微套不准或一次并网,不要叠 grain+刮痕+咖啡渍。
行为逻辑(先于物体类别):still 静置 / dissipate 向外变少(用点)/ densify 向内变重(用网纹)/ horizon 地平线 / vertical-extend 沿长边消失。点和网纹不要写在同一处渐变里。
§4 多语言与多尺寸
见 references/language.md、platform.json。摘要:
- 用户文案原样;发明文案用用户语言。
- 文案直接展示,没有多余的标点符号:标题与正文只允许逗号、句号;不加引号框注、装饰符号、破折号下划线、编号及任何非文案文字(各内置模板均已写入,全局一致)。
- CJK 微字 → type-off;短 H1 可 type-in,笔画须 ≥ 2–3 个网距,校对失败则后期上字。
- type-in 时把字写成一次印刷事件(墨量 / 层 under|same|over / 一处「破」),不是字体名。
- 换画幅必须重写构图;先改观看距离/档位,再改字号,最后改构图。
§4.5 中文展示字形速查 [ABLATE:C5]
type-in 的展示标题(≤8 字)在 language.md 的印刷事件规则之外,再给字形一个可指认目标:选一个谱系 + 至少 3 个可见特征,一行写完。只写「宋体、黑体、书法感」不算完成。
| 谱系 | 宽窄/重心 | 横竖对比 | 收笔 | 字腔 |
|---|
| 刊刻楔脚宋 | 方、中重心 | 1:2.2–1:3 | 短刀刻楔脚 | 方而略收 |
| 碑额篆刻 | 方整紧凑、转折略圆 | 接近等宽 | 凿刻顿点 | 小而稳 |
| 隶意外拓 | 扁宽、低重心 | 横张竖收 | 外拓波磔 | 开放 |
| 几何黑体 | 方、等高 | 等宽 | 平切 | 方正 |
| 民艺拙笔 | 宽、重心不定 | 粗细抖动 | 干笔/毛刺 | 不规则 |
| 现代怪诞 | 宽、高重心 | 细横粗竖 | 方切或圆切 | 夸张开放 |
示例:谱系=刊刻楔脚宋;方、中重心;横竖 1:2.5;楔脚收笔;字腔略收;回应木构扁额。
规则:谱系不得改变部件拓扑(规范字、不增减笔画);逐字光学补偿只写「字面占比/重心/横张/字腔开放度」中一项具体改变,不写「更艺术」;locked-wordmark 类(2–5 字、庄严语境)各字保持共同字高与基线。
§5 提示词与出图
按 references/compile.md 五段编译。本环境 GenerateImage:description = 五段正文,aspect_ratio ∈ 1:1/4:3/3:4/16:9/9:16(5:2 降 20:9;21:9 降 16:9)。
出图前跑 scripts/validate_styles.py <style>,再过一遍反模式雷达(references/patterns.md,逐名扫描五段 description)。命中任一命名模式:先报「此处命中 xxx,信号是 yyy」,只改所属那一段,再出图。
出图后按三档评审卡自检(失败只重生一次,只改一项):
- blocker(命中任一项即不算通过):超过两墨 / 无选定机制痕迹 / 空纸越界 / 主体不可辨(遮标题 <3 秒认出)/ 自动做旧 / 假 CMYK 扮孔版 / 字图同网碎字 / 全通道同角 / 结构边被网融化 / 渐变冒充网点 / 命中任一命名反模式
- 可修(优先级低,留给下一版,不阻塞):无 5× 字号差 / 无焦点事件 / 商标/二维码加网 / 复刻参考图字句
- 通过判语:能否说出「哪支墨、哪个角或哪一层、纸在哪」→ 说不出口即未过关
- 精确文字仍错 → type-off 底板 + 声明后期排字,不假装正确
§6 元提示词
用户要可复用模板时:输出带槽位正文 + ≥3 主题填法 + 替换规则。主题为唯一必填。
日常快速路径(editorial 经典半调,2026-09-04 实测稳定后固化)
editorial 精炼元提示词模板(styles/editorial.json 的 meta_prompt,经典半调)已在 GPT 与 grok 出图实测稳定,日常出图默认走快速路:
- 输入 = 主题,唯一必填;图像描述由主题推演,其余槽位(颜色1/颜色2/字体类型/文案/纸色)一律按
slot_filling 默认值自动填充,直接作为出图 prompt。
- 不向用户逐项询问槽位参数;仅用户主动指定某槽位时覆盖默认值。
- 出图前仍过反模式雷达(
references/patterns.md 逐名扫描)与三档评审卡,不因快而省。
- 其余内置模板风格(dot_dissolve / paper_cut_group / paper_cut_halftone / aizome)属常规流程,仍按原流程(§1 配方)走,不套用本条快速路。
- 完整六轴配方(§1)只在用户要求自定义、参考创作或特殊场景时走。
§7 硬避免
完整命名的反模式表见 references/patterns.md(19 个命名模式,含视觉签名与正确替代),出图前必须跑反模式雷达。此处是简版索引,按层归类:
- 色调:第三色相 / 渐变冒充网点 / 霓虹泼彩 / 全彩照片 / 自动做旧 / 假 CMYK 扮孔版
- 机制:全通道同角 / RGB 上套 Color Halftone / 把 Riso(印刷机)和 Halftone(加网)当可互换滤镜名 / 印刷机制当情绪词写进 prompt
- 排版:居中模板 / 字图同网碎字 / Logo/URL/二维码加网
- 主体:复刻参考图独特字句排版 / 无来源完整广告英雄人像
- 拼贴:贴纸拼贴 / 复古电影海报拼盘
- 表达:销售 CTA / 矢量平涂网红海报
参考迁移(仅用户提供参考图时启用,默认不用参考)[ABLATE:C4]:只迁移 2–4 个从参考上直接看得见的机制(主体处理、背景色场、图文关系、材质层级);不迁移实体(建筑、地名、人物、品牌、徽章、符号、字句、排版)。掏空判定:把禁项删掉后若参考只剩「高级、克制、偏置、编辑感」等形容词,它不是有效主导参考,不启用。迁移项写进五段前 2–3 段,禁项写进第 5 段。
出图 description 若命中任一命名模式(见 references/patterns.md),先把那一段改到它的「正确替代」,再出图。
§8 加载协议
先读本文件完全掌握六不变式,再按需读:
| 场景 | 必读 |
|---|
| 定机制与六轴 / 选风格 | styles/*.json + design-system/ |
| 不完美印刷拼贴 / 撕纸拼贴 | references/imperfect-collage.md + styles/imperfect_collage.json |
| 主体结构链 / 3 秒识别 | design-system/subject.json |
| 平台画幅 / 安全区 | design-system/platform.json |
| 中英日韩 / 双语 | references/language.md |
| 写 prompt / 元提示词 | references/compile.md |
| 反模式雷达(命名反模式) | references/patterns.md |
| 术语对齐(用户词→机制) | references/vocabulary.md |
| 校验与测试 | scripts/ + evals/ |
§10 风格清单(styles/)
| style_id | 名称 | 一句话 |
|---|
| editorial | 复古编辑印刷风 | AM 半调 + 字撞物 + 纸露白,一物主导(基准),内置精炼元提示词模板(经典半调,主题唯一必填,一键出图,GPT/grok 实测稳定,含中英双文案变体) |
| polish | 波兰海报路 | photogram 高反差,字即物,单墨或高反差 |
| swiss | 瑞士海报路 | 摄影阶调 + 实色字 + 大量纸白,克制秩序 |
| riso_zine | 孔版 zine 路 | 极疏构图,主体小、空纸大,当代纸不做旧 |
| filmstack | 胶片叠层路 | 粗网本身是图形,字与图共享一层,宽边框住 |
| archival | 标本档案路 | 标题 + 规整图像板 + 多栏图注,标本/观察笔记 |
| imperfect_collage | 不完美印刷拼贴 | 撕纸拼贴三层结构,专色场 + 黑白半调主体,上图下卡 |
| dot_dissolve | 点阵解构海报路 | 复古丝网圆点阵,具象解构为点阵颗粒波纹,字融入点阵场,内置元提示词模板(主题唯一必填) |
| paper_cut_group | 中式剪纸路 | 剪纸剪影群像+负空间镂空,上图下卡,一枚跳色例外成员,内置元提示词模板(主题唯一必填) |
| paper_cut_halftone | 点阵剪纸路(变体) | 点阵解构×中式剪纸混搭:剪纸窗花轮廓+粗圆网点铺形,暗部 70–90%不断网,跳色克制,上图下卡,内置元提示词模板(主题唯一必填,用色倾向三选一) |
| aizome | 蓝染艺术海报路 | 绝对纯白数字平面 + 深靛蓝/钴蓝 + 蓝晒式平阶剪影,染液浓淡与版画排线只在蓝色内部,九方位变奏的现代中文排版,内置元提示词模板(主题唯一必填) |
| tribute | 经典致敬路 | 任意名画/艺术流派/年代美学为母题,巨大粗体英文标题 × 极小形象的纪念碑式反差,抽象转译不复刻,中文为主英文呼应的三层文字,内置元提示词模板(风格来源+主题必填) |
§9 工程校验
本系统把「规范」落到可机器校验的数据层:六轴分别在 design-system/ 各有 json,风格在 styles/ 是六轴的取值组合。改任一轴须保证全系统一致。
scripts/run_tests.sh
scripts/validate_styles.py <style_id>
scripts/render_style_card.py <style_id>