visual-prompt-kit 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/README.md +254 -0
  2. package/bin/visual-prompt.js +5 -0
  3. package/docs/keyword-authoring.md +207 -0
  4. package/package.json +43 -0
  5. package/skills/image-prompt-composer/SKILL.md +40 -0
  6. package/skills/image-prompt-composer/agents/openai.yaml +4 -0
  7. package/src/cli.js +261 -0
  8. package/src/define.js +78 -0
  9. package/src/generator/export.js +20 -0
  10. package/src/generator/generateTags.js +64 -0
  11. package/src/generator/index.js +8 -0
  12. package/src/generator/locks.js +40 -0
  13. package/src/generator/pick.js +27 -0
  14. package/src/generator/seed.js +28 -0
  15. package/src/index.js +23 -0
  16. package/src/prompt/buildPromptRequest.js +63 -0
  17. package/src/prompt/index.js +7 -0
  18. package/src/prompt/serializePromptRequest.js +21 -0
  19. package/src/themes/index.js +43 -0
  20. package/src/themes/sweet-girl/dimensions/camera.js +42 -0
  21. package/src/themes/sweet-girl/dimensions/expression.js +42 -0
  22. package/src/themes/sweet-girl/dimensions/facial.js +34 -0
  23. package/src/themes/sweet-girl/dimensions/lighting.js +34 -0
  24. package/src/themes/sweet-girl/dimensions/outfit.js +44 -0
  25. package/src/themes/sweet-girl/dimensions/pose.js +66 -0
  26. package/src/themes/sweet-girl/dimensions/scene.js +102 -0
  27. package/src/themes/sweet-girl/dimensions/style.js +32 -0
  28. package/src/themes/sweet-girl/dimensions/subject.js +38 -0
  29. package/src/themes/sweet-girl/dimensions/vibe.js +34 -0
  30. package/src/themes/sweet-girl/index.js +1 -0
  31. package/src/themes/sweet-girl/manifest.js +50 -0
  32. package/src/themes/sweet-girl/presets/index.js +26 -0
  33. package/src/validate/index.js +5 -0
  34. package/src/validate/rules.js +5 -0
  35. package/src/validate/theme.js +79 -0
@@ -0,0 +1,42 @@
1
+ const { defineDimension } = require("../../../define");
2
+
3
+ module.exports = defineDimension({
4
+ key: "camera",
5
+ zhName: "镜头景别与构图法则",
6
+ description: "服务甜美少女写真的专业镜头语言与构图方式。",
7
+ pick: { min: 1, max: 2, recommended: 1 },
8
+ minimumItems: 80,
9
+ rules: [
10
+ "只描述景别、机位、镜头与构图,不混入情绪、服饰与主体身份。",
11
+ "避免偷窥感、畸变感与过强压迫构图。"
12
+ ],
13
+ items: [
14
+ // 景别与拍摄距离
15
+ "近脸特写", "面部特写", "眼部特写", "肩颈特写", "半身近景",
16
+ "上半身中景", "及腰中景", "及胯中景", "过膝半身景", "三分之二身景",
17
+ "全身景别", "环境全身景", "坐姿半身景", "坐姿全身景", "仰拍半身景",
18
+ "侧脸特写", "回眸特写", "背影半身景", "背影全身景", "前景花朵特写",
19
+ "唇部点缀特写", "半蹲全身景", "躺姿全身景", "行走全身景", "站姿全身景",
20
+
21
+ // 视角与机位
22
+ "平视视角", "轻微俯拍", "高位俯拍", "轻微仰拍", "低机位仰拍",
23
+ "45度侧拍", "正侧面拍摄", "三分之二侧拍", "贴近跟拍视角", "坐姿平视拍",
24
+ "站姿平视拍", "顶拍俯视角", "斜侧上方拍", "斜侧下方拍", "回身抓拍角度",
25
+ "前方迎面拍", "侧后方跟拍", "肩线平齐视角", "窗边侧拍角度", "桌面对坐视角",
26
+ "镜前平视角", "地面贴近角度", "转身回望角度", "花丛探拍角度", "窗外探拍角度",
27
+
28
+ // 镜头与对焦
29
+ "24mm轻广角环境", "35mm环境人像", "50mm标准人像", "70mm压缩中景", "85mm人像镜头",
30
+ "105mm特写镜头", "135mm压缩人像", "F1.4浅景深", "F1.8柔背景虚化", "F2人像虚化",
31
+ "F2.8环境虚化", "浅景深前景虚焦", "背景奶油散景", "前景虚化遮挡", "焦点锁定眼部",
32
+ "焦点锁定侧脸", "焦点锁定手部", "单点对焦构图", "中心对焦取景", "边缘对焦取景",
33
+ "长焦背景压缩", "标准透视写实", "中焦浅压缩", "柔焦镜片拍摄", "背景灯斑散景",
34
+
35
+ // 构图与画面组织
36
+ "居中对称构图", "三分线构图", "对角线引导构图", "门框包裹构图", "窗框包裹构图",
37
+ "楼梯线条引导", "栏杆延伸线构图", "道路消失点构图", "前景花朵遮挡", "前景玻璃遮挡",
38
+ "边缘留白构图", "上方留白构图", "侧向留白构图", "画面下沉构图", "人物偏左构图",
39
+ "人物偏右构图", "前实后虚构图", "纵深分层构图", "浅景深中心突出", "环境包裹式构图",
40
+ "花墙背景居中", "长廊透视构图", "镜面反射构图", "前景虚框构图", "人物小景大环境"
41
+ ]
42
+ });
@@ -0,0 +1,42 @@
1
+ const { defineDimension } = require("../../../define");
2
+
3
+ module.exports = defineDimension({
4
+ key: "expression",
5
+ zhName: "神态与微动作表现",
6
+ description: "甜美少女的眼神、唇态、眉颊与细小表情动作。",
7
+ pick: { min: 1, max: 2, recommended: 1 },
8
+ minimumItems: 80,
9
+ rules: [
10
+ "只描述表情和微动作,不混入姿势、服饰与镜头词。",
11
+ "优先甜感、羞意、卖萌与轻微互动感。"
12
+ ],
13
+ items: [
14
+ // 眼神与眸态
15
+ "杏眼弯笑", "月牙笑眼", "眨眼示意", "轻眯笑眼", "眼尾轻弯",
16
+ "眸光闪闪", "水润圆眼", "无辜抬眼", "羞怯低眸", "偷瞄侧望",
17
+ "目光追随", "眼波轻晃", "睫毛轻颤", "乖巧凝望", "亮眸发光",
18
+ "眼角含笑", "眨眼卖萌", "眼神躲闪", "软软注视", "侧眸偷看",
19
+ "瞳光澄亮", "微怔圆眼", "懵懂眨眼", "眼睫低覆", "眼神发亮",
20
+
21
+ // 唇态与笑意
22
+ "清澈望向", "低眸偷笑", "抬眼含羞", "轻眨单眼", "慢眨长睫",
23
+ "唇角上扬", "抿唇浅笑", "露齿甜笑", "酒窝浅笑", "梨涡轻陷",
24
+ "双唇微嘟", "噘唇撒娇", "含唇轻笑", "轻咬唇角", "软糯抿嘴",
25
+ "害羞咬唇", "嘴角偷扬", "贝齿轻露", "鼓腮憋笑", "吐舌轻笑",
26
+ "咬唇忍笑", "轻抿下唇", "甜笑露齿", "唇边藏笑", "轻启双唇",
27
+
28
+ // 眉颊与羞意
29
+ "偷笑抿嘴", "咧嘴傻笑", "腼腆浅笑", "绵软甜笑", "娇俏噘嘴",
30
+ "俏皮吐舌", "忍笑鼓唇", "半唇轻张", "双颊绯红", "耳尖泛红",
31
+ "鼻尖轻皱", "撒娇皱鼻", "脸颊微鼓", "面颊鼓起", "眉眼舒展",
32
+ "眉尾轻扬", "八字娇憨眉", "软萌困惑眉", "眉心轻蹙", "弯眉带笑",
33
+ "细眉轻挑", "羞红满颊", "脸热泛粉", "鼻尖泛红", "笑意盈颊",
34
+
35
+ // 细小表情动作
36
+ "脸颊发烫", "眉梢含喜", "眉峰轻松", "颊边微热", "轻皱秀眉",
37
+ "腮帮微鼓", "歪头浅笑", "偏头偷看", "低头含笑", "仰脸甜笑",
38
+ "侧脸回眸", "轻晃脑袋", "掩唇偷笑", "偏脸含羞", "凑近偷看",
39
+ "缓缓眨眼", "慢半拍愣住", "侧头发懵", "低头躲笑", "转眸回望",
40
+ "笑眼微弯", "抬眸轻笑", "鼓腮撒娇", "歪头眨眼", "唇角微抿"
41
+ ]
42
+ });
@@ -0,0 +1,34 @@
1
+ const { defineDimension } = require("../../../define");
2
+
3
+ module.exports = defineDimension({
4
+ key: "facial",
5
+ zhName: "面部与骨骼特征",
6
+ description: "甜美少女的五官比例、骨相与皮肤细节。",
7
+ pick: { min: 1, max: 2, recommended: 1 },
8
+ minimumItems: 50,
9
+ rules: [
10
+ "只描述脸型、五官与皮肤细节,不混入表情与妆容。",
11
+ "优先幼态、清秀、通透、亲和的面部特征。"
12
+ ],
13
+ items: [
14
+ // 脸型与骨相
15
+ "幼态圆脸", "小巧鹅蛋脸", "柔和瓜子脸", "圆润下巴", "小巧下巴",
16
+ "饱满苹果肌", "平缓颧骨", "紧凑中庭", "短下庭比例", "圆润额头",
17
+ "平滑面中部", "清秀骨相", "幼态骨相", "柔和下颌线", "脸部留白感",
18
+
19
+ // 眼型与眉骨
20
+ "杏仁圆眼", "小鹿眼型", "微下至眼型", "平扇双眼皮", "自然开扇眼褶",
21
+ "清透卧蚕", "纤长上睫毛", "浓密下睫毛", "圆钝眼尾", "稍宽眼距",
22
+ "细弯平眉", "柔和眉峰", "浅色眉毛", "眉骨柔和", "清亮瞳仁",
23
+
24
+ // 鼻唇与耳部
25
+ "细直鼻梁", "小巧鼻尖", "微翘鼻头", "圆钝鼻尖", "窄鼻翼",
26
+ "幼态短人中", "清晰唇珠", "饱满花瓣唇", "圆润上唇", "丰盈下唇",
27
+ "唇峰柔和", "小巧嘴型", "嘴角上扬唇线", "耳垂小巧", "圆润耳廓",
28
+
29
+ // 皮肤与细节
30
+ "奶油肌肤", "白皙通透肌", "细腻毛孔", "自然绒毛感", "面颊细绒毛",
31
+ "发际线胎毛", "淡淡雀斑", "眼角泪痣", "唇边小痣", "鼻梁浅雀斑",
32
+ "颊侧小痣", "微粉肤色", "均匀肤理", "瓷感肤面", "清透原生肌"
33
+ ]
34
+ });
@@ -0,0 +1,34 @@
1
+ const { defineDimension } = require("../../../define");
2
+
3
+ module.exports = defineDimension({
4
+ key: "lighting",
5
+ zhName: "光影与色调逻辑",
6
+ description: "服务甜美少女写真的光影与色调控制词。",
7
+ pick: { min: 1, max: 2, recommended: 1 },
8
+ minimumItems: 50,
9
+ rules: [
10
+ "只描述光线与色调,不混入镜头、介质与氛围叙事。",
11
+ "优先清透、柔和、奶油、日系人像表现。"
12
+ ],
13
+ items: [
14
+ // 自然光与环境光
15
+ "奶油逆光", "柔雾晨光", "清晨侧光", "窗边漫射光", "白纱过滤光",
16
+ "阴天柔光", "云层漫反射", "顶窗天光", "晴日通透光", "日落金边光",
17
+ "黄昏粉金光", "夕阳橘粉光", "海边银色天光", "树影斑驳光", "雨后湿润反光",
18
+
19
+ // 人像布光逻辑
20
+ "发丝轮廓光", "侧逆柔光", "正面柔补光", "高调自然光", "均匀面部光",
21
+ "奶白高调光", "低对比柔光", "暖白反射光", "珠光肤感光", "漫反射补光",
22
+ "柔和填充光", "窗框切面光", "走廊漫反光", "玻璃折射光", "水面反射光",
23
+
24
+ // 少女写真色调
25
+ "樱花粉色调", "白桃汽水调", "奶油米色调", "香草奶霜调", "牛乳白色调",
26
+ "蜜糖金色调", "薄荷清透调", "杏色暖调", "桃子乌龙调", "日杂浅暖调",
27
+ "日系高调白", "柔雾胶片调", "轻复古棕调", "低饱和奶调", "清透低对比",
28
+
29
+ // 空气感与室内暖调
30
+ "晨雾低饱和", "粉蓝晨昏调", "霞光染色调", "暖黄室内光", "床头暖灯光",
31
+ "台灯暖晕光", "奶黄环境光", "柔粉补色光", "暖橙反射光", "浅暖肤色调",
32
+ "微雾空气感", "逆光空气感", "晴窗透亮感", "果冻清透光", "柔焦散景光"
33
+ ]
34
+ });
@@ -0,0 +1,44 @@
1
+ const { defineDimension } = require("../../../define");
2
+
3
+ module.exports = defineDimension({
4
+ key: "outfit",
5
+ zhName: "服装与配饰穿搭",
6
+ description: "适合甜美少女写真的具体服饰与配件。",
7
+ pick: { min: 1, max: 2, recommended: 1 },
8
+ minimumItems: 80,
9
+ rules: [
10
+ "只描述服装与配饰,不混入场景、主体与情绪氛围。",
11
+ "优先学院、居家、约会、旅拍常见的甜美穿搭。"
12
+ ],
13
+ items: [
14
+ // 上装
15
+ "奶油白针织开衫", "浅粉短袖针织衫", "雾蓝学院针织背心", "白色娃娃领衬衫", "浅杏泡泡袖上衣",
16
+ "碎花雪纺短衫", "薄荷绿短开衫", "米白荷叶边上衣", "浅黄短袖T恤", "樱花粉连帽卫衣",
17
+ "天蓝条纹衬衫", "白色木耳边背心", "浅紫短款开衫", "奶茶色圆领毛衣", "杏色针织马甲",
18
+ "浅灰连帽拉链卫衣", "白色短袖polo衫", "淡粉蝴蝶结衬衫", "米色方领上衣", "浅蓝牛仔短外套",
19
+
20
+ // 连衣裙与套装
21
+ "白色棉布连衣裙", "碎花吊带连衣裙", "蓝白格纹连衣裙", "奶油色吊带裙", "浅粉娃娃裙",
22
+ "雾蓝百褶连衣裙", "米白针织连衣裙", "淡黄背带裙", "浅卡其背带短裙", "白色JK水手服",
23
+ "藏青百褶制服裙", "奶白短袖连体裙", "浅绿格纹背带裙", "薄荷色A字短裙", "樱粉纱裙",
24
+ "米白蛋糕裙", "花边睡衣套装", "奶油家居套装", "浅蓝短袖套装", "杏色半裙套装",
25
+
26
+ // 下装
27
+ "奶白百褶短裙", "浅灰百褶裙", "格纹短裙", "浅蓝牛仔短裙", "米色A字半裙",
28
+ "白色蛋糕短裙", "淡黄伞摆半裙", "杏色针织半裙", "白色蕾丝半裙", "浅粉纱质半裙",
29
+ "雾蓝伞裙", "米白灯芯绒短裙", "浅蓝直筒牛仔裤", "米白直筒长裤", "奶茶色阔腿裤",
30
+ "浅灰运动短裤", "白色棉质短裤", "浅卡其背带裤", "蓝白运动短裙", "米白休闲短裤",
31
+
32
+ // 外套与罩衫
33
+ "奶油色毛呢开衫", "浅粉针织外套", "白色连帽外套", "米色短风衣", "浅蓝牛仔外套",
34
+ "樱花粉棒球外套", "淡黄防晒衬衫", "奶白羽绒背心", "浅灰针织披肩", "米白短款棉服",
35
+ "杏色西装外套", "雾蓝学院西装", "奶茶色长袖开衫", "白色短款羽绒服", "薄荷绿针织罩衫",
36
+
37
+ // 鞋袜与配饰
38
+ "白色帆布鞋", "奶油色玛丽珍鞋", "浅粉芭蕾鞋", "米白乐福鞋", "白色运动鞋",
39
+ "棕色小皮鞋", "浅蓝凉鞋", "米白短靴", "白色长筒袜", "奶白堆堆袜",
40
+ "蕾丝短袜", "浅灰中筒袜", "白色船袜", "米色连裤袜", "裸色短袜",
41
+ "珍珠耳钉", "蝴蝶结发夹", "丝带发箍", "白色发带", "珍珠项链",
42
+ "细链锁骨链", "草编手提包", "奶油色单肩包", "透明雨伞", "白色相机包"
43
+ ]
44
+ });
@@ -0,0 +1,66 @@
1
+ const { defineDimension } = require("../../../define");
2
+
3
+ module.exports = defineDimension({
4
+ key: "pose",
5
+ zhName: "宏观肢体姿势",
6
+ description: "甜美少女写真中的身体姿态与动作。",
7
+ pick: { min: 1, max: 2, recommended: 1 },
8
+ minimumItems: 150,
9
+ rules: [
10
+ "只描述身体姿势,不混入表情、镜头、服饰与场景词。",
11
+ "优先轻盈、自然、元气、软萌的人像动作。"
12
+ ],
13
+ items: [
14
+ // 【一、站立与轻盈平衡 - 40种】
15
+ "背手站立", "双手身后站", "单手叉腰站", "双手叉腰站", "并腿直立",
16
+ "双腿交叉站", "内八字站立", "外八字轻站", "脚尖点地站", "踮脚站立",
17
+ "单腿后翘站", "单腿前点站", "单腿侧点站", "单腿微抬站", "双膝微屈站",
18
+ "前后错步站", "侧身回望站", "微侧身站立", "正面挺身站", "交替重心站",
19
+ "歪头侧站", "俯身探头站", "前倾探身站", "上身后仰站", "双臂自然垂站",
20
+ "单手上举站", "双臂上展站", "单手平举站", "双臂侧展站", "双手抱臂站",
21
+ "双手扶腰站", "单手扶臂站", "双手轻握前站", "单手贴腿站", "双臂背后交握站",
22
+ "双脚并拢站", "单膝内扣站", "屈腿歪胯站", "单腿承重站", "轻收肩站姿",
23
+
24
+ // 【二、行走与跃动姿势 - 30种】
25
+ "轻步前行", "小步快走", "碎步慢跑", "轻盈小跑", "脚尖起步",
26
+ "踮脚前走", "回身迈步", "转身回走", "单脚轻跳", "双脚并跳",
27
+ "原地小跳", "向前跃步", "侧向滑步", "交叉步前行", "脚跟轻点步",
28
+ "足尖点地步", "单腿高抬步", "屈膝缓步", "轻快奔跑", "小碎步挪动",
29
+ "转圈迈步", "踮脚旋步", "半步后撤", "向侧跨步", "前倾快步",
30
+ "慢步回身", "跳跃落地", "轻抬腿跨步", "旋身停步", "轻巧垫步",
31
+
32
+ // 【三、甜系与慵懒坐姿 - 40种】
33
+ "双膝并拢侧坐", "双腿侧屈坐", "单腿曲起坐", "抱膝缩坐", "盘腿端坐",
34
+ "交叠腿侧坐", "双腿前伸坐", "后撑仰坐", "单手后撑坐", "双手后撑坐",
35
+ "单手托膝坐", "双手抱膝坐", "下巴枕膝坐", "单膝立起坐", "双膝弯折坐",
36
+ "脚踝交叠坐", "并腿斜坐", "侧身倚坐", "前倾抱腿坐", "直背端正坐",
37
+ "屈腿蜷坐", "双腿微开坐", "侧腿搭坐", "双肘拄膝坐", "单手撑地坐",
38
+ "双手环腿坐", "曲腿靠坐", "半盘腿坐", "单腿伸直坐", "双腿交叉坐",
39
+ "倾身侧坐", "仰身后撑坐", "团身抱腿坐", "单臂搭膝坐", "双手扶膝坐",
40
+ "单腿外摆坐", "双腿斜伸坐", "单腿内收坐", "背身回转坐", "坐姿前探",
41
+
42
+ // 【四、蹲姿与跪姿变化 - 30种】
43
+ "双膝并拢跪坐", "单膝点地跪", "半跪侧身", "双膝微分跪", "正面跪坐",
44
+ "侧身跪坐", "跪姿挺背", "跪姿前倾", "跪姿后仰", "跪姿抱腿",
45
+ "跪姿扶膝", "深蹲抱膝", "半蹲歪身", "并腿半蹲", "脚尖踮蹲",
46
+ "蹲姿前探", "双手扶膝蹲", "单手撑膝蹲", "低蹲内扣腿", "单膝立起蹲",
47
+ "半蹲回身", "深蹲蜷身", "蹲姿抱臂", "蹲姿前倾", "跪姿侧转",
48
+ "跪姿双手后撑", "跪姿双手垂放", "半跪伸腿", "屈腿矮蹲", "蹲姿双臂环腿",
49
+
50
+ // 【五、躺姿与趴姿变化 - 30种】
51
+ "平躺伸展", "仰躺曲腿", "仰躺抱膝", "侧卧蜷腿", "侧卧伸腿",
52
+ "侧卧撑身", "半躺侧撑", "俯卧托身", "平趴垫臂", "平趴曲腿",
53
+ "平趴翘腿", "俯卧侧摆腿", "侧趴屈腿", "仰卧单腿屈起", "仰卧双腿并伸",
54
+ "仰卧双腿交叠", "侧卧单手撑地", "侧卧手臂前伸", "俯卧双臂前伸", "俯卧双肘撑地",
55
+ "俯卧小腿上翘", "曲臂侧卧", "仰躺单臂上举", "半躺曲腿", "平躺双臂展开",
56
+ "侧卧团身", "平趴侧脸卧", "仰卧屈膝侧摆", "俯卧交叠小腿", "侧躺抱腿",
57
+
58
+ // 【六、倚靠与伸展动态 - 30种】
59
+ "侧身倚靠", "背身轻靠", "单肩轻靠", "双手扶靠", "单手扶靠",
60
+ "前臂轻撑", "上身前倾", "上身后展", "侧腰拉伸", "双臂上伸",
61
+ "单臂上伸", "双臂侧展", "单臂前伸", "双臂前伸", "躯干微扭",
62
+ "大幅回身", "半身回转", "脊背舒展", "俯身撑腿", "微弓身探出",
63
+ "侧身探出", "抬臂伸懒腰", "双手高举伸展", "单手扶腰侧伸", "抱臂含胸",
64
+ "身体轻后折", "躯干侧倾", "弓身前探", "低身伏靠", "侧腰后弯"
65
+ ]
66
+ });
@@ -0,0 +1,102 @@
1
+ const { defineDimension } = require("../../../define");
2
+
3
+ module.exports = defineDimension({
4
+ key: "scene",
5
+ zhName: "场景与环境设定",
6
+ description: "服务甜美少女摄影的轻盈场景。",
7
+ pick: { min: 1, max: 2, recommended: 1 },
8
+ minimumItems: 200,
9
+ rules: [
10
+ "只描述环境,不混入人物、服饰、表情与镜头信息。",
11
+ "优先校园、花房、海边、居家、旅拍地标与梦境场域。"
12
+ ],
13
+ items: [
14
+ // 校园与青春
15
+ "校园林荫道", "樱花校门", "教学楼长廊", "靠窗教室", "图书馆窗边",
16
+ "音乐教室", "美术教室", "操场看台", "校园天台", "篮球场边",
17
+ "食堂窗边", "单车棚下", "校园播音室", "社团活动室", "校门屋檐下",
18
+ "旧宿舍楼下", "更衣室走廊", "化学实验台前", "跑道起跑线", "礼堂幕布后",
19
+ "室内体育馆", "天台楼梯间", "校园泳池边", "公告栏前", "许愿树下",
20
+ "校巴停车坪", "校医院门口", "阶梯教室", "试卷堆旁", "校史馆走廊",
21
+
22
+ // 城市街景
23
+ "繁华十字路口", "夜晚步行街", "老街巷口", "清晨电车内", "地下通道口",
24
+ "街边花摊", "雨天月台", "天桥阶梯", "独立书店门口", "早市小吃摊",
25
+ "节日庙会街角", "雨后石板路", "冰淇淋店门口", "露天咖啡桌", "烘焙坊橱窗",
26
+ "便利店窗口", "公交候车椅", "四合院门前", "城市运河边", "红砖艺术园",
27
+ "单车街角", "列车道口", "街心公园", "喷泉广场", "跳蚤市场",
28
+ "旧邮筒旁", "路边电话亭", "居酒屋门外", "河岸步道", "商场天井",
29
+ "地铁站口", "老城钟楼下", "霓虹招牌街", "夜市摊位间", "河桥栏杆边",
30
+
31
+ // 室内居家
32
+ "白纱窗前", "飘窗角落", "木地板卧室", "奶油客厅", "白绒地毯",
33
+ "书桌一角", "梳妆台前", "穿衣镜前", "阁楼天窗下", "早餐餐桌旁",
34
+ "厨房中岛边", "玻璃小阳台", "木质露台", "白色楼梯间", "长镜面走廊",
35
+ "楼梯转角", "阳光房藤椅", "落地窗前", "薄荷绿门前", "花砖浴室",
36
+ "软木板前", "温馨小床边", "榻榻米房间", "被炉桌旁", "厨房窗台",
37
+ "玄关地垫旁", "洗衣房角落", "书架前", "深夜书桌前", "烤箱前",
38
+ "咖啡壶旁", "冰箱门前", "画室地毯上", "唱片机前", "投影幕布前",
39
+
40
+ // 花海与自然
41
+ "樱花步道", "郁金香花田", "绣球花径", "玫瑰花墙", "向日葵花海",
42
+ "山谷野花海", "雏菊草坡", "薰衣草田", "白桦树林", "红枫林深处",
43
+ "落叶小路", "初雪空地", "湖畔木桥", "芦苇河岸", "果园小径",
44
+ "茶园山坡", "金黄田埂", "郊外草地", "清晨林间", "山坡野花丛",
45
+ "溪边卵石滩", "小瀑布水潭", "青苔石阶", "松林小径", "荷花池畔",
46
+ "紫藤长廊", "桂花树下", "稻草堆旁", "山间草甸", "林间秋千",
47
+ "雾气湖岸", "雪松林地", "草原花坡", "山谷溪桥", "桃花坡地",
48
+
49
+ // 海边与旅拍
50
+ "海边栈桥", "白沙海湾", "玻璃海岸", "灯塔草坡", "礁石浅滩",
51
+ "海边木屋前", "海边遮阳棚", "泳池岸边", "海港步道", "观景缆车厢",
52
+ "海岛公路", "码头栏杆边", "民宿阳台", "海风露台", "日落沙滩",
53
+ "贝壳海滩", "游艇码头", "海崖观景台", "沿海咖啡馆", "海边秋千",
54
+ "小岛码头", "海滨步道", "露营海岸", "灯塔脚下", "海湾木栈道",
55
+ "冲浪海滩", "沙丘观景坡", "海岸公路边", "海景露台", "玻璃船坞",
56
+
57
+ // 店铺与花园
58
+ "甜品店卡座", "面包店橱窗", "文具店货架间", "唱片店角落", "书店过道",
59
+ "便利店冰柜前", "娃娃机店内", "游乐园步道", "旋转木马旁", "冰淇淋车旁",
60
+ "花店门前", "玻璃温室", "白色花房", "庭院秋千", "日式庭院",
61
+ "欧式喷泉庭院", "白色拱门前", "教堂花园", "婚礼草坪", "露台花园",
62
+ "玻璃咖啡馆", "红砖老街", "石板小巷", "拱窗走廊", "露天市集",
63
+
64
+ // 风景名胜与旅拍地标
65
+ "雪山观景台", "湖心栈道", "山顶缆车站", "古镇石桥", "古城城墙边",
66
+ "江南水巷", "湖畔码头", "梯田观景坡", "茶山索道口", "峡谷观景台",
67
+ "山寺台阶", "银杏大道", "云海山谷", "温泉旅馆", "温泉露台",
68
+ "雪原木屋", "极光营地", "冰湖边", "盐湖镜面", "沙漠驿站",
69
+ "绿洲水池边", "黑沙海滩", "白崖海岸", "山海公路旁", "港湾观景台",
70
+ "草原栈道", "雪岭松林", "瀑布观景台", "茶馆露台", "城堡花园",
71
+ "玻璃观景台", "风车山坡", "花海列车站", "樱花温泉街", "河谷木屋群",
72
+ "雾中山城", "海上灯塔桥", "雨林吊桥", "峡湾码头", "火山湖岸",
73
+
74
+ // 异域景点与旅行空间
75
+ "摩天轮顶舱", "玻璃栈道", "白色钟楼下", "蓝顶教堂前", "石阶小广场",
76
+ "运河小镇", "海边灯塔屋", "山谷列车桥", "樱花河堤", "湖畔露营地",
77
+ "冰川步道", "山谷牧场", "欧式车站前", "拱廊集市", "白石桥边",
78
+ "彩窗教堂内庭", "葡萄园小路", "橘子园坡地", "风铃海岸", "珊瑚海湾",
79
+ "雪山小镇口", "热气球草原", "钟楼广场", "旧港灯塔边", "白墙小镇",
80
+ "蓝白海街", "山城缆车道", "石屋村巷", "峡谷木栈桥", "海蚀洞口",
81
+ "星空营地", "湖边木码头", "山湖木屋", "风车海角", "沙丘木栈道",
82
+ "月光温泉池", "彩霞观景坡", "古渡口边", "海边钟塔下", "云顶茶室",
83
+
84
+ // 梦境与抽象场域
85
+ "云上花园", "镜面盐湖", "月光花海", "纸鹤长廊", "星砂海岸",
86
+ "泡泡宫殿", "糖霜街道", "玻璃森林", "水晶穹顶", "云朵露台",
87
+ "漂浮花园", "月亮秋千", "极光花房", "星云长廊", "镜面回廊",
88
+ "彩窗云殿", "花雨庭院", "雾光剧场", "白昼星河", "虹光湖岸",
89
+ "天光温室", "梦境书屋", "悬空花台", "流光码头", "玻璃月台",
90
+ "月色喷泉庭院", "星灯小巷", "天空邮局", "风铃回廊", "花瓣剧场",
91
+ "镜花水榭", "云端步道", "幻彩温室", "晨雾宫苑", "月影庭廊",
92
+ "糖纸花园", "雪光长桥", "极昼海湾", "浮岛草坡", "晨星湖畔",
93
+
94
+ // 童话与幻想旅境
95
+ "白兔花园", "月桂宫苑", "湖心星亭", "花瓣城堡", "星月码头",
96
+ "玻璃花塔", "白鹿森林", "云中车站", "纸船河道", "铃兰秘境",
97
+ "草莓庄园", "奶油小镇", "月见花园", "宝石湖岸", "白鸽广场",
98
+ "薄雾花岛", "花窗长廊", "流萤草原", "蔷薇回廊", "蜜桃果园",
99
+ "珍珠海湾", "风车花田", "雪绒山谷", "夕岚湖町", "云海花径",
100
+ "晨光剧院", "花塔露台", "彩璃温泉街", "银月栈桥", "云岛花径"
101
+ ]
102
+ });
@@ -0,0 +1,32 @@
1
+ const { defineDimension } = require("../../../define");
2
+
3
+ module.exports = defineDimension({
4
+ key: "style",
5
+ zhName: "画质与艺术风格",
6
+ description: "甜美少女写真的介质、画质与风格质感。",
7
+ pick: { min: 1, max: 2, recommended: 1 },
8
+ minimumItems: 50,
9
+ rules: [
10
+ "只描述介质与成像风格,不混入场景、服装与情绪。",
11
+ "优先胶片、日杂、通透数码与写真质感。"
12
+ ],
13
+ items: [
14
+ // 胶片与拍立得介质
15
+ "柯达Portra400胶片", "富士400H胶片", "柯达Gold200胶片", "富士C200胶片", "柯达Ektar100胶片",
16
+ "SX-70拍立得", "Instax白边相纸", "半格胶片机质感", "35mm日常胶片", "120中画幅胶片",
17
+ "过曝拍立得边框", "轻颗粒胶片扫描", "柔雾底片质感", "日落胶片扫描", "旧相册翻拍感",
18
+ "低饱和胶片色", "轻褪色旧照片", "暖调冲印相纸", "富士绿调胶片", "奶油胶片颗粒",
19
+
20
+ // 数码与光学质感
21
+ "CCD复古数码感", "便携数码机质感", "微单人像质感", "高宽容数码感", "细腻皮肤解析",
22
+ "柔焦滤镜质感", "黑柔滤镜晕散", "老镜头奶油散景", "轻微晕影质感", "玻璃镜片柔化",
23
+ "自然肤色直出", "轻磨皮写真感", "高像素人像解析", "通透数码肤质", "清晰散景层次",
24
+ "浅景深人像质感", "中画幅虚化质感", "柔边光学质感", "轻颗粒数码感", "高清写真人像",
25
+
26
+ // 少女人像风格
27
+ "日杂写真质感", "青春写真集感", "校园纪实快照", "生活流抓拍感", "轻复古写真感",
28
+ "糖水人像质感", "清新明信片质感", "旅拍随拍质感", "夏日写真感", "春日写真感",
29
+ "室内自然写真感", "海边旅拍质感", "花房写真质感", "日系相册页感", "社交头像质感",
30
+ "轻商业人像感", "清透氧气写真", "少女杂志内页感", "胶片写真封面感", "温柔日常快照"
31
+ ]
32
+ });
@@ -0,0 +1,38 @@
1
+ const { defineDimension } = require("../../../define");
2
+
3
+ module.exports = defineDimension({
4
+ key: "subject",
5
+ zhName: "人物主体与发型设定",
6
+ description: "甜美少女主体身份与发型发质设定。",
7
+ pick: { min: 1, max: 2, recommended: 1 },
8
+ minimumItems: 80,
9
+ rules: [
10
+ "只描述主体身份、气质与发型,不混入服装、表情与场景。",
11
+ "优先校园、日常、旅拍、轻文艺的少女身份。"
12
+ ],
13
+ items: [
14
+ // 少女主体与身份
15
+ "元气女高中生", "初恋感学妹", "甜妹大学生", "文艺少女", "校园广播站女孩",
16
+ "图书馆少女", "花店学徒", "甜品店女孩", "咖啡店兼职生", "便利店少女",
17
+ "舞蹈社女孩", "合唱团女孩", "摄影系少女", "美术系少女", "文学社女生",
18
+ "排球社学妹", "旅行系少女", "海边度假少女", "露营系少女", "日杂系女孩",
19
+ "邻家乖乖女", "软萌室友", "周末约会少女", "晨跑女孩", "钢琴少女",
20
+ "吉他少女", "插画系女孩", "手帐少女", "花房少女", "书店店员女孩",
21
+ "奶茶店女孩", "面包店女孩", "元气班长", "校庆主持女孩", "游乐园少女",
22
+ "夏日泳池少女", "民宿旅拍少女", "樱花季少女", "初夏少女", "晚风少女",
23
+ "软糯宅家少女", "清晨窗边少女", "社团新生", "毕业季少女", "实习生日常女孩",
24
+ "街拍少女", "雨天撑伞少女", "复古写真少女", "海盐汽水少女", "少女杂志模特",
25
+
26
+ // 发型与发质
27
+ "黑长直", "及腰直发", "锁骨中长发", "齐肩短发", "齐耳波波头",
28
+ "空气刘海长发", "八字刘海长发", "眉上刘海短发", "法式刘海长发", "侧分长卷发",
29
+ "微卷锁骨发", "大波浪长发", "羊毛卷中长发", "外翘短发", "发尾内扣短发",
30
+ "层次中长发", "自然黑发", "深棕长发", "栗色卷发", "茶棕中长发",
31
+ "奶茶棕长发", "亚麻棕短发", "蜜糖栗发", "雾感棕发", "黑茶发色",
32
+ "高马尾", "低马尾", "高双马尾", "低双马尾", "丸子头",
33
+ "低丸子头", "半扎公主头", "半扎马尾", "侧边麻花辫", "双麻花辫",
34
+ "单侧编发", "鱼骨辫", "蓬松低盘发", "慵懒盘发", "发尾轻卷",
35
+ "耳后别发", "龙须刘海", "碎发刘海", "发顶蓬松", "额前碎发",
36
+ "耳下短发", "锁骨卷发", "齐尾长直发", "自然层次卷", "轻盈发丝感"
37
+ ]
38
+ });
@@ -0,0 +1,34 @@
1
+ const { defineDimension } = require("../../../define");
2
+
3
+ module.exports = defineDimension({
4
+ key: "vibe",
5
+ zhName: "情绪氛围感",
6
+ description: "甜美少女摄影的抽象氛围词。",
7
+ pick: { min: 1, max: 2, recommended: 1 },
8
+ minimumItems: 50,
9
+ rules: [
10
+ "只描述抽象情绪氛围,不混入场景、动作与服饰。",
11
+ "优先元气、初恋、治愈、慵懒与日常心动感。"
12
+ ],
13
+ items: [
14
+ // 青春与初恋
15
+ "元气初恋感", "校园心动感", "白开水初恋感", "清甜灵动感", "小鹿乱撞感",
16
+ "软萌乖巧感", "甜而不腻感", "怦然心动感", "青春冒泡感", "轻盈少女感",
17
+ "奶油治愈感", "温柔恬静感", "乖顺安静感", "无害亲近感", "清晨苏醒感",
18
+
19
+ // 日常与慵懒
20
+ "午后慵懒感", "周末宅家感", "软糯居家感", "慢热害羞感", "轻松松弛感",
21
+ "无忧松弛感", "暖烘烘幸福感", "发呆放空感", "安心陪伴感", "柔软依赖感",
22
+ "午后发呆感", "睡前安稳感", "晨间赖床感", "云朵轻软感", "奶香晨光感",
23
+
24
+ // 季节与空气感
25
+ "春日心动感", "樱花季氛围", "夏日汽水感", "海风轻甜感", "花房氧气感",
26
+ "雨后清新感", "晴日通透感", "夏末微风感", "果冻清透感", "白桃甜感",
27
+ "海盐汽水感", "樱桃苏打感", "蜜糖少女感", "玻璃糖纸感", "花香裹身感",
28
+
29
+ // 日杂与回忆感
30
+ "日杂生活感", "轻复古回忆感", "相册翻页感", "小镇漫游感", "旅途随拍感",
31
+ "温柔旧时光感", "甜品店氛围感", "约会散步感", "柔光梦境感", "少女日记感",
32
+ "薄荷呼吸感", "香草云朵感", "桃子果酱感", "透明呼吸感", "慢电影氛围感"
33
+ ]
34
+ });
@@ -0,0 +1 @@
1
+ module.exports = require("./manifest");
@@ -0,0 +1,50 @@
1
+ const { defineTheme } = require("../../define");
2
+ const presets = require("./presets");
3
+ const scene = require("./dimensions/scene");
4
+ const expression = require("./dimensions/expression");
5
+ const lighting = require("./dimensions/lighting");
6
+ const style = require("./dimensions/style");
7
+ const vibe = require("./dimensions/vibe");
8
+ const facial = require("./dimensions/facial");
9
+ const subject = require("./dimensions/subject");
10
+ const outfit = require("./dimensions/outfit");
11
+ const pose = require("./dimensions/pose");
12
+ const camera = require("./dimensions/camera");
13
+
14
+ module.exports = defineTheme({
15
+ id: "sweet-girl",
16
+ version: "0.1.0",
17
+ locale: "zh-CN",
18
+ target: "sweet-girl-photography",
19
+ description: "聚焦甜美少女写真的结构化提示词主题包。",
20
+ bannedLexicon: [
21
+ "赛博",
22
+ "末日",
23
+ "惊悚",
24
+ "恐怖",
25
+ "病态",
26
+ "战损",
27
+ "杀戮",
28
+ "暴徒",
29
+ "废土",
30
+ "生化",
31
+ "哥特",
32
+ "铠甲",
33
+ "战术",
34
+ "监控",
35
+ "鱼眼"
36
+ ],
37
+ presets,
38
+ dimensions: [
39
+ scene,
40
+ expression,
41
+ lighting,
42
+ style,
43
+ vibe,
44
+ facial,
45
+ subject,
46
+ outfit,
47
+ pose,
48
+ camera
49
+ ]
50
+ });
@@ -0,0 +1,26 @@
1
+ module.exports = {
2
+ campus: {
3
+ scene: ["樱花步道"],
4
+ vibe: ["校园心动感"],
5
+ lighting: ["奶油逆光"],
6
+ outfit: ["白色JK水手服"]
7
+ },
8
+ beach: {
9
+ scene: ["海边栈桥"],
10
+ vibe: ["海风轻甜感"],
11
+ lighting: ["海边银色天光"],
12
+ outfit: ["白色棉布连衣裙"]
13
+ },
14
+ bedroom: {
15
+ scene: ["白纱窗前"],
16
+ vibe: ["软糯居家感"],
17
+ lighting: ["窗边漫射光"],
18
+ outfit: ["奶油家居套装"]
19
+ },
20
+ flowerhouse: {
21
+ scene: ["白色花房"],
22
+ vibe: ["花房氧气感"],
23
+ lighting: ["柔雾晨光"],
24
+ outfit: ["碎花吊带连衣裙"]
25
+ }
26
+ };
@@ -0,0 +1,5 @@
1
+ const { validateTheme } = require("./theme");
2
+
3
+ module.exports = {
4
+ validateTheme
5
+ };
@@ -0,0 +1,5 @@
1
+ const MAX_TEXT_LENGTH = 18;
2
+
3
+ module.exports = {
4
+ MAX_TEXT_LENGTH
5
+ };