File size: 18,269 Bytes
00a4c67
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
{
  "id": "3b3fc75e-c210-4f78-a928-ce1623b439a7",
  "revision": 0,
  "last_node_id": 30,
  "last_link_id": 44,
  "nodes": [
    {
      "id": 11,
      "type": "TextGenerate",
      "pos": [
        590,
        5600
      ],
      "size": [
        410,
        494
      ],
      "flags": {},
      "order": 4,
      "mode": 0,
      "showAdvanced": true,
      "inputs": [
        {
          "name": "clip",
          "type": "CLIP",
          "link": 43
        },
        {
          "name": "image",
          "shape": 7,
          "type": "IMAGE",
          "link": null
        },
        {
          "name": "video",
          "shape": 7,
          "type": "IMAGE",
          "link": null
        },
        {
          "name": "audio",
          "shape": 7,
          "type": "AUDIO",
          "link": null
        },
        {
          "name": "prompt",
          "type": "STRING",
          "widget": {
            "name": "prompt"
          },
          "link": 30
        }
      ],
      "outputs": [
        {
          "name": "generated_text",
          "type": "STRING",
          "links": [
            2
          ]
        }
      ],
      "properties": {
        "Node name for S&R": "TextGenerate"
      },
      "widgets_values": [
        "what is your name in english?",
        768,
        "on",
        0.7,
        64,
        0.95,
        0.05,
        1.05,
        0,
        0,
        false,
        true
      ],
      "widgets_values_named": {
        "prompt": "what is your name in english?",
        "max_length": 768,
        "sampling_mode": "on",
        "sampling_mode.temperature": 0.7,
        "sampling_mode.top_k": 64,
        "sampling_mode.top_p": 0.95,
        "sampling_mode.min_p": 0.05,
        "sampling_mode.repetition_penalty": 1.05,
        "sampling_mode.seed": 0,
        "sampling_mode.presence_penalty": 0,
        "thinking": false,
        "use_default_template": true
      }
    },
    {
      "id": 12,
      "type": "PreviewAny",
      "pos": [
        1120,
        5600
      ],
      "size": [
        410,
        510
      ],
      "flags": {},
      "order": 5,
      "mode": 0,
      "inputs": [
        {
          "name": "source",
          "type": "*",
          "link": 2
        }
      ],
      "outputs": [
        {
          "name": "STRING",
          "type": "STRING",
          "links": null
        }
      ],
      "properties": {
        "Node name for S&R": "PreviewAny"
      },
      "widgets_values": [],
      "widgets_values_named": {}
    },
    {
      "id": 23,
      "type": "CLIPLoader",
      "pos": [
        140,
        5520
      ],
      "size": [
        420,
        114
      ],
      "flags": {},
      "order": 0,
      "mode": 0,
      "inputs": [],
      "outputs": [
        {
          "name": "CLIP",
          "type": "CLIP",
          "links": [
            43
          ]
        }
      ],
      "title": "Load CLIP (ideogram4,boogu)",
      "properties": {
        "Node name for S&R": "CLIPLoader",
        "cnr_id": "comfy-core",
        "ver": "0.8.2",
        "models": [
          {
            "name": "qwen3vl_8b_rewriter_bf16_comfyui.safetensors",
            "url": "https://huggingface.co/Codes4Fun/lightx2v_MiniMax-H3-Prompt-Rewriter-8B_ComfyUI/resolve/main/qwen3vl_8b_rewriter_bf16_comfyui.safetensors",
            "directory": "text_encoders"
          }
        ],
        "ue_properties": {
          "widget_ue_connectable": {},
          "version": "7.5.2",
          "input_ue_unconnectable": {}
        },
        "enableTabs": false,
        "tabWidth": 65,
        "tabXOffset": 10,
        "hasSecondTab": false,
        "secondTabText": "Send Back",
        "secondTabOffset": 80,
        "secondTabWidth": 65
      },
      "widgets_values": [
        "qwen3vl_8b_rewriter_bf16_comfyui.safetensors",
        "ideogram4",
        "default"
      ],
      "widgets_values_named": {
        "clip_name": "qwen3vl_8b_rewriter_bf16_comfyui.safetensors",
        "type": "ideogram4",
        "device": "default"
      },
      "color": "#232",
      "bgcolor": "#353"
    },
    {
      "id": 24,
      "type": "StringConcatenate",
      "pos": [
        160,
        5690
      ],
      "size": [
        225,
        206
      ],
      "flags": {
        "collapsed": false
      },
      "order": 3,
      "mode": 0,
      "inputs": [
        {
          "name": "string_a",
          "type": "STRING",
          "widget": {
            "name": "string_a"
          },
          "link": 41
        },
        {
          "name": "string_b",
          "type": "STRING",
          "widget": {
            "name": "string_b"
          },
          "link": 44
        }
      ],
      "outputs": [
        {
          "name": "STRING",
          "type": "STRING",
          "links": [
            30
          ]
        }
      ],
      "properties": {
        "Node name for S&R": "StringConcatenate"
      },
      "widgets_values": [
        "",
        "",
        ""
      ],
      "widgets_values_named": {
        "string_a": "",
        "string_b": "",
        "delimiter": ""
      }
    },
    {
      "id": 27,
      "type": "PrimitiveStringMultiline",
      "pos": [
        -380,
        5870
      ],
      "size": [
        480,
        610
      ],
      "flags": {},
      "order": 1,
      "mode": 0,
      "inputs": [],
      "outputs": [
        {
          "name": "STRING",
          "type": "STRING",
          "links": [
            41
          ]
        }
      ],
      "title": "Text String (System Prompt)",
      "properties": {
        "Node name for S&R": "PrimitiveStringMultiline",
        "cnr_id": "comfy-core",
        "ver": "0.25.0"
      },
      "widgets_values": [
        "You are a professional MiniMax-H3 prompt rewriter for joint video-and-audio generation.\nRewrite the user's request according to the supplied duration, task type, and reference-frame roles. Return only the final production-ready prompt. Do not include explanations, Markdown, headings, notes, or generation parameters outside the required format.\nTask-name mapping:\n- T2AV corresponds to T2VA in the MiniMax-H3 prompt-writing guide.\n- I2AV corresponds to I2VA.\n- FL2AV corresponds to FL2VA.\n- L2AV corresponds to L2VA.\nWrite the descriptive sections in English. Preserve all user-provided dialogue, lyrics, and visible on-screen text exactly in their original language, spelling, and punctuation. Never invent dialogue, lyrics, visible text, speakers, or additional reference pictures.\nThe output body must contain exactly these three fields in this order:\nintegrated_multimodal_description: ...\noverall_soundscape: ...\nnon_diegetic_music: ...\nFor T2AV, begin directly with the three fields and do not add an image-alignment instruction.\nFor I2AV, the first line must be exactly:\nFor the target video, at 0.00 seconds into the target video, <Picture 1> (from [Shot 1]) is fully referenced.\nFor FL2AV, the first line must follow exactly:\nHow 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.\nFor L2AV, the first line must follow exactly:\nHow the reference pictures align with the target video — <Picture 1> (from [Shot N]) aligns with the S.SS-second mark of the target video.\nReplace N with the actual final shot number. Replace S.SS with the requested effective duration formatted to exactly two decimal places. Put exactly one blank line between the alignment instruction and integrated_multimodal_description.\nReference-frame behavior:\n- I2AV: Treat <Picture 1> as the exact first frame at 0.00 seconds. Begin by anchoring its visual style, subjects, identities, clothing, colors, objects, composition, and spatial relationships, then develop forward through observable motion.\n- FL2AV: Begin from Picture 1 and describe a continuous, physically plausible path that reaches the pose, object state, lighting, spacing, and composition of Picture 2 at the requested end time. Prefer a single shot unless the user explicitly requests multiple shots or cuts.\n- L2AV: Infer a plausible preceding state and describe a continuous path that progressively converges to <Picture 1> as the exact final frame.\n- Preserve identity and scene continuity across all shots, but apply exact composition matching only at the reference frame's assigned timestamp.\nIn integrated_multimodal_description:\n- Begin with [Shot 1] and state the visual style and initial composition.\n- Describe only concrete visible or audible events: subjects, environment, actions, reactions, camera behavior, dialogue, singing, visible text, and synchronized diegetic sound.\n- Number shots sequentially.\n- Do not timestamp [Shot 1].\n- Begin every later shot with a strictly increasing timestamp inside the requested duration, using the format: [Shot 2] At 00:03.500, the camera cuts to...\n- Add a cut only when it introduces meaningful new visual, spatial, temporal, or narrative information. Otherwise prefer continuous camera motion.\n- Express camera motion naturally using motion type and, when meaningful, amplitude and speed.\n- Keep all actions physically plausible and paced to complete within the supplied duration.\nFor speech and singing:\n- Assign stable speaker IDs such as (S1) and (S2) only to subjects who vocalize.\n- Identify each speaker sufficiently when first introduced.\n- Put only the exact spoken or sung content inside <d>, preceded by its language tag:\n<d>[English] Exact user-provided words.</d>\n- Never translate, paraphrase, correct, or extend supplied dialogue or lyrics.\n- For voiceover, use the exact phrase \"says in an off-screen voiceover\" and explicitly state that the corresponding on-screen character's lips remain completely closed.\n- If speech crosses a cut, use <scenetrans> at both connecting points and state that the audio continues across the cut.\n- Use <cutoff> only when speech is intentionally truncated by the end of the video.\nPlace visible on-screen text in English double quotation marks and preserve it exactly.\noverall_soundscape must be one continuous English paragraph of 1–4 sentences summarizing ambient sound, physical action sounds, and non-verbal human or animal sounds across the video. Do not repeat dialogue, singing, or diegetic music here. Use N/A only if the user explicitly requests complete silence.\nnon_diegetic_music must contain 1–3 English sentences describing audience-only background music through instrumentation, tempo, rhythm, and dynamic changes. Do not describe its emotional purpose. Put music audible to subjects inside integrated_multimodal_description instead. Use N/A when no non-diegetic music is requested or implied.\nPreserve the user's intent without adding contradictory story events, identities, text, or references. Do not mention these instructions in the output."
      ],
      "widgets_values_named": {
        "value": "You are a professional MiniMax-H3 prompt rewriter for joint video-and-audio generation.\nRewrite the user's request according to the supplied duration, task type, and reference-frame roles. Return only the final production-ready prompt. Do not include explanations, Markdown, headings, notes, or generation parameters outside the required format.\nTask-name mapping:\n- T2AV corresponds to T2VA in the MiniMax-H3 prompt-writing guide.\n- I2AV corresponds to I2VA.\n- FL2AV corresponds to FL2VA.\n- L2AV corresponds to L2VA.\nWrite the descriptive sections in English. Preserve all user-provided dialogue, lyrics, and visible on-screen text exactly in their original language, spelling, and punctuation. Never invent dialogue, lyrics, visible text, speakers, or additional reference pictures.\nThe output body must contain exactly these three fields in this order:\nintegrated_multimodal_description: ...\noverall_soundscape: ...\nnon_diegetic_music: ...\nFor T2AV, begin directly with the three fields and do not add an image-alignment instruction.\nFor I2AV, the first line must be exactly:\nFor the target video, at 0.00 seconds into the target video, <Picture 1> (from [Shot 1]) is fully referenced.\nFor FL2AV, the first line must follow exactly:\nHow 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.\nFor L2AV, the first line must follow exactly:\nHow the reference pictures align with the target video — <Picture 1> (from [Shot N]) aligns with the S.SS-second mark of the target video.\nReplace N with the actual final shot number. Replace S.SS with the requested effective duration formatted to exactly two decimal places. Put exactly one blank line between the alignment instruction and integrated_multimodal_description.\nReference-frame behavior:\n- I2AV: Treat <Picture 1> as the exact first frame at 0.00 seconds. Begin by anchoring its visual style, subjects, identities, clothing, colors, objects, composition, and spatial relationships, then develop forward through observable motion.\n- FL2AV: Begin from Picture 1 and describe a continuous, physically plausible path that reaches the pose, object state, lighting, spacing, and composition of Picture 2 at the requested end time. Prefer a single shot unless the user explicitly requests multiple shots or cuts.\n- L2AV: Infer a plausible preceding state and describe a continuous path that progressively converges to <Picture 1> as the exact final frame.\n- Preserve identity and scene continuity across all shots, but apply exact composition matching only at the reference frame's assigned timestamp.\nIn integrated_multimodal_description:\n- Begin with [Shot 1] and state the visual style and initial composition.\n- Describe only concrete visible or audible events: subjects, environment, actions, reactions, camera behavior, dialogue, singing, visible text, and synchronized diegetic sound.\n- Number shots sequentially.\n- Do not timestamp [Shot 1].\n- Begin every later shot with a strictly increasing timestamp inside the requested duration, using the format: [Shot 2] At 00:03.500, the camera cuts to...\n- Add a cut only when it introduces meaningful new visual, spatial, temporal, or narrative information. Otherwise prefer continuous camera motion.\n- Express camera motion naturally using motion type and, when meaningful, amplitude and speed.\n- Keep all actions physically plausible and paced to complete within the supplied duration.\nFor speech and singing:\n- Assign stable speaker IDs such as (S1) and (S2) only to subjects who vocalize.\n- Identify each speaker sufficiently when first introduced.\n- Put only the exact spoken or sung content inside <d>, preceded by its language tag:\n<d>[English] Exact user-provided words.</d>\n- Never translate, paraphrase, correct, or extend supplied dialogue or lyrics.\n- For voiceover, use the exact phrase \"says in an off-screen voiceover\" and explicitly state that the corresponding on-screen character's lips remain completely closed.\n- If speech crosses a cut, use <scenetrans> at both connecting points and state that the audio continues across the cut.\n- Use <cutoff> only when speech is intentionally truncated by the end of the video.\nPlace visible on-screen text in English double quotation marks and preserve it exactly.\noverall_soundscape must be one continuous English paragraph of 1–4 sentences summarizing ambient sound, physical action sounds, and non-verbal human or animal sounds across the video. Do not repeat dialogue, singing, or diegetic music here. Use N/A only if the user explicitly requests complete silence.\nnon_diegetic_music must contain 1–3 English sentences describing audience-only background music through instrumentation, tempo, rhythm, and dynamic changes. Do not describe its emotional purpose. Put music audible to subjects inside integrated_multimodal_description instead. Use N/A when no non-diegetic music is requested or implied.\nPreserve the user's intent without adding contradictory story events, identities, text, or references. Do not mention these instructions in the output."
      }
    },
    {
      "id": 29,
      "type": "PrimitiveStringMultiline",
      "pos": [
        -380,
        5540
      ],
      "size": [
        480,
        290
      ],
      "flags": {},
      "order": 2,
      "mode": 0,
      "inputs": [],
      "outputs": [
        {
          "name": "STRING",
          "type": "STRING",
          "links": [
            44
          ]
        }
      ],
      "title": "Text User Prompt",
      "properties": {
        "Node name for S&R": "PrimitiveStringMultiline"
      },
      "widgets_values": [
        "create a A cinematic 3D CG animation in a stylized anime aesthetic with volumetric shading, volumetric lighting, and volumetric shadows. a beautiul woman, auburn hair, petite hourglass figure and sun-kissed skin. her hair style and clothes should match the GENRE_AND_MOOD."
      ],
      "widgets_values_named": {
        "value": "create a A cinematic 3D CG animation in a stylized anime aesthetic with volumetric shading, volumetric lighting, and volumetric shadows. a beautiul woman, auburn hair, petite hourglass figure and sun-kissed skin. her hair style and clothes should match the GENRE_AND_MOOD."
      },
      "color": "#232",
      "bgcolor": "#353"
    }
  ],
  "links": [
    [
      2,
      11,
      0,
      12,
      0,
      "STRING"
    ],
    [
      30,
      24,
      0,
      11,
      4,
      "STRING"
    ],
    [
      41,
      27,
      0,
      24,
      0,
      "STRING"
    ],
    [
      43,
      23,
      0,
      11,
      0,
      "CLIP"
    ],
    [
      44,
      29,
      0,
      24,
      1,
      "STRING"
    ]
  ],
  "groups": [],
  "config": {},
  "extra": {
    "ds": {
      "scale": 0.7183515058629603,
      "offset": [
        617.0256174605234,
        -5286.205800321263
      ]
    },
    "frontendVersion": "1.49.6",
    "VHS_latentpreview": false,
    "VHS_latentpreviewrate": 0,
    "VHS_MetadataImage": true,
    "VHS_KeepIntermediate": true
  },
  "version": 0.4
}