Join pre/prompt/post into the first MiniMax prompt, not only later shots.

The motion prompt field is what Comfy actually runs. Wrappers are now composed into that string on submit, and shot 1 falls back to it if the separate pre/post fields do not arrive.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Towsty
2026-09-03 07:24:00 -05:00
co-authored by Cursor
parent 1206afe8fd
commit ce85e7f513
8 changed files with 88 additions and 33 deletions
+12 -9
View File
@@ -6869,9 +6869,10 @@ async function editImage() {
const body = new FormData()
body.append('image', file.value)
if (editRefFile.value) body.append('image2', editRefFile.value)
body.append('prompt', prompt.value.trim())
if (promptPre.value.trim()) body.append('promptPre', promptPre.value.trim())
if (promptPost.value.trim()) body.append('promptPost', promptPost.value.trim())
body.append('prompt', composePromptParts(promptPre.value, prompt.value.trim(), promptPost.value) || prompt.value.trim())
body.append('promptMid', prompt.value.trim())
body.append('promptPre', promptPre.value.trim())
body.append('promptPost', promptPost.value.trim())
body.append('aspect', aspect.value)
body.append('negative', editNegative.value)
body.append('steps', String(clampImageSteps(editSteps.value)))
@@ -7108,9 +7109,10 @@ async function editImageV2() {
}
body.append('aspect', aspect.value)
body.append('engine', v2Engine.value)
body.append('prompt', prompt.value.trim())
if (promptPre.value.trim()) body.append('promptPre', promptPre.value.trim())
if (promptPost.value.trim()) body.append('promptPost', promptPost.value.trim())
body.append('prompt', composePromptParts(promptPre.value, prompt.value.trim(), promptPost.value) || prompt.value.trim())
body.append('promptMid', prompt.value.trim())
body.append('promptPre', promptPre.value.trim())
body.append('promptPost', promptPost.value.trim())
body.append('negative', v2Negative.value)
body.append('snofs_model', String(imageV2EngineLoras().find(item => isImageV2ConceptLora(item.name))?.strengthModel ?? 0))
body.append('snofs_clip', String(imageV2EngineLoras().find(item => isImageV2ConceptLora(item.name))?.strengthClip ?? 0))
@@ -7320,9 +7322,10 @@ async function generate() {
const body = new FormData()
if (file.value) body.append('image', file.value)
if (inputStillId.value) body.append('stillId', inputStillId.value)
body.append('prompt', initialPrompt)
if (promptPre.value.trim()) body.append('promptPre', promptPre.value.trim())
if (promptPost.value.trim()) body.append('promptPost', promptPost.value.trim())
body.append('prompt', composePromptParts(promptPre.value, initialPrompt, promptPost.value) || initialPrompt)
body.append('promptMid', initialPrompt)
body.append('promptPre', promptPre.value.trim())
body.append('promptPost', promptPost.value.trim())
body.append('aspect', aspect.value)
body.append('width', String(outputSize.value.width))
body.append('height', String(outputSize.value.height))