SenseNova Structured Edit Prompt
The 'Make Her Wear This' Fix — Writing Edits SenseNova Actually Follows
- prompt
Vague edit prompts are where instruction-editing models go off the rails. "Make her wear this" is one instruction and about nine unspoken assumptions - and the model will guess on every one of them, which is exactly how you get a shifted face, a re-imagined background, or a second person who wasn't in the room. SenseNova Structured Edit Prompt is the pack's antidote: a small text-builder that turns your edit request into the four-section structure SenseNova is actually good at following.
It's a utility node, not a fancy one - you could hand-write the format into a plain CLIP Text Encode (the README shows exactly how), but this keeps it organized and stops you from forgetting a section. For the multi-reference garment-transfer workflows this pack ships, this structure is the difference between "it changed the clothes" and "it changed everything except the clothes."
The inputs
- instruction (required) - describe only the change. The tooltip's example is the gold standard: "make the person in Image-1 wear the clothes from Image-2." This field errors if you leave it empty, which is its own kind of teaching.
- image_roles - assign one clear role per reference image. The default is written in Chinese ("Image-1 is the main subject to edit; with multiple images, state what each provides") - keep it if you prompt in Chinese, or replace it with your own English roles. Only filled-in sections make it into the output.
- preserve - everything that must stay consistent with the main image: identity, pose, composition, background, lighting, framing.
- avoid - what must not appear: extra subjects, transferred objects, watermark text, changed unspecified regions.
Output is a single prompt STRING. Wire it into a CLIP Text Encode's text input → positive conditioning → SenseNova Reference Image positive.
What it actually builds
Under the hood it assembles the request into labeled sections - main change, reference roles, must-preserve, must-avoid - plus a closing execution requirement that says "only modify what's explicitly specified; leave everything else identical." The labels matter because the model was trained on this convention, and it parses "Image-1" / "Image-2" references inside the sections directly. It's the same positive-constraint philosophy the community converged on for these models: telling the model what not to touch beats hoping it infers it.
When it earns its keep
Two-reference clothing transfer is the canonical case: Image-1 = person, Image-2 = garment, and you must explicitly say Image-2 provides only the garment and not the mannequin or background. Add cfg_norm: global in the Edit Guider for complex edits and you're running the pack's stable recipe. For simple "change this one thing" edits it's overkill - plain text is fine. But for anything multi-reference or identity-sensitive, this is the node to reach for.
Install
Part of the Comfyui-SenseNova-U1.5-Wrapper-T8 pack: ComfyUI Manager search "SenseNova U1.5 (T8)", or git clone into custom_nodes/, then restart. No extra Python dependencies, no models to download for this one - it's pure string assembly.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| instruction | STRING | Describe only the change you want, for example: make the person in Image-1 wear the clothes from Image-2. | |
| image_roles | STRING | 参考图作为主画面和待编辑对象。多图时请明确写 Image-1、Image-2 各自提供什么。 | Assign a single clear role to each reference image. Image-1 is the first connected socket. |
| preserve | STRING | 保持主体身份、姿势、构图、背景、光线、镜头和画幅比例不变。 | List everything that must remain consistent with the main image. |
| avoid | STRING | 不要增加无关主体,不要改变未指定区域,不要生成水印或乱码文字。 | List unwanted transfers, extra subjects, text, or other failure modes. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| prompt | STRING | — |