Z-image-Prompting-Json

详情

下载文件

模型描述

只是一个简单的ComfyUI节点,灵感来自社区讨论https://www.reddit.com/r/StableDiffusion/comments/1p809wt/

虽然我的结论是直接输入json内容会在图片中产生大量错误信息

但这个想法可以生成结构化的prompts

直接把z_image_json_prompt.py放到ComfyUI/custom_nodes底下就行

它会自动创建一个目录并生成所需文件

z_image_json_prompt.json则是示范工作流

Z-image JSON Prompting for ComfyUI

一个用于生成结构化、详细提示词(JSON格式)的ComfyUI自定义节点,灵感来源于Reddit上的社区讨论。

画像を表示 画像を表示 画像を表示


💡 概念

虽然直接将JSON输入图像模型会产生伪影和错误(经测试),但此节点采用了不同的方法:

生成结构化JSON提示词,便于组织和复用
转换为优化后的文本提示词,用于实际图像生成
保留详细的提示组件,以可读格式呈现

将其视为一个提示词构建框架,而非直接的JSON到图像生成。


✨ 功能

📋 三重输出格式

  • JSON输出:包含所有组件的完整结构化提示词
  • 文本输出:为图像生成优化的正向提示词
  • 负向提示词:独立的负向引导内容

🎨 详细组件分类

灵感来自专业摄影和电影制作流程:

类别组件场景整体场景描述主体类型、皮肤细节、服装、发型、姿势、表情动作主要动作、视觉效果环境设定、背景元素、氛围相机镜头规格、角度、胶片模拟灯光风格、主光、补光、对比度风格媒介、美学、质量、配色方案、特殊图层

🎲 智能随机化

  • 每个参数支持 randomnone 或手动选择
  • 自动从精选选项文件生成
  • 可通过文本文件轻松自定义

🔄 自动设置

  • 首次运行时自动创建 z_image_options 文件夹
  • 自动生成所有选项文件(含默认内容)
  • 无需手动配置

📦 安装

方法1:直接下载(推荐)

  1. 下载 z_image_json_prompt.py
  2. 放入:ComfyUI/custom_nodes/
  3. 重启ComfyUI
  4. 节点将自动创建 z_image_options 文件夹及所有必要文件

方法2:Git克隆

cd ComfyUI/custom_nodes/
git clone https://github.com/yourusername/z-image-json-prompting
# 重启ComfyUI

文件夹结构(自动生成)

ComfyUI/
└── custom_nodes/
    ├── z_image_json_prompt.py
    └── z_image_options/          # 首次运行时自动创建
        ├── scene_description.txt
        ├── subject_type.txt
        ├── skin_detail.txt
        ├── attire_detail.txt
        └── ...(再加22个选项文件)

🚀 使用方法

基本工作流

  1. 添加节点:在ComfyUI中搜索 Z-image JSON Prompting

  2. 配置参数:从下拉菜单中选择,或使用“random”

  3. 连接输出

    • json_prompt → 文本显示节点或保存节点(用于文档记录)
    • positive_text → 你的图像模型的正向提示词
    • negative_prompt → 你的图像模型的负向提示词

示例工作流

包含一个演示工作流:z_image_json_prompt.json

使用方法:

  1. z_image_json_prompt.json 拖入ComfyUI
  2. 该工作流演示了全部三个输出
  3. 按需自定义参数

输出示例

JSON输出:

{
  "scene_description": "超现实街头摄影与爆炸性2D复古嘻哈涂鸦涂鸦的融合",
  "subject": {
    "type": "酷炫的非裔/拉丁裔年轻男性,20岁出头,街头舞者体型",
    "skin": "自然皮肤纹理,细微毛孔,轻微汗光",
    "attire": "宽松白色图案T恤,橄榄色工装裤,布料褶皱分明",
    "hair": "新鲜的中等长度卷曲发髻",
    "position": "动态低蹲姿,单膝着地",
    "expression": "半闭双眼,微妙微笑,沉浸于节奏中"
  },
  "camera_settings": {
    "lens": "35mm f/1.4定焦镜头,f/2.0拍摄",
    "angle": "低角度街头摄影视角"
  },
  ...
}

文本输出(用于图像生成):

超现实街头摄影与爆炸性2D复古嘻哈涂鸦涂鸦的融合,8K分辨率极致清晰,超精细写实摄影,主体:酷炫的非裔/拉丁裔年轻男性,20岁出头,街头舞者体型,身穿宽松白色图案T恤和橄榄色工装裤,动态低蹲姿,单膝着地,半闭双眼,微妙微笑,完全沉浸在音乐中感受低音冲击,场景:深夜脏乱的纽约风格地铁站,低角度街头摄影视角,强烈顶光荧光灯,原始都市能量,节奏感强烈,青春叛逆

🎨 自定义设置

编辑选项

所有选项存储在 z_image_options/ 下的纯文本文件中:

# 示例:编辑主体类型
nano z_image_options/subject_type.txt

格式:每行一个选项

酷炫的非裔/拉丁裔年轻男性,20岁出头,街头舞者体型
优雅的亚洲女性,20多岁,专业模特体型
神秘的兜帽人物,年龄不明,瘦削健壮体型
# 在此处添加你自己的选项

添加新选项

只需在任何 .txt 文件中添加新行——下次重启后,它们将出现在下拉菜单中。


🔧 参数参考

场景层(1个参数)
  • scene_description - 整体场景概述与风格描述
主体(6个参数)
  • subject_type - 角色类型、年龄、体型
  • skin_detail - 皮肤纹理、毛孔、肤色细节
  • attire_detail - 服装描述,含布料与磨损细节
  • hair_style - 发型长度、样式、状态
  • position - 身体姿势与定位
  • expression - 面部表情与情绪
动作(2个参数)
  • primary_action - 主要动作或活动
  • visual_effect - 随动作出现的特殊视觉效果
环境(3个参数)
  • setting - 地点与环境描述
  • background_elements - 具体背景细节
  • atmosphere - 整体氛围与气象条件
相机设置(3个参数)
  • lens_spec - 镜头类型、焦距、光圈
  • camera_angle - 相机位置与视角
  • film_simulation - 胶片模拟设置
灯光(4个参数)
  • lighting_style - 整体灯光风格
  • key_light - 主光源描述
  • fill_light - 辅助/补光细节
  • contrast_level - 阴影与高光对比度
风格(5个参数)
  • render_medium - 渲染风格与媒介
  • aesthetic - 整体艺术方向
  • quality_setting - 分辨率与质量描述
  • color_palette - 色彩方案与色调
  • special_layer - 特殊效果或叠加样式

🤔 为什么不直接输入JSON?

经过测试(如Reddit帖子中讨论),直接将原始JSON输入Stable Diffusion模型会产生:

❌ 图像中出现文字伪影
❌ JSON语法作为视觉元素显现
❌ 模型无法正确理解实际意图内容

本节点通过以下方式解决:

存储提示结构为JSON(便于组织)
转换为优化文本(用于生成)
保留两种格式(提升灵活性)


📊 使用场景

1. 专业工作流

  • 保存详细提示文档
  • 对复杂提示进行版本控制
  • 团队协作使用结构化格式

2. 提示词库

  • 将JSON提示保存为可复用模板
  • 混合搭配各组件
  • 系统化构建提示词集合

🐛 故障排除

安装后节点未显示

  • 确保文件位于 ComfyUI/custom_nodes/
  • 完全重启ComfyUI
  • 检查控制台是否有Python错误

选项未加载

  • z_image_options 文件夹会在首次运行时自动创建
  • 若缺失,请删除并让其重新生成

此模型生成的图像

未找到图像。