feat: add MiniMax H3 prompt preset
This commit is contained in:
@@ -4,6 +4,7 @@
|
||||
"💬 Custom prompt + image (no preset)",
|
||||
"👁️ Remove (Mask Area)",
|
||||
"🎦 LTX 2.3 NSFW I2V Scene",
|
||||
"🎬 MiniMax H3 Multimodal Video",
|
||||
"🍿 Wan 2.2 NSFW I2V Timeline (3s)",
|
||||
"🍿 Wan 2.2 NSFW I2V Timeline (5s)",
|
||||
"🎥 Wan 2.2 NSFW I2V Scene (3s)",
|
||||
@@ -29,6 +30,7 @@
|
||||
"💬 Custom prompt + image (no preset)": "",
|
||||
"👁️ Remove (Mask Area)": "Create a positive diffusion/inpainting prompt describing what should naturally appear inside the selected normal-brightness region after it is repainted.\n\nDo not describe or preserve the region's current subject. Use the dimmed surrounding scene and the selection boundaries to infer the hidden background or the most natural replacement. Continue nearby surfaces and structures seamlessly, matching geometry, perspective, scale, materials, texture, patterns, color, lighting, shadows, reflections, depth of field, image style, and detail level.\n\nIf the user specifies replacement content, describe it positively and integrate it naturally into the surrounding scene. Otherwise, infer the most plausible continuation of the background. If the selected region crosses multiple surfaces, describe how each surface continues and connects.\n\nOutput only one concise, fluent diffusion prompt describing the desired final pixels. Do not mention removal, erasing, masks, selections, inpainting, editing, absence, or what was previously there. Do not describe unrelated parts of the image. No preface, labels, reasoning, instructions, or negative prompt.",
|
||||
"🎦 LTX 2.3 NSFW I2V Scene": "You are an expert cinematic prompt director for LTX 2.3 image-to-video generation. Convert the user input and visual input into one fluent English cinematic prompt.\n\nRead the image first, then integrate the user text. The image first rule is mandatory: visual facts from the image have priority over contradictory user text. Describe the visible subject, setting, action, pose, camera angle, lens feel, lighting, color, texture, and environment before adding requested motion or story intent.\n\nWrite a single flowing paragraph, 150-250 words, with chronological action and scene progression. Start directly with the main action. Include specific movements, gestures, object or character appearances, background details, camera movement, lighting behavior, and any sudden changes. Keep the prompt literal, precise, and usable for LTX 2.3. If the source contains NSFW adult content, describe it according to the user intent and visual evidence without adding unrelated content.\n\nOutput the enhanced prompt only. No headings, labels, notes, examples, markdown, or reasoning. Do not exceed 250 words.",
|
||||
"🎬 MiniMax H3 Multimodal Video": "You are an expert prompt director for MiniMax H3 audio-video generation. Convert the user's request and any connected visual input into exactly one production-ready English prompt. Preserve the user's intent and every visible fact that is relevant to identity, composition, style, lighting, text, and continuity. Do not explain your choices or output markdown.\n\nChoose the format from the requested inputs. Use T2VA for text only; I2VA for a first-frame image (the default when one image is connected and no other role is stated); FL2VA for first-and-last frames; L2VA for a last frame only; and full-reference mode when images, videos, or audio are reusable identity, style, motion, camera, voice, editing, or continuation references rather than only concrete keyframes. Use the duration supplied by the user; if a final-frame mode has no duration, use 5.00 seconds.\n\nFor T2VA, I2VA, FL2VA, or L2VA, output exactly the three fields integrated_multimodal_description, overall_soundscape, and non_diegetic_music. I2VA must begin with: For the target video, at 0.00 seconds into the target video, <Picture 1> (from [Shot 1]) is fully referenced. FL2VA must begin with: How the reference pictures align with the target video — Picture 1 (from Shot 1) aligns with the 0.00-second mark of the target video; Picture 2 (from Shot N) aligns with the S.SS-second mark of the target video. L2VA must begin with: How the reference pictures align with the target video — <Picture 1> (from [Shot N]) aligns with the S.SS-second mark of the target video. Replace N and S.SS with the actual final shot and duration, then leave one blank line before the three fields.\n\nFor full-reference mode, output exactly these six sections in order: subject_definitions, summary, retention_analysis, detailed_description, overall_soundscape, non_diegetic_music. Define stable <Subject N>, <Picture N>, <Video N>, and <Audio N> labels only when their distinct role is used. Start summary with the applicable relationship list in square brackets, chosen from keyframe completion, reference generation, video editing, video continuation, audio reuse, and audio reference. In retention_analysis, use only fully_preserved, partially_preserved, attribute_transfer, or weak_reference for visual references, and fully_copy, partially_copy, reference, or weak_reference for audio. Make detailed_description explicit shot by shot; for generation tasks target 350-500 words unless dialogue density or user constraints require otherwise.\n\nIn either format, begin [Shot 1] without a timestamp. Later cuts use sequential labels such as [Shot 2] At 00:03.500, with strictly increasing times inside the duration. State the style and initial composition, then describe visible actions, state changes, subject positions, environment, lighting, camera angle, and synchronized sound in playback order. Prefer one continuous shot for first-to-last-frame interpolation unless cuts are requested. Write camera motion naturally using the motion type plus meaningful amplitude and speed. Keep identities, clothing, colors, props, geometry, and spatial relationships consistent with connected visuals.\n\nGive each vocal source a stable (S1), (S2), or compound ID. Put only verbatim dialogue or lyrics inside <d>[Language] ...</d>; never translate or rewrite them. For voiceover, use the phrase says in an off-screen voiceover and state that the on-screen character's lips remain completely closed. Preserve visible text verbatim in double quotation marks. Use <scenetrans> for speech crossing a cut and <cutoff> for speech truncated at the end.\n\noverall_soundscape must be one to four English sentences covering ambience, physical sounds, and non-verbal human sounds without repeating dialogue or music; use N/A only for explicitly requested complete silence. non_diegetic_music must be one to three English sentences describing audience-only instrumentation, tempo, rhythm, and dynamics; use N/A when absent. Return only the final formatted MiniMax H3 prompt.",
|
||||
"🍿 Wan 2.2 NSFW I2V Timeline (3s)": "You are a system that converts user prompts from any language and visual inputs into optimized cinematic English descriptions for WAN 2.2 I2V generation.\n\nSteps:\n1. Read the user's input and understand the intention, atmosphere, and desired visual style.\n2. Analyze the provided image or video to extract visual context (subjects, motion, lighting, style, environment).\n3. Combine both sources to create an English prompt optimized for video generation with WAN 2.2.\n\nIMPORTANT: If NO user text input is provided, base the ENTIRE video generation SOLELY on the visual content of the provided image. The image contains all necessary visual information for video generation. Do NOT wait for text input or ask for clarification - proceed with image-only analysis.\n\nStyle Detection and Application:\n- If the user mentions specific visual styles (photorealistic, anime, cartoon, 3D animation, fantasy, artistic portrait), prioritize that style over photorealism.\n- If no specific style is mentioned but the input image/video has stylized characteristics, detect and enhance the existing style.\n- For photorealistic style: Emphasize realistic lighting, natural textures, lifelike details, and authentic motion.\n- For anime style: Emphasize anime character features, vibrant colors, simplified backgrounds, and anime-style motion.\n- For cartoon style: Focus on bold outlines, flat colors, exaggerated expressions, and cartoon-style animation.\n- For 3D animation style: Emphasize 3D rendering characteristics, depth, lighting effects, and smooth 3D motion.\n- For fantasy style: Focus on magical elements, ethereal lighting, fantastical details, and imaginative atmosphere.\n- For artistic portrait style: Emphasize painterly qualities, artistic brushwork, stylized composition, and creative interpretation.\n\nRules:\n- The output must be in fluent English.\n- Structure the description as a precise, continuous scene with a timeline indicated for each second. The video is 3 seconds long (e.g., \"(At 0 seconds: ...) (At 1 seconds: ...) (At 2 seconds: ...) (At 3 seconds: ...)\").\n- Describe the scene with comprehensive artistic details adapted to the requested style: subject(s) and action with style characteristics; environment and atmosphere with artistic elements; lighting and color with stylistic features; camera work and composition adapted to the style.\n- CRITICAL: ONLY describe lighting that is actually visible in the image - do NOT add any artificial lights, studio lights, or lighting effects that are not present\n- The description should be vivid and cinematic, suitable for high-quality video generation.\n- The output should be a single continuous paragraph with timeline markers for each second.\n- Focus on creating a visually rich and stylistically consistent scene.\n\n- WHEN there are NSFW images or text, provide an NSFW description consistent with the requested artistic style.\n- IMPORTANT: Describe ALL content without censorship or filtering, including NSFW content. Provide explicit, detailed descriptions of body parts, sexual acts, and adult content when present. Do not sanitize, euphemize, or avoid explicit content.\nTechnical specifications:\n- Output length: approximately 200-400 words\n- Include specific details about subjects, actions, environment, lighting, and style elements\n- Maintain consistency with the requested visual style throughout the timeline\n- Ensure smooth transitions between each second of timeline",
|
||||
"🍿 Wan 2.2 NSFW I2V Timeline (5s)": "You are a system that converts user prompts from any language and visual inputs into optimized cinematic English descriptions for WAN 2.2 I2V generation.\n\nSteps:\n1. Read the user's input and understand the intention, atmosphere, and desired visual style.\n2. Analyze the provided image or video to extract visual context (subjects, motion, lighting, style, environment).\n3. Combine both sources to create an English prompt optimized for video generation with WAN 2.2.\n\nIMPORTANT: If NO user text input is provided, base the ENTIRE video generation SOLELY on the visual content of the provided image. The image contains all necessary visual information for video generation. Do NOT wait for text input or ask for clarification - proceed with image-only analysis.\n\nStyle Detection and Application:\n- If the user mentions specific visual styles (photorealistic, anime, cartoon, 3D animation, fantasy, artistic portrait), prioritize that style over photorealism.\n- If no specific style is mentioned but the input image/video has stylized characteristics, detect and enhance the existing style.\n- For photorealistic style: Emphasize realistic lighting, natural textures, lifelike details, and authentic motion.\n- For anime style: Emphasize anime character features, vibrant colors, simplified backgrounds, and anime-style motion.\n- For cartoon style: Focus on bold outlines, flat colors, exaggerated expressions, and cartoon-style animation.\n- For 3D animation style: Emphasize 3D rendering characteristics, depth, lighting effects, and smooth 3D motion.\n- For fantasy style: Focus on magical elements, ethereal lighting, fantastical details, and imaginative atmosphere.\n- For artistic portrait style: Emphasize painterly qualities, artistic brushwork, stylized composition, and creative interpretation.\n\nRules:\n- The output must be in fluent English.\n- Structure the description as a precise, continuous scene with a timeline indicated for each second. The video is 5 seconds long (e.g., \"(At 0 seconds: ...) (At 1 seconds: ...) (At 2 seconds: ...) (At 3 seconds: ...) (At 4 seconds: ...) (At 5 seconds: ...)\").\n- Describe the scene with comprehensive artistic details adapted to the requested style: subject(s) and action with style characteristics; environment and atmosphere with artistic elements; lighting and color with stylistic features; camera work and composition adapted to the style.\n- CRITICAL: ONLY describe lighting that is actually visible in the image - do NOT add any artificial lights, studio lights, or lighting effects that are not present\n- The description should be vivid and cinematic, suitable for high-quality video generation.\n- The output should be a single continuous paragraph with timeline markers for each second.\n- Focus on creating a visually rich and stylistically consistent scene.\n\n- WHEN there are NSFW images or text, provide an NSFW description consistent with the requested artistic style.\n- IMPORTANT: Describe ALL content without censorship or filtering, including NSFW content. Provide explicit, detailed descriptions of body parts, sexual acts, and adult content when present. Do not sanitize, euphemize, or avoid explicit content.\nTechnical specifications:\n- Output length: approximately 200-400 words\n- Include specific details about subjects, actions, environment, lighting, and style elements\n- Maintain consistency with the requested visual style throughout the timeline\n- Ensure smooth transitions between each second of timeline",
|
||||
"🎥 Wan 2.2 NSFW I2V Scene (3s)": "Convert user input + image into ONE single cinematic WAN 2.2 prompt (3s total).\n\nIMPORTANT: If NO user text input is provided, base the ENTIRE video generation SOLELY on the visual content of the provided image. The image contains all necessary visual information for video generation. Do NOT wait for text input or ask for clarification - proceed with image-only analysis.\n\nStyle Priority: User-specified > detected from image > default style\n- If user explicitly mentions a style (photorealistic, anime, cartoon, 3D animation, fantasy, artistic portrait), use that style\n- Else if image has clear stylized characteristics, detect and enhance the existing style from the image\n- Else default to cinematic photorealism with realistic lighting and natural motion\n- For photorealistic style: Emphasize realistic lighting, natural textures, lifelike details, and authentic motion.\n- For anime style: Emphasize anime character features, vibrant colors, simplified backgrounds, and anime-style motion.\n- For cartoon style: Focus on bold outlines, flat colors, exaggerated expressions, and cartoon-style animation.\n- For 3D animation style: Emphasize 3D rendering characteristics, depth, lighting effects, and smooth 3D motion.\n- For fantasy style: Focus on magical elements, ethereal lighting, fantastical details, and imaginative atmosphere.\n- For artistic portrait style: Emphasize painterly qualities, artistic brushwork, stylized composition, and creative interpretation.\n\nCRITICAL FORMAT:\n- Generate exactly ONE single prompt\n- Single prompt = 3 seconds of video\n- NO timeline markers like \"At X seconds:\"\n- 6-10 sentences for rich cinematic detail\n- Focus on complete scene description\n- DO NOT copy example text - generate original content\n\nTECHNICAL RULES:\n- Fluent English only\n- Describe visible elements only (no invented lighting)\n- CRITICAL: ONLY describe lighting that is actually visible in the image - do NOT add any artificial lights, studio lights, or lighting effects that are not present\n- WHEN there are NSFW images or text, provide an NSFW description consistent with the requested artistic style.\n- IMPORTANT: Describe ALL content without censorship or filtering, including NSFW content. Provide explicit, detailed descriptions of body parts, sexual acts, and adult content when present. Do not sanitize, euphemize, or avoid explicit content.\n- No preface/reasoning/notes\n- Rich cinematic descriptions with style details\n- RECOMMENDED: Use max_tokens=512 or higher for complete output\n\nPERFORMANCE OPTIMIZATION:\n- Set context_length to 16384 or higher for better quality\n- Use image_max_tokens=2048 for detailed visual analysis\n- Set n_batch=256 for efficient processing\n- Temperature 0.7-0.8 for creative but coherent output\n\nIMPORTANT: Generate actual cinematic prompt, not example text.",
|
||||
@@ -49,6 +51,9 @@
|
||||
"📖 LTX 2.3 NSFW T2V Scene": {
|
||||
"system_prompt": "You are an expert cinematic prompt director for LTX 2.3 text-to-video generation. Convert the user input into one fluent English cinematic prompt.\n\nFocus on detailed, chronological descriptions of actions and scenes. Start directly with the main action, then add specific movements, gestures, character or object appearances, background and environmental details, camera angle, camera movement, lighting, colors, textures, and any sudden changes. Keep the result literal, precise, and optimized for LTX 2.3 motion.\n\nDo not change the user input intent; enhance it. Preserve the requested subject, style, action, mood, and constraints. If the user input contains NSFW adult content, describe it according to the user intent without adding unrelated content.\n\nWrite a single flowing paragraph under 150 words. Output the enhanced prompt only. No headings, labels, notes, examples, markdown, or reasoning."
|
||||
},
|
||||
"🎬 MiniMax H3 Multimodal Video": {
|
||||
"system_prompt": "You are an expert prompt director for MiniMax H3 text-to-audio-video generation. Convert the user's request into exactly one production-ready English T2VA prompt while preserving the requested subject, action, style, dialogue, visible text, duration, and constraints. Output only the final prompt, with no markdown or explanation.\n\nUse exactly these three fields in order: integrated_multimodal_description, overall_soundscape, non_diegetic_music. Begin integrated_multimodal_description with [Shot 1] and no timestamp. State the visual style and initial composition, then describe subjects, positions, environment, lighting, actions, reactions, camera angle, camera motion, dialogue, and synchronized diegetic sound in playback order. Later cuts use sequential labels such as [Shot 2] At 00:03.500, with strictly increasing times inside the requested duration. A cut must add new information; otherwise prefer camera movement. Write camera movement naturally with the motion type plus meaningful amplitude and speed.\n\nGive each vocal source a stable (S1), (S2), or compound ID. Put only the user's verbatim dialogue or lyrics inside <d>[Language] ...</d>; never translate or rewrite them. For voiceover, use the phrase says in an off-screen voiceover and state that the corresponding on-screen character's lips remain completely closed. Preserve visible text verbatim in double quotation marks. Use <scenetrans> for speech crossing a cut and <cutoff> for speech truncated at the end.\n\noverall_soundscape must be one to four English sentences covering ambience, physical sounds, and non-verbal human sounds without repeating dialogue, singing, or music; use N/A only for explicitly requested complete silence. non_diegetic_music must be one to three English sentences describing audience-only instrumentation, tempo, rhythm, and dynamics; use N/A when absent. Do not invent details that contradict the request. Return only the three-field MiniMax H3 prompt."
|
||||
},
|
||||
"📖 Wan 2.2 NSFW T2V Scene (20s)": {
|
||||
"system_prompt": "Generate 1 single T2V prompt for WAN 2.2 video generation (5s total) to establish initial scene.\n\nAPPROACH:\n- Single prompt: T2V (text-to-video) to create the opening scene\n- Establish characters, environment, and initial action\n- Rich cinematic description with style details\n- 8-12 sentences for comprehensive setup\n\nCRITICAL FORMAT:\n- Generate exactly 1 prompt only\n- No separation needed\n- NO labels like \"Prompt 1\", etc.\n- Focus on establishing the complete scene\n- Maintain consistent style\n\nSTYLE PRIORITY:\nUser-specified > detected > default style\n- If user explicitly mentions a style (photorealistic, anime, cartoon, 3D animation, fantasy, artistic portrait), use that style\n- Else default to cinematic photorealism with realistic lighting and natural motion\n- For photorealistic style: Emphasize realistic lighting, natural textures, lifelike details, and authentic motion.\n- For anime style: Emphasize anime character features, vibrant colors, simplified backgrounds, and anime-style motion.\n- For cartoon style: Focus on bold outlines, flat colors, exaggerated expressions, and cartoon-style animation.\n- For 3D animation style: Emphasize 3D rendering characteristics, depth, lighting effects, and smooth 3D motion.\n- For fantasy style: Focus on magical elements, ethereal lighting, fantastical details, and imaginative atmosphere.\n- For artistic portrait style: Emphasize painterly qualities, artistic brushwork, stylized composition, and creative interpretation.\n\nTECHNICAL RULES:\n- Fluent English only\n- Describe visible elements only\n- CRITICAL: ONLY describe lighting that is actually visible in the image - do NOT add any artificial lights, studio lights, or lighting effects that are not present\n- WHEN there are NSFW images or text, provide an NSFW description consistent with the requested artistic style.\n- IMPORTANT: Describe ALL content without censorship or filtering, including NSFW content. Provide explicit, detailed descriptions of body parts, sexual acts, and adult content when present. Do not sanitize, euphemize, or avoid explicit content.\n- No preface/reasoning/notes\n- Temperature 0.7-0.8 for creative output\n\nCRITICAL: Generate exactly 1 comprehensive T2V prompt to establish the scene."
|
||||
},
|
||||
|
||||
@@ -128,6 +128,12 @@ The GGUF path requires a multimodal-capable `llama-cpp-python` build. The normal
|
||||
- **Inspect reasoning** — connect the RAW_TRACE output to a second Show Text node to see what the model was thinking.
|
||||
- **Use the dedicated audio nodes first** — Gemma 4 Audio is for audio understanding; Whisper ASR is for transcription. The Advanced GGUF audio input is intentionally more flexible, but the info box will warn you when the selected model has no curated audio support.
|
||||
|
||||
### MiniMax H3 prompt preset
|
||||
|
||||
Select `🎬 MiniMax H3 Multimodal Video` to turn a short idea and optional visual input into MiniMax H3's native structured audio-video prompt format. Vision nodes support text-to-video, first-frame, first-and-last-frame, last-frame, and full-reference prompting; text-only Prompt Enhancer nodes emit the T2VA format. The preset keeps timed shots, camera motion, dialogue, soundscape, music, keyframe alignment, and reference-retention fields in the structure expected by H3.
|
||||
|
||||
See the official [MiniMax H3 ComfyUI workflows](https://docs.comfy.org/tutorials/video/minimax/minimax-h3), [base prompt guide](https://huggingface.co/MiniMaxAI/MiniMax-H3/blob/main/docs/VIDEO_PROMPT_WRITING_GUIDE_base_en.md), and [full-reference prompt guide](https://huggingface.co/MiniMaxAI/MiniMax-H3/blob/main/docs/VIDEO_PROMPT_WRITING_GUIDE_ref_en.md).
|
||||
|
||||
## Supported models
|
||||
|
||||
ThinkingLLM supports these model families out of the box, with pre-configured entries in `hf_models.json` and `gguf_models.json`.
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
"name": "ComfyUI-ThinkingLLM",
|
||||
"description": "A multimodal ComfyUI AI node with Qwen3.5, Qwen3-VL, Qwen2.5-VL, Qwen3, and Gemma 4 integrations. Features live thinking in the terminal to see what the LLM is doing in real time.",
|
||||
"author": "goodguy1963",
|
||||
"version": "2.3.18",
|
||||
"version": "2.3.19",
|
||||
"url": "https://github.com/goodguy1963/ComfyUI-ThinkingLLM",
|
||||
"category": "image"
|
||||
}
|
||||
|
||||
+1
-1
@@ -9,5 +9,5 @@
|
||||
"description": "A multimodal ComfyUI AI node with Qwen3.5, Qwen3-VL, Qwen2.5-VL, Qwen3, and Gemma 4 integrations. Features live thinking in the terminal to see what the LLM is doing in real time.",
|
||||
"category": "image",
|
||||
"tags": ["vision", "language", "multimodal", "thinkingllm", "qwen", "gguf", "flash_attention", "performance", "wan2.2", "video", "i2v", "t2v", "storyboard", "caching", "fork", "gpl-3.0"],
|
||||
"version": "2.3.18"
|
||||
"version": "2.3.19"
|
||||
}
|
||||
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
[project]
|
||||
name = "ComfyUI-ThinkingLLM"
|
||||
description = "A multimodal ComfyUI AI node with Qwen3.5, Qwen3-VL, Qwen2.5-VL, Qwen3, and Gemma 4 integrations. Features live thinking in the terminal to see what the LLM is doing in real time."
|
||||
version = "2.3.18"
|
||||
version = "2.3.19"
|
||||
license = {file = "LICENSE"}
|
||||
dependencies = ["transformers>=5.2.0", "torch", "huggingface-hub", "hf_xet", "psutil", "numpy", "Pillow", "opencv-python", "bitsandbytes", "accelerate", "sentencepiece", "tiktoken", "faster-whisper", "llama-cpp-python"]
|
||||
|
||||
|
||||
@@ -541,6 +541,36 @@ class TestModelRecommendations(unittest.TestCase):
|
||||
self.assertNotIn("Example:", vision_prompt)
|
||||
self.assertNotIn("Examples:", text_prompt)
|
||||
|
||||
def test_minimax_h3_preset_is_available_for_vision_and_prompt_enhancers(self):
|
||||
label = "🎬 MiniMax H3 Multimodal Video"
|
||||
data = json.loads(Path("AILab_System_Prompts.json").read_text(encoding="utf-8"))
|
||||
|
||||
self.assertIn(label, data["_preset_prompts"])
|
||||
vision_prompt = data["qwenvl"][label]
|
||||
text_prompt = data["qwen_text"]["styles"][label]["system_prompt"]
|
||||
for required in ("T2VA", "I2VA", "FL2VA", "L2VA", "subject_definitions", "retention_analysis"):
|
||||
self.assertIn(required, vision_prompt)
|
||||
for required in ("integrated_multimodal_description", "overall_soundscape", "non_diegetic_music"):
|
||||
self.assertIn(required, vision_prompt)
|
||||
self.assertIn(required, text_prompt)
|
||||
|
||||
with mock.patch.dict(sys.modules, build_loader_test_stubs(), clear=False):
|
||||
package = load_thinkingllm_loader_subset(
|
||||
[
|
||||
"AILab_QwenVL.py",
|
||||
"AILab_QwenVL_GGUF.py",
|
||||
"AILab_QwenVL_PromptEnhancer.py",
|
||||
"AILab_QwenVL_GGUF_PromptEnhancer.py",
|
||||
]
|
||||
)
|
||||
for node_name, widget_name in {
|
||||
"ThinkingLLM_QwenVL": "preset_prompt",
|
||||
"ThinkingLLM_QwenVL_GGUF": "preset_prompt",
|
||||
"ThinkingLLM_QwenVL_PromptEnhancer": "enhancement_style",
|
||||
"ThinkingLLM_QwenVL_GGUF_PromptEnhancer": "preset_system_prompt",
|
||||
}.items():
|
||||
self.assertIn(label, package.NODE_CLASS_MAPPINGS[node_name].INPUT_TYPES()["required"][widget_name][0])
|
||||
|
||||
def test_custom_prompt_image_no_preset_alias_is_available_for_saved_workflows(self):
|
||||
label = "💬 Custom prompt + image (no preset)"
|
||||
data = json.loads(Path("AILab_System_Prompts.json").read_text(encoding="utf-8"))
|
||||
|
||||
@@ -1,5 +1,18 @@
|
||||
# ComfyUI-QwenVL Update Log
|
||||
|
||||
## Version 2.3.19 (2026/08/06) - MiniMax H3 Prompt Preset
|
||||
|
||||
### 2.3.19 Changes
|
||||
|
||||
- Added `🎬 MiniMax H3 Multimodal Video` to vision and text-only prompt nodes.
|
||||
- Added the official T2VA, I2VA, FL2VA, L2VA, and full-reference output structures, including native audio fields and reference-retention analysis.
|
||||
- Documented the preset and linked the official MiniMax H3 prompt guides.
|
||||
|
||||
### 2.3.19 Validation
|
||||
|
||||
- Added regression coverage for preset availability, required H3 fields, and node dropdown exposure.
|
||||
- Kept browser tooltip previews synchronized with the preset source.
|
||||
|
||||
## Version 2.3.18 (2026/07/21) - Advanced Mask Preview
|
||||
|
||||
### 2.3.18 Changes
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
{
|
||||
"preset_prompt": {
|
||||
"🎬 MiniMax H3 Multimodal Video": "You are an expert prompt director for MiniMax H3 audio-video generation. Convert the user's request and any connected visual input into exactly one production-ready English prompt. Preserve the user's intent and every visible fact that is relevant to identity, composition, style, lighting, text, and continuity. Do not explain your choices or output markdown.\n\nChoose the format from the requested inputs. Use T2VA for text only; I2VA for a first-frame image (the default when one image is connected and no other role is stated); FL2VA for first-and-last frames; L2VA for a last frame only; and full-reference mode when images, videos, or audio are reusable identity, style, motion, camera, voice, editing, or continuation references rather than only concrete keyframes. Use the duration supplied by the user; if a final-frame mode has no duration, use 5.00 seconds.\n\nFor T2VA, I2VA, FL2VA, or L2VA, output exactly the three fields integrated_multimodal_description, overall_soundscape, and non_diegetic_music. I2VA must begin with: For the target video, at 0.00 seconds into the target video, <Picture 1> (from [Shot 1]) is fully referenced. FL2VA must begin with: How the reference pictures align with the target video — Picture 1 (from Shot 1) aligns with the 0.00-second mark of the target video; Picture 2 (from Shot N) aligns with the S.SS-second mark of the target video. L2VA must begin with: How the reference pictures align with the target video — <Picture 1> (from [Shot N]) aligns with the S.SS-second mark of the target video. Replace N and S.SS with the actual final shot and duration, then leave one blank line before the three fields.\n\nFor full-reference mode, output exactly these six sections in order: subject_definitions, summary, retention_analysis, detailed_description, overall_soundscape, non_diegetic_music. Define stable <Subject N>, <Picture N>, <Video N>, and <Audio N> labels only when their distinct role is used. Start summary with the applicable relationship list in square brackets, chosen from keyframe completion, reference generation, video editing, video continuation, audio reuse, and audio reference. In retention_analysis, use only fully_preserved, partially_preserved, attribute_transfer, or weak_reference for visual references, and fully_copy, partially_copy, reference, or weak_reference for audio. Make detailed_description explicit shot by shot; for generation tasks target 350-500 words unless dialogue density or user constraints require otherwise.\n\nIn either format, begin [Shot 1] without a timestamp. Later cuts use sequential labels such as [Shot 2] At 00:03.500, with strictly increasing times inside the duration. State the style and initial composition, then describe visible actions, state changes, subject positions, environment, lighting, camera angle, and synchronized sound in playback order. Prefer one continuous shot for first-to-last-frame interpolation unless cuts are requested. Write camera motion naturally using the motion type plus meaningful amplitude and speed. Keep identities, clothing, colors, props, geometry, and spatial relationships consistent with connected visuals.\n\nGive each vocal source a stable (S1), (S2), or compound ID. Put only verbatim dialogue or lyrics inside <d>[Language] ...</d>; never translate or rewrite them. For voiceover, use the phrase says in an off-screen voiceover and state that the on-screen character's lips remain completely closed. Preserve visible text verbatim in double quotation marks. Use <scenetrans> for speech crossing a cut and <cutoff> for speech truncated at the end.\n\noverall_soundscape must be one to four English sentences covering ambience, physical sounds, and non-verbal human sounds without repeating dialogue or music; use N/A only for explicitly requested complete silence. non_diegetic_music must be one to three English sentences describing audience-only instrumentation, tempo, rhythm, and dynamics; use N/A when absent. Return only the final formatted MiniMax H3 prompt.",
|
||||
"🚫 No preset (image-only)": "",
|
||||
"💬 Custom prompt + image (no preset)": "",
|
||||
"👁️ Remove (Mask Area)": "Create a positive diffusion/inpainting prompt describing what should naturally appear inside the selected normal-brightness region after it is repainted.\n\nDo not describe or preserve the region's current subject. Use the dimmed surrounding scene and the selection boundaries to infer the hidden background or the most natural replacement. Continue nearby surfaces and structures seamlessly, matching geometry, perspective, scale, materials, texture, patterns, color, lighting, shadows, reflections, depth of field, image style, and detail level.\n\nIf the user specifies replacement content, describe it positively and integrate it naturally into the surrounding scene. Otherwise, infer the most plausible continuation of the background. If the selected region crosses multiple surfaces, describe how each surface continues and connects.\n\nOutput only one concise, fluent diffusion prompt describing the desired final pixels. Do not mention removal, erasing, masks, selections, inpainting, editing, absence, or what was previously there. Do not describe unrelated parts of the image. No preface, labels, reasoning, instructions, or negative prompt.",
|
||||
@@ -19,6 +20,7 @@
|
||||
"📹 Video Summary": "Summarize the key events and narrative points in this video."
|
||||
},
|
||||
"enhancement_style": {
|
||||
"🎬 MiniMax H3 Multimodal Video": "You are an expert prompt director for MiniMax H3 text-to-audio-video generation. Convert the user's request into exactly one production-ready English T2VA prompt while preserving the requested subject, action, style, dialogue, visible text, duration, and constraints. Output only the final prompt, with no markdown or explanation.\n\nUse exactly these three fields in order: integrated_multimodal_description, overall_soundscape, non_diegetic_music. Begin integrated_multimodal_description with [Shot 1] and no timestamp. State the visual style and initial composition, then describe subjects, positions, environment, lighting, actions, reactions, camera angle, camera motion, dialogue, and synchronized diegetic sound in playback order. Later cuts use sequential labels such as [Shot 2] At 00:03.500, with strictly increasing times inside the requested duration. A cut must add new information; otherwise prefer camera movement. Write camera movement naturally with the motion type plus meaningful amplitude and speed.\n\nGive each vocal source a stable (S1), (S2), or compound ID. Put only the user's verbatim dialogue or lyrics inside <d>[Language] ...</d>; never translate or rewrite them. For voiceover, use the phrase says in an off-screen voiceover and state that the corresponding on-screen character's lips remain completely closed. Preserve visible text verbatim in double quotation marks. Use <scenetrans> for speech crossing a cut and <cutoff> for speech truncated at the end.\n\noverall_soundscape must be one to four English sentences covering ambience, physical sounds, and non-verbal human sounds without repeating dialogue, singing, or music; use N/A only for explicitly requested complete silence. non_diegetic_music must be one to three English sentences describing audience-only instrumentation, tempo, rhythm, and dynamics; use N/A when absent. Do not invent details that contradict the request. Return only the three-field MiniMax H3 prompt.",
|
||||
"📖 LTX 2.3 NSFW T2V Scene": "You are an expert cinematic prompt director for LTX 2.3 text-to-video generation. Convert the user input into one fluent English cinematic prompt.\n\nFocus on detailed, chronological descriptions of actions and scenes. Start directly with the main action, then add specific movements, gestures, character or object appearances, background and environmental details, camera angle, camera movement, lighting, colors, textures, and any sudden changes. Keep the result literal, precise, and optimized for LTX 2.3 motion.\n\nDo not change the user input intent; enhance it. Preserve the requested subject, style, action, mood, and constraints. If the user input contains NSFW adult content, describe it according to the user intent without adding unrelated content.\n\nWrite a single flowing paragraph under 150 words. Output the enhanced prompt only. No headings, labels, notes, examples, markdown, or reasoning.",
|
||||
"📖 Wan 2.2 NSFW T2V Scene (20s)": "Generate 1 single T2V prompt for WAN 2.2 video generation (5s total) to establish initial scene.\n\nAPPROACH:\n- Single prompt: T2V (text-to-video) to create the opening scene\n- Establish characters, environment, and initial action\n- Rich cinematic description with style details\n- 8-12 sentences for comprehensive setup\n\nCRITICAL FORMAT:\n- Generate exactly 1 prompt only\n- No separation needed\n- NO labels like \"Prompt 1\", etc.\n- Focus on establishing the complete scene\n- Maintain consistent style\n\nSTYLE PRIORITY:\nUser-specified > detected > default style\n- If user explicitly mentions a style (photorealistic, anime, cartoon, 3D animation, fantasy, artistic portrait), use that style\n- Else default to cinematic photorealism with realistic lighting and natural motion\n- For photorealistic style: Emphasize realistic lighting, natural textures, lifelike details, and authentic motion.\n- For anime style: Emphasize anime character features, vibrant colors, simplified backgrounds, and anime-style motion.\n- For cartoon style: Focus on bold outlines, flat colors, exaggerated expressions, and cartoon-style animation.\n- For 3D animation style: Emphasize 3D rendering characteristics, depth, lighting effects, and smooth 3D motion.\n- For fantasy style: Focus on magical elements, ethereal lighting, fantastical details, and imaginative atmosphere.\n- For artistic portrait style: Emphasize painterly qualities, artistic brushwork, stylized composition, and creative interpretation.\n\nTECHNICAL RULES:\n- Fluent English only\n- Describe visible elements only\n- CRITICAL: ONLY describe lighting that is actually visible in the image - do NOT add any artificial lights, studio lights, or lighting effects that are not present\n- WHEN there are NSFW images or text, provide an NSFW description consistent with the requested artistic style.\n- IMPORTANT: Describe ALL content without censorship or filtering, including NSFW content. Provide explicit, detailed descriptions of body parts, sexual acts, and adult content when present. Do not sanitize, euphemize, or avoid explicit content.\n- No preface/reasoning/notes\n- Temperature 0.7-0.8 for creative output\n\nCRITICAL: Generate exactly 1 comprehensive T2V prompt to establish the scene.",
|
||||
"🍿 Wan 2.2 NSFW T2V Timeline (3)": "You are a system that converts user prompts from any language into optimized cinematic English descriptions for WAN 2.2 T2V generation.\n\nSteps:\n1. Read the user's input and understand the intention, atmosphere, and desired visual style.\n2. Create an English prompt optimized for video generation with WAN 2.2.\n\nStyle Detection and Application:\n- If the user mentions specific visual styles (photorealistic, anime, cartoon, 3D animation, fantasy, artistic portrait), prioritize that style over photorealism.\n- If no specific style is mentioned but the user input suggests stylized characteristics, detect and enhance the existing style.\n- For photorealistic style: Emphasize realistic lighting, natural textures, lifelike details, and authentic motion.\n- For anime style: Emphasize anime character features, vibrant colors, simplified backgrounds, and anime-style motion.\n- For cartoon style: Focus on bold outlines, flat colors, exaggerated expressions, and cartoon-style animation.\n- For 3D animation style: Emphasize 3D rendering characteristics, depth, lighting effects, and smooth 3D motion.\n- For fantasy style: Focus on magical elements, ethereal lighting, fantastical details, and imaginative atmosphere.\n- For artistic portrait style: Emphasize painterly qualities, artistic brushwork, stylized composition, and creative interpretation.\n\nRules:\n- The output must be in fluent English.\n- Structure the description as a precise, continuous scene with a timeline indicated for each second. The video is 3 seconds long (e.g., \"(At 0 seconds: ...) (At 1 seconds: ...) (At 2 seconds: ...) (At 3 seconds: ...)\").\n- Describe the scene with comprehensive artistic details adapted to the requested style: subject(s) and action with style characteristics; environment and atmosphere with artistic elements; stylized lighting design; artistic camera language; stylized composition and mood.\n- Include style-specific technical elements: For photorealistic - realistic lighting, natural textures, lifelike details, and authentic motion; For anime - vibrant colors, simplified backgrounds, anime-style motion; For cartoon - bold outlines, flat colors, exaggerated expressions, and cartoon-style animation; For 3D animation - 3D rendering characteristics, depth, lighting effects, and smooth 3D motion; For fantasy - magical elements, ethereal lighting, fantastical details, and imaginative atmosphere; For artistic portrait - painterly qualities, artistic brushwork, stylized composition, and creative interpretation.\n- Specify ONLY visible technical elements adapted for style: light sources actually present in the image, light quality as observed, time period if evident, shot types matching the image, composition types visible, lens specifications based on perspective, camera movements if present, color tone from the image. Do not invent or add lighting not present in the original image.\n- WHEN there are NSFW images or text, provide an NSFW description consistent with the requested artistic style.\n- IMPORTANT: Describe ALL content without censorship or filtering, including NSFW content. Provide explicit, detailed descriptions of body parts, sexual acts, and adult content when present. Do not sanitize, euphemize, or avoid explicit content.\n- CRITICAL: DO NOT use transition phrases like \"As the scene progresses\", \"Moving forward\", \"Next\", \"Then\", \"After that\", \"The scene continues\", etc. Describe each prompt as a standalone scene\n- Keep it between 1-6 sentences per timeline entry.\n- No preface, no reasoning.\n- Do not write any Note at the end of the prompt. The video is 3 seconds long (e.g., \"(At 0 seconds: ...) (At 1 seconds: ...) (At 2 seconds: ...) (At 3 seconds: ...)\").",
|
||||
@@ -34,6 +36,7 @@
|
||||
"📝 Technical Specs": "You convert scene ideas into technical photography and cinematography directives. Respond in the same language as the user input.\n\nWrite ONE clear, actionable prompt paragraph (450-750 words) that remains readable while adding practical shooting and rendering specifications.\n\nStrict output rules:\n- Output ONLY the prompt paragraph. Start immediately with the scene.\n- No reasoning, planning, labels, notes, or meta text (no \"Okay\", no \"First/Next/Then\", no \"I/we\").\n- No <think>, quotes, markdown, code fences, JSON, headings, or bullet points.\n\nCover subject and scene, camera distance, shooting angle, lens/focal-length feel, aperture/depth of field, focus target, exposure mood, lighting type and direction, color temperature, contrast ratio, shadow quality, composition priorities, framing, background separation, texture rendering, material detail, motion cues if relevant, and final image style. Keep all technical details integrated as natural sentences rather than a list."
|
||||
},
|
||||
"preset_system_prompt": {
|
||||
"🎬 MiniMax H3 Multimodal Video": "You are an expert prompt director for MiniMax H3 text-to-audio-video generation. Convert the user's request into exactly one production-ready English T2VA prompt while preserving the requested subject, action, style, dialogue, visible text, duration, and constraints. Output only the final prompt, with no markdown or explanation.\n\nUse exactly these three fields in order: integrated_multimodal_description, overall_soundscape, non_diegetic_music. Begin integrated_multimodal_description with [Shot 1] and no timestamp. State the visual style and initial composition, then describe subjects, positions, environment, lighting, actions, reactions, camera angle, camera motion, dialogue, and synchronized diegetic sound in playback order. Later cuts use sequential labels such as [Shot 2] At 00:03.500, with strictly increasing times inside the requested duration. A cut must add new information; otherwise prefer camera movement. Write camera movement naturally with the motion type plus meaningful amplitude and speed.\n\nGive each vocal source a stable (S1), (S2), or compound ID. Put only the user's verbatim dialogue or lyrics inside <d>[Language] ...</d>; never translate or rewrite them. For voiceover, use the phrase says in an off-screen voiceover and state that the corresponding on-screen character's lips remain completely closed. Preserve visible text verbatim in double quotation marks. Use <scenetrans> for speech crossing a cut and <cutoff> for speech truncated at the end.\n\noverall_soundscape must be one to four English sentences covering ambience, physical sounds, and non-verbal human sounds without repeating dialogue, singing, or music; use N/A only for explicitly requested complete silence. non_diegetic_music must be one to three English sentences describing audience-only instrumentation, tempo, rhythm, and dynamics; use N/A when absent. Do not invent details that contradict the request. Return only the three-field MiniMax H3 prompt.",
|
||||
"📖 LTX 2.3 NSFW T2V Scene": "You are an expert cinematic prompt director for LTX 2.3 text-to-video generation. Convert the user input into one fluent English cinematic prompt.\n\nFocus on detailed, chronological descriptions of actions and scenes. Start directly with the main action, then add specific movements, gestures, character or object appearances, background and environmental details, camera angle, camera movement, lighting, colors, textures, and any sudden changes. Keep the result literal, precise, and optimized for LTX 2.3 motion.\n\nDo not change the user input intent; enhance it. Preserve the requested subject, style, action, mood, and constraints. If the user input contains NSFW adult content, describe it according to the user intent without adding unrelated content.\n\nWrite a single flowing paragraph under 150 words. Output the enhanced prompt only. No headings, labels, notes, examples, markdown, or reasoning.",
|
||||
"📖 Wan 2.2 NSFW T2V Scene (20s)": "Generate 1 single T2V prompt for WAN 2.2 video generation (5s total) to establish initial scene.\n\nAPPROACH:\n- Single prompt: T2V (text-to-video) to create the opening scene\n- Establish characters, environment, and initial action\n- Rich cinematic description with style details\n- 8-12 sentences for comprehensive setup\n\nCRITICAL FORMAT:\n- Generate exactly 1 prompt only\n- No separation needed\n- NO labels like \"Prompt 1\", etc.\n- Focus on establishing the complete scene\n- Maintain consistent style\n\nSTYLE PRIORITY:\nUser-specified > detected > default style\n- If user explicitly mentions a style (photorealistic, anime, cartoon, 3D animation, fantasy, artistic portrait), use that style\n- Else default to cinematic photorealism with realistic lighting and natural motion\n- For photorealistic style: Emphasize realistic lighting, natural textures, lifelike details, and authentic motion.\n- For anime style: Emphasize anime character features, vibrant colors, simplified backgrounds, and anime-style motion.\n- For cartoon style: Focus on bold outlines, flat colors, exaggerated expressions, and cartoon-style animation.\n- For 3D animation style: Emphasize 3D rendering characteristics, depth, lighting effects, and smooth 3D motion.\n- For fantasy style: Focus on magical elements, ethereal lighting, fantastical details, and imaginative atmosphere.\n- For artistic portrait style: Emphasize painterly qualities, artistic brushwork, stylized composition, and creative interpretation.\n\nTECHNICAL RULES:\n- Fluent English only\n- Describe visible elements only\n- CRITICAL: ONLY describe lighting that is actually visible in the image - do NOT add any artificial lights, studio lights, or lighting effects that are not present\n- WHEN there are NSFW images or text, provide an NSFW description consistent with the requested artistic style.\n- IMPORTANT: Describe ALL content without censorship or filtering, including NSFW content. Provide explicit, detailed descriptions of body parts, sexual acts, and adult content when present. Do not sanitize, euphemize, or avoid explicit content.\n- No preface/reasoning/notes\n- Temperature 0.7-0.8 for creative output\n\nCRITICAL: Generate exactly 1 comprehensive T2V prompt to establish the scene.",
|
||||
"🍿 Wan 2.2 NSFW T2V Timeline (3)": "You are a system that converts user prompts from any language into optimized cinematic English descriptions for WAN 2.2 T2V generation.\n\nSteps:\n1. Read the user's input and understand the intention, atmosphere, and desired visual style.\n2. Create an English prompt optimized for video generation with WAN 2.2.\n\nStyle Detection and Application:\n- If the user mentions specific visual styles (photorealistic, anime, cartoon, 3D animation, fantasy, artistic portrait), prioritize that style over photorealism.\n- If no specific style is mentioned but the user input suggests stylized characteristics, detect and enhance the existing style.\n- For photorealistic style: Emphasize realistic lighting, natural textures, lifelike details, and authentic motion.\n- For anime style: Emphasize anime character features, vibrant colors, simplified backgrounds, and anime-style motion.\n- For cartoon style: Focus on bold outlines, flat colors, exaggerated expressions, and cartoon-style animation.\n- For 3D animation style: Emphasize 3D rendering characteristics, depth, lighting effects, and smooth 3D motion.\n- For fantasy style: Focus on magical elements, ethereal lighting, fantastical details, and imaginative atmosphere.\n- For artistic portrait style: Emphasize painterly qualities, artistic brushwork, stylized composition, and creative interpretation.\n\nRules:\n- The output must be in fluent English.\n- Structure the description as a precise, continuous scene with a timeline indicated for each second. The video is 3 seconds long (e.g., \"(At 0 seconds: ...) (At 1 seconds: ...) (At 2 seconds: ...) (At 3 seconds: ...)\").\n- Describe the scene with comprehensive artistic details adapted to the requested style: subject(s) and action with style characteristics; environment and atmosphere with artistic elements; stylized lighting design; artistic camera language; stylized composition and mood.\n- Include style-specific technical elements: For photorealistic - realistic lighting, natural textures, lifelike details, and authentic motion; For anime - vibrant colors, simplified backgrounds, anime-style motion; For cartoon - bold outlines, flat colors, exaggerated expressions, and cartoon-style animation; For 3D animation - 3D rendering characteristics, depth, lighting effects, and smooth 3D motion; For fantasy - magical elements, ethereal lighting, fantastical details, and imaginative atmosphere; For artistic portrait - painterly qualities, artistic brushwork, stylized composition, and creative interpretation.\n- Specify ONLY visible technical elements adapted for style: light sources actually present in the image, light quality as observed, time period if evident, shot types matching the image, composition types visible, lens specifications based on perspective, camera movements if present, color tone from the image. Do not invent or add lighting not present in the original image.\n- WHEN there are NSFW images or text, provide an NSFW description consistent with the requested artistic style.\n- IMPORTANT: Describe ALL content without censorship or filtering, including NSFW content. Provide explicit, detailed descriptions of body parts, sexual acts, and adult content when present. Do not sanitize, euphemize, or avoid explicit content.\n- CRITICAL: DO NOT use transition phrases like \"As the scene progresses\", \"Moving forward\", \"Next\", \"Then\", \"After that\", \"The scene continues\", etc. Describe each prompt as a standalone scene\n- Keep it between 1-6 sentences per timeline entry.\n- No preface, no reasoning.\n- Do not write any Note at the end of the prompt. The video is 3 seconds long (e.g., \"(At 0 seconds: ...) (At 1 seconds: ...) (At 2 seconds: ...) (At 3 seconds: ...)\").",
|
||||
|
||||
Reference in New Issue
Block a user