PromptJSON: custom node for ComfyUI that reformats prompts in various Schema using an LLM
详情
下载文件
模型描述
ComfyUI 的 PromptJSON 节点
描述
PromptJSON 是 ComfyUI 的一个自定义节点,用于结构化自然语言提示,并在图像生成工作流中为外部 LLM 节点生成提示。它有助于创建一致且基于模式的图像描述,支持多种模式类型。
功能
根据多种模式类型结构化自然语言提示
通过多种策略为外部 LLM 节点生成提示
支持负面提示
可调节输出细节的复杂度
支持自定义模式以微调提示结构
多种提示生成策略(一次性提示和少样本提示)
支持多种模式类型:JSON、HTML、键值对、基于属性、视觉分层分解、组合网格和艺术参考
强健的错误处理机制
安装
导航到您的 ComfyUI 自定义节点目录。
克隆此仓库,或将
PromptJSON.py、prompt_templates.py和__init__.py文件复制到名为ComfyUI-PromptJSON的新目录中。重启 ComfyUI 或刷新您的工作流。
使用方法
在 ComfyUI 的 "prompt_converters" 类别中找到 "Prompt JSON" 节点。
连接以下输入:
prompt:您的主提示文本negative_prompt:图像中需要避免的元素complexity:介于 0.1 和 1.0 之间的浮点值,用于调整输出细节llm_prompt_type:选择 "一次性提示" 或 "少样本提示"schema_type:从 JSON、HTML、键值对、基于属性、视觉分层分解、组合网格或艺术参考中选择custom_schema(可选):自定义模式字符串(格式取决于所选模式类型)
使用输出:
system_prompt:LLM 的系统指令user_prompt:LLM 的主提示,包含结构化输入negative_passthru:原样传递的负面提示schema:用于结构化提示的格式化模式
LLM 提示类型
一次性提示(One Shot):根据输入提示提供一个结构化响应的示例。
少样本提示(Few Shot):提供多个不同复杂度级别的结构化响应示例。
模式类型
JSON:用于详细图像描述的传统 JSON 结构。
HTML:类似 HTML 的标签结构,用于组织图像元素。
键值对(Key):用于简洁描述的键值对结构。
基于属性(Attribute-Based):专注于图像特定方面的属性列表。
视觉分层分解(Visual Layer Breakdown):结构化描述背景、中景、前景和焦点元素。
组合网格(Compositional Grid):基于 3x3 网格的图像元素描述。
艺术参考(Artistic Reference):对艺术元素(如主体、构图、色彩方案等)的详细分解。
工作流程
PromptJSON 节点接收用户输入,并根据所选模式类型进行结构化。
根据所选的 LLM 提示类型和模式,生成系统提示和用户提示。
输出可发送至外部 LLM 节点进行进一步处理。
外部 LLM 节点基于这些提示生成最终的详细图像描述。
自定义模式
自定义模式功能允许您定义输出的结构。格式取决于所选模式类型。例如,对于 JSON:
{
"scene": {
"time_of_day": "string",
"weather": "string",
"location": "string"
},
"subjects": [
{
"type": "string",
"description": "string",
"position": "string"
}
],
"style": {
"artistic_movement": "string",
"color_palette": ["string"],
"mood": "string"
},
"camera": {
"angle": "string",
"shot_type": "string"
}
}
示例输出
输入:
prompt: "日落时分宁静的湖泊,一艘小船上有一位独自垂钓的渔夫"
negative_prompt: "城市,都市,人群"
complexity: 0.7
llm_prompt_type: "少样本提示"
schema_type: "JSON"
custom_schema: (上述 JSON 模式)
输出:
系统提示:(包含 LLM 的指令和示例)
用户提示:(包含结构化输入提示和模式)
负面提示透传: "城市,都市,人群"
模式:(格式化的 JSON 模式)
注意事项
系统提示和用户提示旨在引导外部 LLM 生成详细且结构化的图像描述。
尝试不同的 LLM 提示类型和模式类型,以找到最适合您特定用途的最佳组合。
调整复杂度参数以控制生成提示的细节水平。
自定义模式允许对生成描述的结构进行精细控制。
支持
如遇问题、功能请求或希望贡献代码,请在 GitHub 仓库中提交 Issue 或 Pull Request。








