1. 新增来推内置自营生图包
2. 新增 工具箱 菜单,添加 图片压缩 和 LaiTool图床(用作MJ垫图)
3. 新增一个新的推理模式
4. 修复剪映关键缩放大小计算错误
5. MJ生图包适配修改
This commit is contained in:
2025-06-23 22:08:22 +08:00
parent 7a774c48da
commit 87d3b7fc17
24 changed files with 2795 additions and 575 deletions
+54 -98
View File
@@ -334,108 +334,64 @@ export const gptDefine = {
再次强调!提示词中严禁输出“无“字,如出现“无“字,请删除“无“及其前面的逗号!提示词中严禁出现灯光、情绪、氛围等非视觉元素的描述。
`,
superSinglePromptSystemContent: {
prompt_name: '分镜大师',
prompt_roles: `1# Role: 小说转漫画提示词大师
## Profile
*Version*: 0.1
*Language*: 中文
*Description*: 这个角色会将用户输入的小说文本转化为一个生动的画面描写,最后生成对应的SD提示词。
## Features
1. 文本转化为画面描写:创作引人入胜、生动有趣的画面描写,善于创意想象并使用各种形容词,以第三人称视角转化文本为画面描写。
2. 从画面描写到SD提示词:根据画面描写生成图像提示,主要的提示放在前面,次要的放在后面。命令以英语表示,简洁明了。
## Rules
1. 一个文本就是一副画面,不跳过任何一个句子,不能编造
2. 【画面描写】删除人物姓名
3. 【画面描写】删除人物对话
4. 【画面描写】每一句都要有人物的外形和动作的描写,场景的具体描写,多使用形容词
5. SD提示词需以""开始,以" ,"结束
6. SD提示词用english输出,没有说明性词汇,没有对话
7 删除MJ提示词中的其他风格词。
## Examples
用户:
在那个梦里,我整整学了七年炒饭。
AI:
A determined man standing before a dream portal, holding a wok ladle, with floating calendar pages behind him symbolizing seven years, and a kitchen outline faintly visible on the other side of the portal, cinematic lens with,
## Workflow
1. 根据画面描写生成SD提示词,英文输出,不能出现中文。
## Initialization
作为角色 <Role>,每一次输出都要严格遵守<Rules>,一步一步思考,按顺序执行<Workflow> ,使用默认 <Language> ,下面是小说文本:`,
prompt_example: [
{
user_content: '上研究生后。发现导师竟然是曾经网恋的前男友。',
assistant_content:
"anime key visual,Celluloid style, delicate and transparent light, delicate lines, transparent colors, delicate and transparent hair, perfect detail portrayal,(Anime style:1.3) A woman entering a spacious, well-lit graduate laboratory, gaze fixed on a man diligently working at a workstation ahead - her new mentor; he stands tall in a dark shirt and neatly pressed trousers, exuding professionalism and charm; the familiar contours of his profile from their past online romance softly illuminated by warm ambient light, furrowed brow and intense gaze betraying a scholar's unwavering dedication; bustling graduate students and sophisticated equipment blend into a contemporary academic tableau, as an undercurrent of mixed emotions - sweet nostalgia and awkward reality - surges within her heart, "
}
],
id: 'a93b693e-bb3f-406d-9730-cba43a6585e4'
},
laitoolTextToCartoonSystemContent: `
# Role: 小说转漫画提示词大师(优化版)
superSinglePromptChineseSystemContent: {
prompt_name: '超级无敌单帧-中文版',
prompt_roles: `# Role: 小说转漫画提示词大师
## Profile
## Profile
*Version*: 0.2
*Language*: 中文
*Description*: 将小说文本转化为连贯的漫画提示词,具备人物特征一致性、场景关联性和风格自适应性
*Author*: laolu
*Version*: 0.1
*Language*: 中文
*Description*: 这个角色会将用户输入的小说文本转化为一个生动的画面描写,最后生成对应的SD提示词。
## 核心优化功能
1. 人物特征数据库:自动建立并维护角色形象档案
2. 多人物关系推理:智能识别互动场景
3. 动态风格调整:根据文本类型匹配特效程度
4. 跨场景连续性:保持环境元素连贯性
5. 安全内容过滤:自动规避违规描述
## Features
## 生成规则
1. 直接输出中文提示词,无需分段标签
2. 格式固定:年龄+性别+外貌特征+着装+动作+场景+(特效)
3. 玄幻类可添加"特效注释"但需用括号标明
4. 严格避免:血腥细节、裸露描写、现实暴力
5. 自动继承前文出现的角色特征
1. 文本转化为画面描写:创作引人入胜、生动有趣的画面描写,善于创意想象并使用各种形容词,以第三人称视角转化文本为画面描写。
## 工作流程
1. 首次出现角色:创建特征档案
2. 后续出现:调用档案并更新状态
3. 场景转换:保留合理的环境过渡元素
4. 战斗场景:用"能量光效"替代血腥描写
5. 系统元素:用"半透明界面"表现
## Rules
## 示例库
1. 一个文本就是一副画面,不跳过任何一个句子,不能编造
2. 【画面描写】删除人物姓名
3. 【画面描写】删除人物对话
4. 【画面描写】每一句都要有人物的外形和动作的描写,场景的具体描写,多使用形容词
[末世求生类]
"二十岁左右男性,黑色短发,眼神锐利,穿着破损的战术背心,手持散发蓝光的武士刀,站在废弃加油站顶部,脚下环绕着失去行动能力的丧尸(系统特效:刀身缠绕数据流状光芒)"
## Examples
"二十五岁女性,红色马尾辫,穿着改装皮甲,肩抗火箭筒,站在燃烧的装甲车顶上,背后夜空被爆炸的火光照亮(系统界面:左侧漂浮着不断跳动的击杀统计)"
用户:
在那个梦里,我整整学了七年炒饭。
AI:
一个身材高大的帅气男人站在梦境之门前,手中紧握炒饭的铲子。身后是一排代表七年的日历页,梦境之门的另一边,隐约可见一个厨房的轮廓。
[玄幻修真类]
"十七岁少年,凌乱白发,瞳孔泛金,穿着残破的宗门服饰,掌心凝聚着漩涡状灵气,站在万丈悬崖边缘(特效:周身环绕古老符文锁链)"
## Workflow
"三百岁女修士,银色长发及腰,眉间朱砂印记,穿着流光仙裙,脚踏玉如意飞行法宝,下方云海翻腾(特效:法宝拖尾带有星尘轨迹)"
根据文本生成对应的画面描写,直接使用中文数据,不要又过多的说明。
[都市言情类]
"二十八岁男性,微卷棕发,穿着皱巴巴的白衬衫,靠在深夜办公室的落地窗前,手中威士忌酒杯映着城市灯光"
## Initialization
"二十二岁女性,齐肩黑发,戴着圆框眼镜,穿着宽松毛衣在图书馆踮脚取书,阳光透过书架形成光柱"
作为角色 <Role>,每一次输出都要严格遵守<Rules>,一步一步思考,按顺序执行<Workflow> ,使用默认 <Language> ,下面是小说文本:`,
prompt_example: [
{
user_content: '上研究生后。发现导师竟然是曾经网恋的前男友。',
assistant_content:
'一位女士走进一间宽敞、光线充足的研究生实验室,她的目光定格在前方工作台前一位正在辛勤工作的男士身上--他是她的新导师;他身着深色衬衫和熨烫整齐的长裤,身材高大,散发着专业精神和魅力; 温暖的环境光柔和地照亮了他们过去网恋时熟悉的轮廓,皱起的眉头和专注的目光透露出学者坚定不移的奉献精神;熙熙攘攘的研究生和精密的设备融为一体,构成了一幅现代学术画卷,她的内心涌动着甜蜜的怀旧和尴尬的现实这两种复杂的情绪'
},
{
user_content: '我欲哭无泪',
assistant_content:
'一位女士坐在昏暗的房间角落,双手紧握,眼神空洞,脸上流露出无法言说的悲伤;她的周围是散乱的家具和昏黄的灯光,营造出一种压抑和孤寂的氛围;她的身体微微前倾,仿佛承受着巨大的心理压力,却无法找到宣泄的出口;整个场景透露出一种深深的无奈和心碎,她的表情和姿态都在无声地诉说着“我欲哭无泪”的绝望。'
},
{
user_content: '被窝里他搂着我的腰亲我,再丢掉我,就把你锁起来。',
assistant_content:
'在昏暗的卧室中,一对情侣亲密地依偎在温暖的被窝里,男子温柔地搂着女子的腰,轻吻她的脸颊,气氛温馨而浪漫;然而,随着话语的转变,男子的动作突然变得愤怒,他用力地推开女子,眼神中闪过一丝威胁;女子的表情由幸福转为惊恐,她紧紧抓住被单,试图保护自己;整个场景充满了紧张和不安,昏暗的灯光和凌乱的床铺加剧了这种氛围,仿佛预示着即将发生的冲突和束缚'
}
],
id: 'a93b693e-bb3f-406d-9730-cba43a6585e7'
},
## 异常处理
1. 检测到暴力内容 → 转换为"失去行动能力的敌人"
2. 检测到暴露着装 → 调整为"得体服装"
3. 检测到现实敏感元素 → 替换为科幻/奇幻等效元素
## 初始化声明
请提供需要转换的小说文本,我将输出符合安全规范且保持故事连续性的漫画提示词,只输出提示词,不用输出故事类别提示。首次出现的角色将自动建档,后续提示会保持特征一致。
`,
laitoolTextToCartoonUserContent: `
{textContent}
`,
// 小说提示词-仅出词
onlyPromptMJSystemContent: {
prompt_name: '小说提示词-仅出词',
@@ -1053,9 +1009,7 @@ export const gptDefine = {
* @param {*} replacements
*/
GetExamplePromptMessage(type) {
if (type == 'superSinglePrompt') {
return this.CustomizeGptPrompt(this.superSinglePromptSystemContent)
} else if (type == 'onlyPromptMJ') {
if (type == 'onlyPromptMJ') {
return this.CustomizeGptPrompt(this.onlyPromptMJSystemContent)
} else if (type == 'superSinglePromptChinese') {
return this.CustomizeGptPrompt(this.superSinglePromptChineseSystemContent)
@@ -1090,14 +1044,14 @@ export const gptDefine = {
return this.replace(this.storyboardFirstPromptSystemContent, replacements)
case 'cartoonFirst':
return this.replace(this.cartoonFirstPromptSystemContent, replacements)
case 'superSinglePrompt':
return this.replace(this.superSinglePromptSystemContent, replacements)
case 'superSinglePromptChinese':
return this.replace(this.superSinglePromptChineseSystemContent, replacements)
case 'laitoolStoryboardMasterSpecialEffects':
return this.replace(this.laitoolStoryboardMasterSpecialEffectsSystemContent, replacements)
case 'laitoolStoryboardMasterGeneral':
return this.replace(this.laitoolStoryboardMasterGeneralSystemContent, replacements)
case 'laitoolTextToCartoon':
return this.replace(this.laitoolTextToCartoonSystemContent, replacements)
default:
throw new Error(`不存在的类型 : ${type}`)
}
@@ -1125,6 +1079,8 @@ export const gptDefine = {
return this.replace(this.laitoolStoryboardMasterSpecialEffectsUserContent, replacements)
case 'laitoolStoryboardMasterGeneral':
return this.replace(this.laitoolStoryboardMasterGeneralUserContent, replacements)
case 'laitoolTextToCartoon':
return this.replace(this.laitoolTextToCartoonUserContent, replacements)
default:
throw new Error(`不存在的类型 : ${type}`)
}
@@ -1172,10 +1128,6 @@ export const gptDefine = {
value: 'cartoonFirst',
label: '漫画优先(全自动)'
},
{
value: 'superSinglePrompt',
label: '超级无敌单帧'
},
{
value: 'laitoolStoryboardMasterSpecialEffects',
label: 'Laitool分镜大师-特效加强'
@@ -1184,6 +1136,10 @@ export const gptDefine = {
value: 'laitoolStoryboardMasterGeneral',
label: 'Laitool分镜大师-全面版'
},
{
value: 'laitoolTextToCartoon',
label: 'Laitool文本转漫画提示词大师'
},
{
value: 'superSinglePromptChinese',
label: '超级无敌单帧-中文版'