From 330c306932c23a4aad09ecf661698d075faedd73 Mon Sep 17 00:00:00 2001 From: JDJoe <19360446+JDJoe@users.noreply.github.com> Date: Thu, 5 Nov 2026 16:05:50 +0200 Subject: [PATCH] Add the Multy_prompts node and text-to-image sample --- .gitignore | 2 + README.md | 128 ++++ __init__.py | 147 +++++ krea2_t2i_multy_prompts.json | 1141 ++++++++++++++++++++++++++++++++++ prompt_batch.py | 260 ++++++++ pyproject.toml | 8 + screenshot.webp | Bin 0 -> 91612 bytes tests/test_prompt_batch.py | 178 ++++++ 8 files changed, 1864 insertions(+) create mode 100644 .gitignore create mode 100644 README.md create mode 100644 __init__.py create mode 100644 krea2_t2i_multy_prompts.json create mode 100644 prompt_batch.py create mode 100644 pyproject.toml create mode 100644 screenshot.webp create mode 100644 tests/test_prompt_batch.py diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..7a60b85 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +__pycache__/ +*.pyc diff --git a/README.md b/README.md new file mode 100644 index 0000000..460565d --- /dev/null +++ b/README.md @@ -0,0 +1,128 @@ +# Multy_prompts + +![Text-to-image sample](screenshot.webp) + +A ComfyUI node that turns one character box, one shared prefix, and one prompt wall into one finished prompt and one seed per image. The node does not load a model and does not sample. Your existing graph runs once per plate. + +Search for **Multy_prompts**. It is under **utilities → prompt**. + +## Install + +Copy this folder into `ComfyUI/custom_nodes/` and restart ComfyUI. + +The graph also uses three built-in nodes: + +| Node | Menu | +|---|---| +| Start Loop | utilities → looping | +| End Loop | utilities → looping | +| Get Item From List | utilities | + +## What to add + +Keep the model loader, CLIP, VAE, LoRAs, empty latent, negative prompt, sampler, decode, and Save Image that you already use. Add these four nodes: + +1. **Multy_prompts** +2. **Start Loop** +3. **Get Item From List** +4. **End Loop** + +Set **Start Loop** mode to **List**. On the sampler, set the seed control to **fixed**. **randomize** replaces the seed from this node. + +Leave **Start Loop** `parent_iteration` and `initial_iteration_value` empty. Those are for a loop inside another loop, and for a value carried from pass to pass. + +## Connections + +**Multy_prompts** has two outputs. **Start Loop** can walk only one list, so the prompts use the loop and the seeds use **Get Item From List**. + +| From | To | +|---|---| +| Multy_prompts `prompts` | Start Loop `list` | +| Start Loop `list_item` | positive text encoder `prompt` | +| Multy_prompts `seeds` | Get Item From List `list` | +| Start Loop `iteration_index` | Get Item From List `index` | +| Get Item From List output | sampler `seed` | +| Save Image `images` | End Loop `termination` | + +Drag `list_item` onto the prompt text box, and drag the **Get Item From List** output onto the sampler seed box. That turns each widget into an input. + +The positive encode, the sampler, the VAE decode, and Save Image sit between **Start Loop** and **End Loop**. One queue then writes one image per plate. + +Model, CLIP, VAE, LoRAs, latent size, and the negative prompt stay outside the loop. They load once and are reused for every plate. + +``` +Multy_prompts.prompts ──► Start Loop.list +Start Loop.list_item ──► positive text encoder.prompt ──► sampler ──► VAE Decode ──► Save Image + │ +Multy_prompts.seeds ──► Get Item From List.list │ +Start Loop.iteration_index ──► Get Item From List.index │ +Get Item From List ──► sampler.seed │ + ▼ + End Loop.termination +``` + +## Prefix + +Optional. Style text, LoRA triggers, or anything else that stays the same. It is pasted in front of every plate. A blank box adds nothing. + +``` +35mm photo, natural light, fine grain +``` + +`CHAR` tokens in the prefix are replaced the same way as in a plate. The plate id is still not included. + +## Characters + +Optional. Leave the box empty and the prompts go out unchanged. + +One character per block. A blank line separates blocks. The block starts with the token. The description can follow on that same line, or on the lines under it. Write a phrase, because that phrase is pasted in place of the token. + +``` +CHAR1 A woman in her thirties with short black hair and a grey coat. + +CHAR2 +A tall man with a scar on his left cheek. +``` + +Tokens are `CHAR` plus a positive integer: `CHAR1`, `CHAR2`, `CHAR10`. `CHAR10` is not treated as `CHAR1`. A token with no character block is left as written. A prompt that never names a character is not rewritten. + +## Prompts + +Same headers as a PlatePress shot wall. A plate id on its own line starts the next image. Blank lines inside a plate stay in the text. The id is not sent to the sampler. + +`p01` and `p01_station` both count. `p1` and `p001` are the same plate. Text after the id on that same line is the first line of the prompt. + +``` +p01 +CHAR1 stands in the rain outside a station. + +p02_letter +CHAR1 hands CHAR2 a letter in a dark hallway. +The hall is dark. A single bulb hangs over the door. +``` + +## Seeds + +One line per plate, in the same order as the plates. An integer keeps that seed. An empty line chooses a seed when you queue. An empty box chooses a seed for every plate. + +``` +657539441289641 + +1001 +``` + +The blank second line is a chosen seed for `p02`. The number of lines must match the number of plates. + +## Sample workflow + +`krea2_t2i_multy_prompts.json` is the text-to-image sample. Start Loop is in List mode, the sampler seed control is fixed, and the output is 768×1376. There is no reference image. + +The positive encoder is **Text Encode Qwen Image Edit Plus**. Its image slots stay empty. The plate from Start Loop connects to its prompt. The negative stays on **CLIP Text Encode**, taken straight from the CLIP loader. + +The model is `KREA2/krea2_turbo_fp8_scaled.safetensors`. **Lora Loader Stack (rgthree)** sits on the model and on the positive CLIP. Slot 1 is `KREA2/Krea_2_Xenoflora_Trees_tcrzit_BF16-3K.safetensors` at 0.75. That stack needs [rgthree-comfy](https://github.com/rgthree/rgthree-comfy). + +The identity-edit graph, which keeps a person from a reference photo, is [krea2-ref-image-multy-prompts](https://github.com/JDJoe/krea2-ref-image-multy-prompts). + +## Not in this version + +Reference images are not an input on this node. A later version can attach a character image to every plate that names that character, and a scene image to one plate. The text path above does not have to change for that. diff --git a/__init__.py b/__init__.py new file mode 100644 index 0000000..1b89aa6 --- /dev/null +++ b/__init__.py @@ -0,0 +1,147 @@ +"""Prompt Batch custom node for ComfyUI. + +Copy this folder to ComfyUI/custom_nodes/ and restart ComfyUI. +""" + +from __future__ import annotations + +import random + +from typing_extensions import override + +from comfy_api.latest import ComfyExtension, io + +from .prompt_batch import SEED_MAX, build_batch, seeds_are_rolled + + +class PromptBatch(io.ComfyNode): + @classmethod + def define_schema(cls): + return io.Schema( + node_id="PromptBatch", + display_name="Multy_prompts", + category="utilities/prompt", + description=( + "Build one finished prompt and one seed per image. " + "A prefix is pasted in front of every plate. " + "Connect prompts to Start Loop (List mode). " + "Connect seeds to Get Item From List with index from iteration_index." + ), + search_aliases=[ + "Multyprompts", + "Multy prompts", + "Multy_prompts", + "Prompt Batch", + "multi prompt", + "characters", + "prompt list", + "seed list", + ], + inputs=[ + io.String.Input( + "characters", + display_name="Characters", + multiline=True, + default="", + dynamic_prompts=False, + placeholder="CHAR1\nA woman in her thirties with short black hair.\n\nCHAR2\nA tall man with a scar on his left cheek.", + tooltip=( + "Optional. One character per block, blank line between blocks. " + "The block starts with the token (CHAR1, CHAR2, CHAR10). " + "The description can follow on that same line, or on the lines under it. " + "It is pasted in place of the token, so write a phrase. " + "An empty box leaves the prompts unchanged." + ), + ), + io.String.Input( + "prompts", + display_name="Prompts", + multiline=True, + default="", + dynamic_prompts=False, + placeholder="p01\nCHAR1 stands in the rain outside a station.\n\np02\nCHAR1 hands CHAR2 a letter in a dark hallway.", + tooltip=( + "One image per plate. A line like p01 or p01_station starts the next prompt. " + "Blank lines inside a plate stay in the text. The plate id is not sent to the sampler. " + "CHAR tokens are replaced with that character's description." + ), + ), + io.String.Input( + "seeds", + display_name="Seeds", + multiline=True, + default="", + dynamic_prompts=False, + placeholder="657539441289641\n\n1001", + tooltip=( + "One line per plate, in the same order as p01, p02, and so on. " + "An integer keeps that seed. An empty line chooses a seed when you queue. " + "An empty box chooses a seed for every prompt. " + "On the sampler, set the seed control to fixed so its widget does not replace this seed." + ), + ), + io.String.Input( + "prefix", + display_name="Prefix", + multiline=True, + default="", + dynamic_prompts=False, + placeholder="35mm photo, natural light, fine grain", + tooltip=( + "Optional. Pasted in front of every plate, before that plate's own text. " + "Use it for a style line, LoRA triggers, or any text that stays the same. " + "An empty box adds nothing. CHAR tokens here are replaced too." + ), + ), + ], + outputs=[ + io.String.Output( + id="prompts", + display_name="prompts", + is_output_list=True, + tooltip="One finished prompt per image. Connect to Start Loop, mode List.", + ), + io.Int.Output( + id="seeds", + display_name="seeds", + is_output_list=True, + tooltip=( + "One integer seed per prompt. " + "Connect to Get Item From List. Set its index from Start Loop iteration_index, " + "then connect the item to the sampler seed." + ), + ), + ], + ) + + @classmethod + def fingerprint_inputs(cls, characters, prompts, seeds, prefix): + # Blank seeds are chosen at queue time, so that queue must not reuse + # the previous list. Explicit seeds stay cached with the text. + if seeds_are_rolled(seeds): + return float("nan") + return False + + @classmethod + def execute(cls, characters, prompts, seeds, prefix) -> io.NodeOutput: + shots = build_batch( + characters, + prompts, + seeds, + lambda: random.randrange(0, SEED_MAX + 1), + prefix, + ) + return io.NodeOutput( + [shot.prompt for shot in shots], + [shot.seed for shot in shots], + ) + + +class PromptBatchExtension(ComfyExtension): + @override + async def get_node_list(self) -> list[type[io.ComfyNode]]: + return [PromptBatch] + + +async def comfy_entrypoint() -> PromptBatchExtension: + return PromptBatchExtension() diff --git a/krea2_t2i_multy_prompts.json b/krea2_t2i_multy_prompts.json new file mode 100644 index 0000000..52e43aa --- /dev/null +++ b/krea2_t2i_multy_prompts.json @@ -0,0 +1,1141 @@ +{ + "id": "dbb7d540-79f5-4742-89e6-b75a0292d0e2", + "revision": 0, + "last_node_id": 48, + "last_link_id": 24, + "nodes": [ + { + "id": 2, + "type": "VAELoader", + "pos": [ + 40, + 40 + ], + "size": [ + 300, + 58 + ], + "flags": {}, + "order": 0, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "VAE", + "type": "VAE", + "links": [ + 10 + ] + } + ], + "properties": { + "Node name for S&R": "VAELoader", + "cnr_id": "comfy-core", + "ue_properties": { + "widget_ue_connectable": {}, + "input_ue_unconnectable": {}, + "version": "7.8" + } + }, + "widgets_values": [ + "krea2RealVae_v10.safetensors" + ], + "widgets_values_named": { + "vae_name": "krea2RealVae_v10.safetensors" + }, + "ndSuperSelectorEnabled": false, + "ndPowerEnabled": false, + "extensions": { + "ndSuperSelectorEnabled": false, + "ndPowerEnabled": false + } + }, + { + "id": 3, + "type": "CLIPLoader", + "pos": [ + 40, + 140 + ], + "size": [ + 300, + 110 + ], + "flags": {}, + "order": 1, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "CLIP", + "type": "CLIP", + "links": [ + 2, + 18 + ] + } + ], + "properties": { + "Node name for S&R": "CLIPLoader", + "cnr_id": "comfy-core", + "ue_properties": { + "widget_ue_connectable": {}, + "input_ue_unconnectable": {}, + "version": "7.8" + } + }, + "widgets_values": [ + "qwen3VL4BAbliteratedComfyui_v10_full_bf16.safetensors", + "krea2", + "default" + ], + "widgets_values_named": { + "clip_name": "qwen3VL4BAbliteratedComfyui_v10_full_bf16.safetensors", + "type": "krea2", + "device": "default" + }, + "ndSuperSelectorEnabled": false, + "ndPowerEnabled": false, + "extensions": { + "ndSuperSelectorEnabled": false, + "ndPowerEnabled": false + } + }, + { + "id": 6, + "type": "UNETLoader", + "pos": [ + 40, + 290 + ], + "size": [ + 300, + 82 + ], + "flags": {}, + "order": 2, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "MODEL", + "type": "MODEL", + "links": [ + 20 + ] + } + ], + "properties": { + "Node name for S&R": "UNETLoader", + "cnr_id": "comfy-core", + "ue_properties": { + "widget_ue_connectable": {}, + "input_ue_unconnectable": {}, + "version": "7.8" + } + }, + "widgets_values": [ + "KREA2/krea2_turbo_fp8_scaled.safetensors", + "default" + ], + "widgets_values_named": { + "unet_name": "KREA2/krea2_turbo_fp8_scaled.safetensors", + "weight_dtype": "default" + }, + "ndSuperSelectorEnabled": false, + "ndPowerEnabled": false, + "extensions": { + "ndSuperSelectorEnabled": false, + "ndPowerEnabled": false + } + }, + { + "id": 15, + "type": "KSampler", + "pos": [ + 1900, + 40 + ], + "size": [ + 300, + 290 + ], + "flags": {}, + "order": 13, + "mode": 0, + "inputs": [ + { + "name": "model", + "type": "MODEL", + "link": 24 + }, + { + "name": "positive", + "type": "CONDITIONING", + "link": 22 + }, + { + "name": "negative", + "type": "CONDITIONING", + "link": 8 + }, + { + "name": "latent_image", + "type": "LATENT", + "link": 6 + }, + { + "name": "seed", + "type": "INT", + "widget": { + "name": "seed" + }, + "link": 16 + } + ], + "outputs": [ + { + "name": "LATENT", + "type": "LATENT", + "links": [ + 9 + ] + } + ], + "properties": { + "Node name for S&R": "KSampler", + "cnr_id": "comfy-core", + "ue_properties": { + "widget_ue_connectable": {}, + "input_ue_unconnectable": {}, + "version": "7.8" + } + }, + "widgets_values": [ + 42, + "fixed", + 10, + 1, + "heunpp2", + "sgm_uniform", + 1 + ], + "widgets_values_named": { + "seed": 42, + "control_after_generate": "fixed", + "steps": 10, + "cfg": 1, + "sampler_name": "heunpp2", + "scheduler": "sgm_uniform", + "denoise": 1 + } + }, + { + "id": 17, + "type": "VAEDecode", + "pos": [ + 1900, + 370 + ], + "size": [ + 210, + 50 + ], + "flags": {}, + "order": 14, + "mode": 0, + "inputs": [ + { + "name": "samples", + "type": "LATENT", + "link": 9 + }, + { + "name": "vae", + "type": "VAE", + "link": 10 + } + ], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 11 + ] + } + ], + "properties": { + "Node name for S&R": "VAEDecode", + "cnr_id": "comfy-core", + "ue_properties": { + "widget_ue_connectable": {}, + "input_ue_unconnectable": {}, + "version": "7.8" + } + } + }, + { + "id": 21, + "type": "SaveImage", + "pos": [ + 1350.6697514892576, + 536.1332893615722 + ], + "size": [ + 532.3468136169436, + 628.1862041488649 + ], + "flags": {}, + "order": 15, + "mode": 0, + "inputs": [ + { + "name": "images", + "type": "IMAGE", + "link": 11 + } + ], + "outputs": [ + { + "name": "images", + "type": "IMAGE", + "links": [ + 12 + ] + } + ], + "properties": { + "Node name for S&R": "SaveImage", + "cnr_id": "comfy-core", + "ue_properties": { + "widget_ue_connectable": {}, + "input_ue_unconnectable": {}, + "version": "7.8" + } + }, + "widgets_values": [ + "t2i/plate_" + ], + "widgets_values_named": { + "filename_prefix": "t2i/plate_" + } + }, + { + "id": 24, + "type": "EmptySD3LatentImage", + "pos": [ + 400, + 410 + ], + "size": [ + 300, + 120 + ], + "flags": {}, + "order": 9, + "mode": 0, + "inputs": [ + { + "name": "width", + "type": "INT", + "widget": { + "name": "width" + }, + "link": 4 + }, + { + "name": "height", + "type": "INT", + "widget": { + "name": "height" + }, + "link": 5 + } + ], + "outputs": [ + { + "name": "LATENT", + "type": "LATENT", + "links": [ + 6 + ] + } + ], + "properties": { + "Node name for S&R": "EmptySD3LatentImage", + "cnr_id": "comfy-core", + "ue_properties": { + "widget_ue_connectable": {}, + "input_ue_unconnectable": {}, + "version": "7.8" + } + }, + "widgets_values": [ + 768, + 1376, + 1 + ], + "widgets_values_named": { + "width": 768, + "height": 1376, + "batch_size": 1 + } + }, + { + "id": 25, + "type": "PrimitiveInt", + "pos": [ + 40, + 410 + ], + "size": [ + 270, + 82 + ], + "flags": {}, + "order": 3, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "INT", + "type": "INT", + "links": [ + 4 + ] + } + ], + "title": "width", + "properties": { + "Node name for S&R": "PrimitiveInt", + "cnr_id": "comfy-core", + "ue_properties": { + "widget_ue_connectable": {}, + "input_ue_unconnectable": {}, + "version": "7.8" + } + }, + "widgets_values": [ + 768, + "fixed" + ], + "widgets_values_named": { + "value": 768, + "control_after_generate": "fixed" + } + }, + { + "id": 26, + "type": "PrimitiveInt", + "pos": [ + 40, + 520 + ], + "size": [ + 270, + 82 + ], + "flags": {}, + "order": 4, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "INT", + "type": "INT", + "links": [ + 5 + ] + } + ], + "title": "height", + "properties": { + "Node name for S&R": "PrimitiveInt", + "cnr_id": "comfy-core", + "ue_properties": { + "widget_ue_connectable": {}, + "input_ue_unconnectable": {}, + "version": "7.8" + } + }, + "widgets_values": [ + 1376, + "fixed" + ], + "widgets_values_named": { + "value": 1376, + "control_after_generate": "fixed" + } + }, + { + "id": 38, + "type": "PromptBatch", + "pos": [ + 780, + 40 + ], + "size": [ + 540, + 640 + ], + "flags": {}, + "order": 5, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "prompts", + "shape": 6, + "type": "STRING", + "links": [ + 13 + ] + }, + { + "name": "seeds", + "shape": 6, + "type": "INT", + "links": [ + 14 + ] + } + ], + "properties": { + "Node name for S&R": "PromptBatch", + "ue_properties": { + "widget_ue_connectable": {}, + "input_ue_unconnectable": {}, + "version": "7.8" + } + }, + "widgets_values": [ + "CHAR1 a European woman in her thirties with short blond hair and a grey coat\n\nCHAR2 a tall European man with a scar on his left cheek and red hair\n", + "p01\nIn the rain outside a station, CHAR1 waits under the awning covered by intricate plants\n\np02\nIn a dark hallway, CHAR1 hands CHAR2 a letter.\nA single bulb hangs over the door. Jungle plans crawling up the walls\n", + "42\n43\n", + "xenoflora, 35mm photo, natural daylight\n" + ], + "widgets_values_named": { + "characters": "CHAR1 a European woman in her thirties with short blond hair and a grey coat\n\nCHAR2 a tall European man with a scar on his left cheek and red hair\n", + "prompts": "p01\nIn the rain outside a station, CHAR1 waits under the awning covered by intricate plants\n\np02\nIn a dark hallway, CHAR1 hands CHAR2 a letter.\nA single bulb hangs over the door. Jungle plans crawling up the walls\n", + "seeds": "42\n43\n", + "prefix": "xenoflora, 35mm photo, natural daylight\n" + } + }, + { + "id": 39, + "type": "StartLoop", + "pos": [ + 1400, + 40 + ], + "size": [ + 370, + 220 + ], + "flags": {}, + "order": 10, + "mode": 0, + "inputs": [ + { + "name": "parent_iteration", + "shape": 7, + "type": "INT", + "link": null + }, + { + "name": "initial_iteration_value", + "shape": 7, + "type": "*", + "link": null + }, + { + "name": "mode.list", + "type": "*", + "link": 13 + } + ], + "outputs": [ + { + "name": "iteration_index", + "type": "INT", + "links": [ + 15 + ] + }, + { + "name": "is_first", + "type": "BOOLEAN", + "links": null + }, + { + "name": "is_last", + "type": "BOOLEAN", + "links": null + }, + { + "name": "list_item", + "type": "*", + "links": [ + 23 + ] + }, + { + "name": "current_iteration_value", + "type": "*", + "links": null + } + ], + "properties": { + "Node name for S&R": "StartLoop", + "cnr_id": "comfy-core", + "ue_properties": { + "widget_ue_connectable": {}, + "input_ue_unconnectable": {}, + "version": "7.8" + } + }, + "widgets_values": [ + "List", + false + ], + "widgets_values_named": { + "mode": "List", + "cache_iterations": false + } + }, + { + "id": 40, + "type": "GetItemFromList", + "pos": [ + 1404.685048510742, + 350.3649863830567 + ], + "size": [ + 280, + 70 + ], + "flags": {}, + "order": 11, + "mode": 0, + "inputs": [ + { + "name": "list", + "type": "*", + "link": 14 + }, + { + "name": "index", + "type": "INT", + "widget": { + "name": "index" + }, + "link": 15 + } + ], + "outputs": [ + { + "name": "*", + "type": "*", + "links": [ + 16 + ] + } + ], + "properties": { + "Node name for S&R": "GetItemFromList", + "cnr_id": "comfy-core", + "ue_properties": { + "widget_ue_connectable": {}, + "input_ue_unconnectable": {}, + "version": "7.8" + } + }, + "widgets_values": [ + 0 + ], + "widgets_values_named": { + "index": 0 + } + }, + { + "id": 41, + "type": "EndLoop", + "pos": [ + 1896.4861242553711, + 503.7543999999999 + ], + "size": [ + 290, + 140 + ], + "flags": {}, + "order": 16, + "mode": 0, + "inputs": [ + { + "name": "output_value", + "shape": 7, + "type": "*", + "link": null + }, + { + "name": "next_iteration_value", + "shape": 7, + "type": "*", + "link": null + }, + { + "name": "terminations.termination0", + "shape": 7, + "type": "*", + "link": 12 + }, + { + "name": "terminations.termination1", + "shape": 7, + "type": "*", + "link": null + } + ], + "outputs": [ + { + "name": "outputs", + "shape": 6, + "type": "*", + "links": null + } + ], + "properties": { + "Node name for S&R": "EndLoop", + "cnr_id": "comfy-core", + "ue_properties": { + "widget_ue_connectable": {}, + "input_ue_unconnectable": {}, + "version": "7.8" + } + }, + "widgets_values": [ + false + ], + "widgets_values_named": { + "accumulate": false + } + }, + { + "id": 43, + "type": "CLIPTextEncode", + "pos": [ + 400, + 580 + ], + "size": [ + 340, + 180 + ], + "flags": {}, + "order": 7, + "mode": 0, + "inputs": [ + { + "name": "clip", + "type": "CLIP", + "link": 2 + } + ], + "outputs": [ + { + "name": "CONDITIONING", + "type": "CONDITIONING", + "links": [ + 8 + ] + } + ], + "title": "CLIP Text Encode (negative)", + "properties": { + "Node name for S&R": "CLIPTextEncode", + "cnr_id": "comfy-core", + "ue_properties": { + "widget_ue_connectable": {}, + "input_ue_unconnectable": {}, + "version": "7.8" + } + }, + "widgets_values": [ + "diptych, split screen, two panels, side by side, before and after comparison, collage, multiple images, anime, manga" + ], + "widgets_values_named": { + "text": "diptych, split screen, two panels, side by side, before and after comparison, collage, multiple images, anime, manga" + } + }, + { + "id": 45, + "type": "Note", + "pos": [ + 780, + 720 + ], + "size": [ + 540, + 200 + ], + "flags": {}, + "order": 6, + "mode": 0, + "inputs": [], + "outputs": [], + "properties": { + "Node name for S&R": "Note", + "cnr_id": "comfy-core", + "ue_properties": { + "widget_ue_connectable": {}, + "input_ue_unconnectable": {}, + "version": "7.8" + } + }, + "widgets_values": [ + "Text-to-image. No reference image.\n\nMulty_prompts feeds Start Loop in List mode.\nThe sampler seed control is fixed.\nOutput is 768x1376.\nPositive encoder is Text Encode Qwen Image Edit Plus. Leave its image slots empty.\nThe LoRA stack is on the model and on that encoder's CLIP.\nThe negative prompt stays on the CLIP loader, past the stack.\n" + ], + "widgets_values_named": { + "text": "Text-to-image. No reference image.\n\nMulty_prompts feeds Start Loop in List mode.\nThe sampler seed control is fixed.\nOutput is 768x1376.\nPositive encoder is Text Encode Qwen Image Edit Plus. Leave its image slots empty.\nThe LoRA stack is on the model and on that encoder's CLIP.\nThe negative prompt stays on the CLIP loader, past the stack.\n" + }, + "color": "#432", + "bgcolor": "#653" + }, + { + "id": 46, + "type": "Lora Loader Stack (rgthree)", + "pos": [ + 404.41727431020166, + 42.50881952247353 + ], + "size": [ + 332.749926147461, + 304.90782348632814 + ], + "flags": {}, + "order": 8, + "mode": 0, + "inputs": [ + { + "name": "model", + "type": "MODEL", + "link": 20 + }, + { + "name": "clip", + "type": "CLIP", + "link": 18 + } + ], + "outputs": [ + { + "name": "MODEL", + "type": "MODEL", + "links": [ + 24 + ] + }, + { + "name": "CLIP", + "type": "CLIP", + "links": [ + 21 + ] + } + ], + "properties": { + "Node name for S&R": "Lora Loader Stack (rgthree)", + "ue_properties": { + "widget_ue_connectable": {}, + "input_ue_unconnectable": {}, + "version": "7.8" + } + }, + "widgets_values": [ + "KREA2/Krea_2_Xenoflora_Trees_tcrzit_BF16-3K.safetensors", + 0.75, + "None", + 1, + "None", + 1, + "None", + 1 + ], + "widgets_values_named": { + "lora_01": "KREA2/Krea_2_Xenoflora_Trees_tcrzit_BF16-3K.safetensors", + "strength_01": 0.75, + "lora_02": "None", + "strength_02": 1, + "lora_03": "None", + "strength_03": 1, + "lora_04": "None", + "strength_04": 1 + }, + "ndSuperSelectorEnabled": false, + "ndPowerEnabled": false, + "extensions": { + "ndSuperSelectorEnabled": false, + "ndPowerEnabled": false + } + }, + { + "id": 47, + "type": "TextEncodeQwenImageEditPlus", + "pos": [ + 1404.4309378233852, + 490.15077142677046 + ], + "size": [ + 427.1098013305665, + 168 + ], + "flags": { + "collapsed": true + }, + "order": 12, + "mode": 0, + "inputs": [ + { + "name": "clip", + "type": "CLIP", + "link": 21 + }, + { + "name": "vae", + "shape": 7, + "type": "VAE", + "link": null + }, + { + "name": "image1", + "shape": 7, + "type": "IMAGE", + "link": null + }, + { + "name": "image2", + "shape": 7, + "type": "IMAGE", + "link": null + }, + { + "name": "image3", + "shape": 7, + "type": "IMAGE", + "link": null + }, + { + "name": "prompt", + "type": "STRING", + "widget": { + "name": "prompt" + }, + "link": 23 + } + ], + "outputs": [ + { + "name": "CONDITIONING", + "type": "CONDITIONING", + "links": [ + 22 + ] + } + ], + "properties": { + "Node name for S&R": "TextEncodeQwenImageEditPlus", + "ue_properties": { + "widget_ue_connectable": {}, + "input_ue_unconnectable": {}, + "version": "7.8" + } + }, + "widgets_values": [ + "" + ], + "widgets_values_named": { + "prompt": "" + } + } + ], + "links": [ + [ + 2, + 3, + 0, + 43, + 0, + "CLIP" + ], + [ + 4, + 25, + 0, + 24, + 0, + "INT" + ], + [ + 5, + 26, + 0, + 24, + 1, + "INT" + ], + [ + 6, + 24, + 0, + 15, + 3, + "LATENT" + ], + [ + 8, + 43, + 0, + 15, + 2, + "CONDITIONING" + ], + [ + 9, + 15, + 0, + 17, + 0, + "LATENT" + ], + [ + 10, + 2, + 0, + 17, + 1, + "VAE" + ], + [ + 11, + 17, + 0, + 21, + 0, + "IMAGE" + ], + [ + 14, + 38, + 1, + 40, + 0, + "INT" + ], + [ + 15, + 39, + 0, + 40, + 1, + "INT" + ], + [ + 16, + 40, + 0, + 15, + 4, + "INT" + ], + [ + 18, + 3, + 0, + 46, + 1, + "CLIP" + ], + [ + 20, + 6, + 0, + 46, + 0, + "MODEL" + ], + [ + 21, + 46, + 1, + 47, + 0, + "CLIP" + ], + [ + 22, + 47, + 0, + 15, + 1, + "CONDITIONING" + ], + [ + 23, + 39, + 3, + 47, + 5, + "STRING" + ], + [ + 13, + 38, + 0, + 39, + 2, + "STRING" + ], + [ + 12, + 21, + 0, + 41, + 2, + "IMAGE" + ], + [ + 24, + 46, + 0, + 15, + 0, + "MODEL" + ] + ], + "groups": [], + "config": {}, + "extra": { + "ue_links": [], + "links_added_by_ue": [], + "ds": { + "scale": 0.6830134553650705, + "offset": [ + 522.4541012693807, + 476.37736042470357 + ] + }, + "frontendVersion": "1.57.1", + "VHS_latentpreview": false, + "VHS_latentpreviewrate": 0, + "VHS_MetadataImage": true, + "VHS_KeepIntermediate": true + }, + "extensions": { + "seed_widgets": { + "15": 0 + } + }, + "version": 0.4 +} diff --git a/prompt_batch.py b/prompt_batch.py new file mode 100644 index 0000000..a2091bd --- /dev/null +++ b/prompt_batch.py @@ -0,0 +1,260 @@ +"""Turn character blocks, plate prompts, and seed lines into one shot per image. + +Each shot is a finished prompt and an integer seed. Prompts use PlatePress +plate ids: a line such as p01 or p01_station starts the next image, and blank +lines inside that plate stay in the prompt. A later version can hang reference +images on the same shot. This version does not read images. Character +descriptions are plain text, so a token written inside a description is not +expanded. +""" + +from __future__ import annotations + +import re +from dataclasses import dataclass + +# ComfyUI seed sockets use this range. The node does not load a model. +SEED_MAX = 0xFFFFFFFFFFFFFFFF + +# A token is CHAR plus a positive integer. CHAR10 is one token, not CHAR1. +# The lookbehind keeps CHAR100 intact when only CHAR1 or CHAR10 is defined. +TOKEN_RE = re.compile(r"(?[Pp]\d+[A-Za-z]?(?:_[A-Za-z0-9_]+)?)(?:\s+(?P\S.*))?$" +) + + +class PromptBatchError(ValueError): + """Text the node can show in ComfyUI without a traceback.""" + + +@dataclass(frozen=True) +class Shot: + prompt: str + seed: int + plate_id: str + # Tokens that were replaced in this prompt, in the order they appear. + # Unused by the node outputs. The next version uses this to attach each + # character's reference images to the shots that name that character. + character_tokens: tuple[str, ...] + + +def build_batch(characters: str, prompts: str, seeds: str, roll_seed, prefix: str = "") -> list[Shot]: + """Parse the boxes. roll_seed() returns one new seed.""" + character_map = _parse_characters(_as_text(characters, "Characters")) + prefix_text, prefix_tokens = _apply_characters( + _as_text(prefix, "Prefix").strip(), + character_map, + ) + plates = _split_prompts(_as_text(prompts, "Prompts")) + seed_values = _parse_seeds(_as_text(seeds, "Seeds"), len(plates), roll_seed) + shots = [] + for (plate_id, prompt), seed in zip(plates, seed_values): + finished, tokens = _apply_characters(prompt, character_map) + if prefix_text: + finished = f"{prefix_text}\n{finished}" + shots.append( + Shot( + prompt=finished, + seed=seed, + plate_id=plate_id, + character_tokens=_merge_tokens(prefix_tokens, tokens), + ) + ) + return shots + + +def seeds_are_rolled(seeds: str) -> bool: + """True when at least one seed is chosen at queue time. + + An empty Seeds box chooses a seed for every prompt. A blank line chooses + one seed. Explicit integers stay cached between queues. + """ + text = _as_text(seeds, "Seeds") + if text.strip() == "": + return True + return any(line.strip() == "" for line in text.splitlines()) + + +def _as_text(value, box_name: str) -> str: + if value is None: + return "" + if not isinstance(value, str): + raise PromptBatchError(f"{box_name} must be text.") + return value.replace("\r\n", "\n").replace("\r", "\n") + + +def _plate_key(plate_id: str) -> str: + """p1_station and p001_station are the same plate. p01 and p01_station are not.""" + match = re.fullmatch(r"[Pp](\d+)([A-Za-z])?(?:_([A-Za-z0-9_]+))?", plate_id) + if match is None: + return plate_id.lower() + letter = (match.group(2) or "").lower() + rest = (match.group(3) or "").lower() + core = f"p{int(match.group(1)):03d}{letter}" + return f"{core}_{rest}" if rest else core + + +def _split_prompts(text: str) -> list[tuple[str, str]]: + """Return (plate id, body) in wall order. The id is not part of the body.""" + if text.strip() == "": + raise PromptBatchError( + "Prompts is empty. Start each prompt with a plate id on its own line, such as p01 or p01_station." + ) + plates: list[tuple[str, str]] = [] + seen: dict[str, str] = {} + current_id: str | None = None + buf: list[str] = [] + + def flush() -> None: + nonlocal current_id, buf + if current_id is None: + buf = [] + return + while buf and buf[0].strip() == "": + buf.pop(0) + while buf and buf[-1].strip() == "": + buf.pop() + body = "\n".join(buf) + if body.strip() == "": + raise PromptBatchError(f"{current_id} has no prompt text.") + plates.append((current_id, body)) + current_id = None + buf = [] + + for line in text.split("\n"): + match = PLATE_HEADER_RE.match(line.strip()) + if match is not None: + flush() + plate_id = match.group("id") + key = _plate_key(plate_id) + if key in seen: + raise PromptBatchError(f"{plate_id} is the same plate as {seen[key]}.") + seen[key] = plate_id + current_id = plate_id + rest = (match.group("rest") or "").strip() + if rest: + buf.append(rest) + continue + if current_id is None: + if line.strip(): + raise PromptBatchError( + "Prompts has text before the first plate id. " + "Start with a line like p01 or p01_station." + ) + continue + buf.append(line) + flush() + return plates + + +def _split_blocks(text: str) -> list[str]: + blocks = [] + current: list[str] = [] + for line in text.split("\n"): + if line.strip() == "": + if current: + blocks.append("\n".join(current)) + current = [] + continue + current.append(line) + if current: + blocks.append("\n".join(current)) + return blocks + + +def _parse_characters(text: str) -> dict[str, str]: + if text.strip() == "": + return {} + characters: dict[str, str] = {} + for index, block in enumerate(_split_blocks(text), start=1): + lines = block.split("\n") + header = CHAR_HEADER_RE.match(lines[0].strip()) + if header is None: + raise PromptBatchError( + f"Characters block {index} starts with {lines[0].strip()!r}. " + "Start the block with CHAR and a positive integer, such as CHAR1 or CHAR10. " + "The description can follow on that same line." + ) + token = header.group(1) + description = re.sub( + r"\s+", + " ", + "\n".join([header.group(2) or "", *lines[1:]]), + ).strip() + if description == "": + raise PromptBatchError(f"{token} has no description under the token line.") + if token in characters: + raise PromptBatchError(f"{token} is defined more than once.") + characters[token] = description + return characters + + +def _merge_tokens(first: tuple[str, ...], second: tuple[str, ...]) -> tuple[str, ...]: + merged: list[str] = [] + for token in (*first, *second): + if token not in merged: + merged.append(token) + return tuple(merged) + + +def _apply_characters(prompt: str, characters: dict[str, str]) -> tuple[str, tuple[str, ...]]: + if not characters: + return prompt, () + used: list[str] = [] + + def replace(match: re.Match) -> str: + token = match.group(0) + description = characters.get(token) + if description is None: + return token + if token not in used: + used.append(token) + return description + + return TOKEN_RE.sub(replace, prompt), tuple(used) + + +def _parse_seeds(text: str, count: int, roll_seed) -> list[int]: + if text.strip() == "": + return [_rolled_seed(roll_seed) for _ in range(count)] + # splitlines() drops a trailing newline, so the last Enter in the box + # does not add an extra seed. A blank line in the middle still counts. + lines = text.splitlines() + if len(lines) != count: + seed_word = "line" if len(lines) == 1 else "lines" + prompt_word = "prompt" if count == 1 else "prompts" + raise PromptBatchError( + f"Seeds has {len(lines)} {seed_word} and Prompts has {count} {prompt_word}. " + "Use one seed line per plate, in the same order, or leave Seeds empty." + ) + values = [] + for index, line in enumerate(lines, start=1): + stripped = line.strip() + if stripped == "": + values.append(_rolled_seed(roll_seed)) + continue + if re.fullmatch(r"\d+", stripped) is None: + raise PromptBatchError( + f"Seed line {index} is {stripped!r}. " + f"Each line must be an integer from 0 to {SEED_MAX}, or empty to choose a seed." + ) + value = int(stripped) + if value > SEED_MAX: + raise PromptBatchError( + f"Seed line {index} is {value}. The largest seed is {SEED_MAX}." + ) + values.append(value) + return values + + +def _rolled_seed(roll_seed) -> int: + value = roll_seed() + if isinstance(value, bool) or not isinstance(value, int): + raise PromptBatchError("The seed picker returned a value that is not an integer.") + if value < 0 or value > SEED_MAX: + raise PromptBatchError(f"The seed picker returned {value}, outside 0 to {SEED_MAX}.") + return value diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..5d50568 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,8 @@ +[project] +name = "comfyui-prompt-batch" +version = "0.1.0" +description = "One finished prompt and one seed per plate. Pair with Start Loop and Get Item From List." +requires-python = ">=3.10" + +[tool.comfy] +DisplayName = "Multy_prompts" diff --git a/screenshot.webp b/screenshot.webp new file mode 100644 index 0000000000000000000000000000000000000000..0e80387bdb45cb475c75adb47f616be0a5408270 GIT binary patch literal 91612 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