{
  "config": {},
  "definitions": {
    "subgraphs": [
      {
        "config": {},
        "extra": {
          "workflowRendererVersion": "Vue-corrected"
        },
        "groups": [],
        "id": "f7abaa3a-5e87-4354-bab6-f43320cd490f",
        "inputNode": {
          "bounding": [
            7370,
            380,
            120,
            90
          ],
          "id": -10
        },
        "inputs": [
          {
            "id": "4a1c561e-96cb-4862-ba72-d77d3725dbb2",
            "linkIds": [
              127,
              125
            ],
            "localized_name": "image",
            "name": "image",
            "pos": [
              8960.376953125,
              478
            ],
            "type": "IMAGE"
          },
          {
            "id": "a6622b84-27c2-4a79-b375-69c30fe2e457",
            "linkIds": [
              285
            ],
            "name": "duration",
            "pos": [
              8960.376953125,
              498
            ],
            "type": "INT"
          },
          {
            "id": "344409ea-aa17-46c2-8b7d-c7b10cf980ad",
            "linkIds": [
              286
            ],
            "name": "model.resolution",
            "pos": [
              8960.376953125,
              518
            ],
            "type": "COMBO"
          }
        ],
        "links": [
          {
            "id": 203,
            "origin_id": 306,
            "origin_slot": 0,
            "target_id": 302,
            "target_slot": 0,
            "type": "*"
          },
          {
            "id": 127,
            "origin_id": -10,
            "origin_slot": 0,
            "target_id": 305,
            "target_slot": 0,
            "type": "IMAGE"
          },
          {
            "id": 125,
            "origin_id": -10,
            "origin_slot": 0,
            "target_id": 304,
            "target_slot": 0,
            "type": "IMAGE"
          },
          {
            "id": 282,
            "origin_id": 304,
            "origin_slot": 0,
            "target_id": 310,
            "target_slot": 0,
            "type": "IMAGE"
          },
          {
            "id": 283,
            "origin_id": 305,
            "origin_slot": 0,
            "target_id": 310,
            "target_slot": 1,
            "type": "IMAGE"
          },
          {
            "id": 284,
            "origin_id": 306,
            "origin_slot": 0,
            "target_id": 310,
            "target_slot": 2,
            "type": "STRING"
          },
          {
            "id": 285,
            "origin_id": -10,
            "origin_slot": 1,
            "target_id": 310,
            "target_slot": 3,
            "type": "INT"
          },
          {
            "id": 286,
            "origin_id": -10,
            "origin_slot": 2,
            "target_id": 310,
            "target_slot": 4,
            "type": "COMBO"
          },
          {
            "id": 293,
            "origin_id": 310,
            "origin_slot": 0,
            "target_id": -20,
            "target_slot": 0,
            "type": "VIDEO"
          },
          {
            "id": 321,
            "origin_id": 305,
            "origin_slot": 0,
            "target_id": 386,
            "target_slot": 1,
            "type": "IMAGE"
          },
          {
            "id": 322,
            "origin_id": 304,
            "origin_slot": 0,
            "target_id": 386,
            "target_slot": 0,
            "type": "IMAGE"
          },
          {
            "id": 323,
            "origin_id": 386,
            "origin_slot": 0,
            "target_id": 306,
            "target_slot": 0,
            "type": "IMAGE"
          }
        ],
        "name": "Generate Video 1",
        "nodes": [
          {
            "flags": {},
            "id": 302,
            "inputs": [
              {
                "link": 203,
                "localized_name": "source",
                "name": "source",
                "type": "*"
              }
            ],
            "mode": 0,
            "order": 0,
            "outputs": [],
            "pos": [
              8220,
              -80
            ],
            "properties": {
              "Node name for S&R": "PreviewAny",
              "cnr_id": "comfy-core",
              "ver": "0.3.76"
            },
            "size": [
              280,
              440
            ],
            "title": "Preview Prompt",
            "type": "PreviewAny",
            "widgets_values": [
              null,
              null,
              null
            ]
          },
          {
            "flags": {},
            "id": 304,
            "inputs": [
              {
                "link": 125,
                "localized_name": "image",
                "name": "image",
                "type": "IMAGE"
              }
            ],
            "mode": 0,
            "order": 1,
            "outputs": [
              {
                "links": [
                  282,
                  322
                ],
                "localized_name": "IMAGE",
                "name": "IMAGE",
                "type": "IMAGE"
              }
            ],
            "pos": [
              7550,
              660
            ],
            "properties": {
              "Node name for S&R": "ImageFromBatch",
              "cnr_id": "comfy-core",
              "ver": "0.3.76"
            },
            "size": [
              280,
              100
            ],
            "type": "ImageFromBatch",
            "widgets_values": [
              0,
              1
            ]
          },
          {
            "flags": {},
            "id": 305,
            "inputs": [
              {
                "link": 127,
                "localized_name": "image",
                "name": "image",
                "type": "IMAGE"
              }
            ],
            "mode": 0,
            "order": 2,
            "outputs": [
              {
                "links": [
                  283,
                  321
                ],
                "localized_name": "IMAGE",
                "name": "IMAGE",
                "type": "IMAGE"
              }
            ],
            "pos": [
              7550,
              850
            ],
            "properties": {
              "Node name for S&R": "ImageFromBatch",
              "cnr_id": "comfy-core",
              "ver": "0.3.76"
            },
            "size": [
              280,
              100
            ],
            "type": "ImageFromBatch",
            "widgets_values": [
              1,
              1
            ]
          },
          {
            "bgcolor": "#653",
            "color": "#432",
            "flags": {},
            "id": 306,
            "inputs": [
              {
                "link": 323,
                "localized_name": "images",
                "name": "images",
                "shape": 7,
                "type": "IMAGE"
              },
              {
                "link": null,
                "localized_name": "audio",
                "name": "audio",
                "shape": 7,
                "type": "AUDIO"
              },
              {
                "link": null,
                "localized_name": "video",
                "name": "video",
                "shape": 7,
                "type": "VIDEO"
              },
              {
                "link": null,
                "localized_name": "files",
                "name": "files",
                "shape": 7,
                "type": "GEMINI_INPUT_FILES"
              }
            ],
            "mode": 0,
            "order": 3,
            "outputs": [
              {
                "links": [
                  203,
                  284
                ],
                "localized_name": "STRING",
                "name": "STRING",
                "type": "STRING"
              }
            ],
            "pos": [
              7850,
              -80
            ],
            "properties": {
              "Node name for S&R": "GeminiNode",
              "cnr_id": "comfy-core",
              "ver": "0.3.76"
            },
            "size": [
              340,
              670
            ],
            "type": "GeminiNode",
            "widgets_values": [
              "STEP 1: ANALYZE BOTH IMAGES\nBefore crafting the prompt, analyze both images to understand:\n\n\nCamera distance (wide shot, medium, close-up, extreme close-up, macro)\nCamera angle (low-angle, high-angle, eye-level, overhead, Dutch, worm's eye, bird's eye)\nCamera position relative to subject (front, side profile, 3/4 view, back, overhead)\nFraming (full body, torso, chest-up, face only, detail/macro)\nSubject position and pose\nLighting setup and direction\nBackground elements and depth\nFocal length characteristics (wide-angle distortion vs telephoto compression)\n\nSTEP 2: DETERMINE CAMERA MOVEMENT\nBased on the differences between images, identify the primary camera movement:\n\n\nDistance change: Dolly-in (closer) or Dolly-out (farther)\nVertical angle change: Tilt up/down or Crane up/down\nHorizontal angle change: Pan left/right or Orbit/Arc around subject\nHeight change: Crane/Pedestal up or down\nLateral movement: Truck/Track left or right\n\nSTEP 3: OUTPUT ONLY THE PROMPT\nDo not include explanations, commentary, or additional text.\nOutput ONLY the transition prompt in this format:\n\n\n[CAMERA MOVEMENT] from [START POSITION] to [END POSITION]. Subject remains stationary and consistent throughout. Camera [MOVEMENT VERB] fluidly, maintaining [FOCUS BEHAVIOR] on [KEY ELEMENT]. Lighting stays constant, background [BACKGROUND BEHAVIOR]. [TECHNICAL SPECS].\n\nCore Principle\n\nFor transitions where the subject/scene remains consistent and only the camera position changes, use this structured approach to ensure smooth, cinematic results.\n\n\nPrompt Structure Template\n\n[CAMERA MOVEMENT] from [START POSITION] to [END POSITION]. Subject remains stationary and consistent throughout. Camera [MOVEMENT VERB] fluidly, maintaining [FOCUS BEHAVIOR] on [KEY ELEMENT]. Lighting stays constant, background [BACKGROUND BEHAVIOR]. [TECHNICAL SPECS].\n\nComponent Breakdown\n\n1. CAMERA MOVEMENT TYPES\nDolly-in/Push-in: Camera moves forward toward subject\nDolly-out/Pull-back: Camera moves backward away from subject\nOrbit/Arc: Camera circles around subject (specify left/right)\nTilt: Camera angles up or down on fixed position\nPan: Camera swivels left or right horizontally\nCrane/Pedestal: Camera moves vertically up or down\nTracking/Trucking: Camera moves parallel to subject\n\n2. POSITION DESCRIPTORS\nDistance: wide shot, medium shot, close-up, extreme close-up, macro\nAngle: low-angle, high-angle, eye-level, overhead, Dutch angle, worm's eye view, bird's eye view\nFraming: full body, three-quarter, torso, chest-up, face, detail\n\n3. MOVEMENT VERBS (choose intensity)\nSlowly, steadily, smoothly, gradually, fluidly\nRapidly, dynamically, swiftly\nElegantly, dramatically, confidently\n\n4. FOCUS BEHAVIOR\nSharp focus throughout\nRack focus from [A] to [B]\nMaintains focus on [element]\nShallow depth of field\nDeep focus\nProgressive focus shift\n\n5. BACKGROUND BEHAVIOR\nStays consistent\nBlurs to bokeh\nSharpens into view\nFades to [color]\nRemains sharp throughout\n\n6. TECHNICAL SPECS (standard cinematic quality)\nCinematic depth of field\nStable gimbal/dolly movement\nProfessional commercial grade\n24fps (or 30fps, 60fps for slow-motion feel)\nClean sensor, no grain (or \"film grain\" if desired)\n\n\nExample Prompts by Movement Type\n\nDOLLY-IN (Wide → Close-up)\nSmooth camera dolly-in from wide establishing shot to extreme close-up. Subject remains stationary. Camera pushes forward steadily, transitioning focus from [background element] to [detail]. Lighting stays constant, background softly blurs to bokeh. Cinematic depth of field, stable gimbal movement\n\nDOLLY-OUT (Close-up → Wide)\nSmooth camera pull-back from extreme close-up to wide establishing shot. Subject remains centered and stationary. Camera retreats steadily, revealing environment progressively. Focus maintains on subject while background sharpens into view. Even lighting, cinematic depth of field\n\nORBIT (Circular movement)\nSmooth camera orbit from front view to side profile. Subject remains stationary at center. Camera arcs left fluidly in 90-degree rotation, maintaining constant distance and eye-level angle. Lighting stays consistent, sharp focus throughout. Gimbal stabilized circular tracking\n\nTILT (Vertical angle change)\nSmooth camera tilt from low-angle to high-angle. Subject remains stationary. Camera tilts upward gradually, shifting perspective from worm's eye view to bird's eye view. Distance stays constant, lighting consistent. Stable tripod tilt, cinematic framing\n\nPAN (Horizontal swivel)\nSmooth camera pan from left profile to right profile. Subject remains stationary. Camera swivels horizontally across 180 degrees, maintaining constant distance and eye-level. Sharp focus throughout, even lighting. Fluid tripod pan\n\nCRANE UP/DOWN\nSmooth camera crane from ground-level to overhead view. Subject remains stationary at center. Camera elevates vertically, angle shifting from eye-level to bird's eye view. Distance adjusts proportionally, lighting consistent. Stabilized crane movement\n\nKey Rules for Camera-Only Transitions\n\nAlways specify subject remains stationary - This prevents unwanted morphing\nDescribe start AND end positions clearly - Gives model clear targets\nUse specific movement verbs - \"Dolly-in\" is clearer than \"moves closer\"\nLock down what DOESN'T change - Lighting, subject, clothing, expression\nInclude technical quality markers - Gimbal, cinematic, stable\nNegative prompts are critical - Prevents warping/morphing/distortion\nKeep prompts under 75 words - Model weights early words heavier\nOne primary movement per transition - Don't combine dolly + pan + tilt\n\nAdvanced Techniques\n\nSpeed Ramping:\n\"Camera begins slow dolly-in, accelerates midway, then decelerates smoothly into final close-up\"\n\nCombined Movements (use sparingly):\n\"Camera dollies in while simultaneously tilting down, maintaining subject center-frame\"\n\nFocus Pulls:\n\"Rack focus from foreground [element] to background [element] as camera remains locked\"\n\nLens Simulation:\n\"Wide-angle 24mm distortion gradually compresses to telephoto 85mm compression\"\n\n\nCritical Output Rule\n\nOUTPUT ONLY THE PROMPT. LIMIT THE OUTPUT TO 500 CHARACTERS. NO EXPLANATIONS. NO COMMENTARY. NO ADDITIONAL TEXT.",
              "gemini-3-1-flash-lite",
              1,
              "fixed",
              ""
            ]
          },
          {
            "bgcolor": "#653",
            "color": "#432",
            "flags": {},
            "id": 310,
            "inputs": [
              {
                "link": 282,
                "localized_name": "first_frame",
                "name": "first_frame",
                "type": "IMAGE"
              },
              {
                "link": 283,
                "localized_name": "end_frame",
                "name": "end_frame",
                "type": "IMAGE"
              },
              {
                "link": 284,
                "localized_name": "prompt",
                "name": "prompt",
                "type": "STRING",
                "widget": {
                  "name": "prompt"
                }
              },
              {
                "link": 285,
                "localized_name": "duration",
                "name": "duration",
                "type": "INT",
                "widget": {
                  "name": "duration"
                }
              },
              {
                "link": 286,
                "localized_name": "resolution",
                "name": "model.resolution",
                "type": "COMBO",
                "widget": {
                  "name": "model.resolution"
                }
              },
              {
                "label": "video1_seed",
                "link": null,
                "localized_name": "seed",
                "name": "seed",
                "type": "INT",
                "widget": {
                  "name": "seed"
                }
              }
            ],
            "mode": 0,
            "order": 4,
            "outputs": [
              {
                "links": [
                  293
                ],
                "localized_name": "VIDEO",
                "name": "VIDEO",
                "type": "VIDEO"
              }
            ],
            "pos": [
              7850,
              670
            ],
            "properties": {
              "Node name for S&R": "KlingFirstLastFrameNode"
            },
            "size": [
              340,
              260
            ],
            "type": "KlingFirstLastFrameNode",
            "widgets_values": [
              "",
              3,
              false,
              "kling-v3",
              "1080p",
              1,
              "fixed"
            ]
          },
          {
            "flags": {},
            "id": 386,
            "inputs": [
              {
                "label": "image0",
                "link": 322,
                "localized_name": "images.image0",
                "name": "images.image0",
                "type": "IMAGE"
              },
              {
                "label": "image1",
                "link": 321,
                "localized_name": "images.image1",
                "name": "images.image1",
                "type": "IMAGE"
              },
              {
                "label": "image2",
                "link": null,
                "localized_name": "images.image2",
                "name": "images.image2",
                "shape": 7,
                "type": "IMAGE"
              }
            ],
            "mode": 0,
            "order": 5,
            "outputs": [
              {
                "links": [
                  323
                ],
                "localized_name": "IMAGE",
                "name": "IMAGE",
                "type": "IMAGE"
              }
            ],
            "pos": [
              7630,
              500
            ],
            "properties": {
              "Node name for S&R": "BatchImagesNode"
            },
            "size": [
              200,
              90
            ],
            "type": "BatchImagesNode",
            "widgets_values": []
          }
        ],
        "outputNode": {
          "bounding": [
            8580,
            370,
            100,
            50
          ],
          "id": -20
        },
        "outputs": [
          {
            "id": "1c5be8c2-bbd0-4ba7-81d9-37d933627747",
            "linkIds": [
              293
            ],
            "localized_name": "VIDEO",
            "name": "VIDEO",
            "pos": [
              10320,
              470
            ],
            "type": "VIDEO"
          }
        ],
        "revision": 0,
        "state": {
          "lastGroupId": 0,
          "lastLinkId": 357,
          "lastNodeId": 395,
          "lastRerouteId": 0
        },
        "version": 1,
        "widgets": []
      },
      {
        "config": {},
        "extra": {
          "workflowRendererVersion": "Vue-corrected"
        },
        "groups": [],
        "id": "02da9128-7c15-4c46-96bc-1dd68e5bc490",
        "inputNode": {
          "bounding": [
            7370,
            380,
            120,
            90
          ],
          "id": -10
        },
        "inputs": [
          {
            "id": "4a1c561e-96cb-4862-ba72-d77d3725dbb2",
            "linkIds": [
              127,
              125
            ],
            "localized_name": "image",
            "name": "image",
            "pos": [
              8960.376953125,
              478
            ],
            "type": "IMAGE"
          },
          {
            "id": "a6622b84-27c2-4a79-b375-69c30fe2e457",
            "linkIds": [
              285
            ],
            "name": "duration",
            "pos": [
              8960.376953125,
              498
            ],
            "type": "INT"
          },
          {
            "id": "344409ea-aa17-46c2-8b7d-c7b10cf980ad",
            "linkIds": [
              286
            ],
            "name": "model.resolution",
            "pos": [
              8960.376953125,
              518
            ],
            "type": "COMBO"
          }
        ],
        "links": [
          {
            "id": 203,
            "origin_id": 342,
            "origin_slot": 0,
            "target_id": 338,
            "target_slot": 0,
            "type": "*"
          },
          {
            "id": 127,
            "origin_id": -10,
            "origin_slot": 0,
            "target_id": 341,
            "target_slot": 0,
            "type": "IMAGE"
          },
          {
            "id": 125,
            "origin_id": -10,
            "origin_slot": 0,
            "target_id": 340,
            "target_slot": 0,
            "type": "IMAGE"
          },
          {
            "id": 282,
            "origin_id": 340,
            "origin_slot": 0,
            "target_id": 343,
            "target_slot": 0,
            "type": "IMAGE"
          },
          {
            "id": 283,
            "origin_id": 341,
            "origin_slot": 0,
            "target_id": 343,
            "target_slot": 1,
            "type": "IMAGE"
          },
          {
            "id": 284,
            "origin_id": 342,
            "origin_slot": 0,
            "target_id": 343,
            "target_slot": 2,
            "type": "STRING"
          },
          {
            "id": 285,
            "origin_id": -10,
            "origin_slot": 1,
            "target_id": 343,
            "target_slot": 3,
            "type": "INT"
          },
          {
            "id": 286,
            "origin_id": -10,
            "origin_slot": 2,
            "target_id": 343,
            "target_slot": 4,
            "type": "COMBO"
          },
          {
            "id": 293,
            "origin_id": 343,
            "origin_slot": 0,
            "target_id": -20,
            "target_slot": 0,
            "type": "VIDEO"
          },
          {
            "id": 324,
            "origin_id": 340,
            "origin_slot": 0,
            "target_id": 387,
            "target_slot": 0,
            "type": "IMAGE"
          },
          {
            "id": 325,
            "origin_id": 341,
            "origin_slot": 0,
            "target_id": 387,
            "target_slot": 1,
            "type": "IMAGE"
          },
          {
            "id": 326,
            "origin_id": 387,
            "origin_slot": 0,
            "target_id": 342,
            "target_slot": 0,
            "type": "IMAGE"
          }
        ],
        "name": "Generate Video 2",
        "nodes": [
          {
            "flags": {},
            "id": 338,
            "inputs": [
              {
                "link": 203,
                "localized_name": "source",
                "name": "source",
                "type": "*"
              }
            ],
            "mode": 0,
            "order": 0,
            "outputs": [],
            "pos": [
              8220,
              -80
            ],
            "properties": {
              "Node name for S&R": "PreviewAny",
              "cnr_id": "comfy-core",
              "ver": "0.3.76"
            },
            "size": [
              280,
              440
            ],
            "title": "Preview Prompt",
            "type": "PreviewAny",
            "widgets_values": [
              null,
              null,
              null
            ]
          },
          {
            "flags": {},
            "id": 340,
            "inputs": [
              {
                "link": 125,
                "localized_name": "image",
                "name": "image",
                "type": "IMAGE"
              }
            ],
            "mode": 0,
            "order": 1,
            "outputs": [
              {
                "links": [
                  282,
                  324
                ],
                "localized_name": "IMAGE",
                "name": "IMAGE",
                "type": "IMAGE"
              }
            ],
            "pos": [
              7550,
              660
            ],
            "properties": {
              "Node name for S&R": "ImageFromBatch",
              "cnr_id": "comfy-core",
              "ver": "0.3.76"
            },
            "size": [
              280,
              100
            ],
            "type": "ImageFromBatch",
            "widgets_values": [
              1,
              1
            ]
          },
          {
            "flags": {},
            "id": 341,
            "inputs": [
              {
                "link": 127,
                "localized_name": "image",
                "name": "image",
                "type": "IMAGE"
              }
            ],
            "mode": 0,
            "order": 2,
            "outputs": [
              {
                "links": [
                  283,
                  325
                ],
                "localized_name": "IMAGE",
                "name": "IMAGE",
                "type": "IMAGE"
              }
            ],
            "pos": [
              7550,
              850
            ],
            "properties": {
              "Node name for S&R": "ImageFromBatch",
              "cnr_id": "comfy-core",
              "ver": "0.3.76"
            },
            "size": [
              280,
              100
            ],
            "type": "ImageFromBatch",
            "widgets_values": [
              2,
              1
            ]
          },
          {
            "bgcolor": "#653",
            "color": "#432",
            "flags": {},
            "id": 342,
            "inputs": [
              {
                "link": 326,
                "localized_name": "images",
                "name": "images",
                "shape": 7,
                "type": "IMAGE"
              },
              {
                "link": null,
                "localized_name": "audio",
                "name": "audio",
                "shape": 7,
                "type": "AUDIO"
              },
              {
                "link": null,
                "localized_name": "video",
                "name": "video",
                "shape": 7,
                "type": "VIDEO"
              },
              {
                "link": null,
                "localized_name": "files",
                "name": "files",
                "shape": 7,
                "type": "GEMINI_INPUT_FILES"
              }
            ],
            "mode": 0,
            "order": 3,
            "outputs": [
              {
                "links": [
                  203,
                  284
                ],
                "localized_name": "STRING",
                "name": "STRING",
                "type": "STRING"
              }
            ],
            "pos": [
              7850,
              -80
            ],
            "properties": {
              "Node name for S&R": "GeminiNode",
              "cnr_id": "comfy-core",
              "ver": "0.3.76"
            },
            "size": [
              340,
              670
            ],
            "type": "GeminiNode",
            "widgets_values": [
              "STEP 1: ANALYZE BOTH IMAGES\nBefore crafting the prompt, analyze both images to understand:\n\n\nCamera distance (wide shot, medium, close-up, extreme close-up, macro)\nCamera angle (low-angle, high-angle, eye-level, overhead, Dutch, worm's eye, bird's eye)\nCamera position relative to subject (front, side profile, 3/4 view, back, overhead)\nFraming (full body, torso, chest-up, face only, detail/macro)\nSubject position and pose\nLighting setup and direction\nBackground elements and depth\nFocal length characteristics (wide-angle distortion vs telephoto compression)\n\nSTEP 2: DETERMINE CAMERA MOVEMENT\nBased on the differences between images, identify the primary camera movement:\n\n\nDistance change: Dolly-in (closer) or Dolly-out (farther)\nVertical angle change: Tilt up/down or Crane up/down\nHorizontal angle change: Pan left/right or Orbit/Arc around subject\nHeight change: Crane/Pedestal up or down\nLateral movement: Truck/Track left or right\n\nSTEP 3: OUTPUT ONLY THE PROMPT\nDo not include explanations, commentary, or additional text.\nOutput ONLY the transition prompt in this format:\n\n\n[CAMERA MOVEMENT] from [START POSITION] to [END POSITION]. Subject remains stationary and consistent throughout. Camera [MOVEMENT VERB] fluidly, maintaining [FOCUS BEHAVIOR] on [KEY ELEMENT]. Lighting stays constant, background [BACKGROUND BEHAVIOR]. [TECHNICAL SPECS].\n\nCore Principle\n\nFor transitions where the subject/scene remains consistent and only the camera position changes, use this structured approach to ensure smooth, cinematic results.\n\n\nPrompt Structure Template\n\n[CAMERA MOVEMENT] from [START POSITION] to [END POSITION]. Subject remains stationary and consistent throughout. Camera [MOVEMENT VERB] fluidly, maintaining [FOCUS BEHAVIOR] on [KEY ELEMENT]. Lighting stays constant, background [BACKGROUND BEHAVIOR]. [TECHNICAL SPECS].\n\nComponent Breakdown\n\n1. CAMERA MOVEMENT TYPES\nDolly-in/Push-in: Camera moves forward toward subject\nDolly-out/Pull-back: Camera moves backward away from subject\nOrbit/Arc: Camera circles around subject (specify left/right)\nTilt: Camera angles up or down on fixed position\nPan: Camera swivels left or right horizontally\nCrane/Pedestal: Camera moves vertically up or down\nTracking/Trucking: Camera moves parallel to subject\n\n2. POSITION DESCRIPTORS\nDistance: wide shot, medium shot, close-up, extreme close-up, macro\nAngle: low-angle, high-angle, eye-level, overhead, Dutch angle, worm's eye view, bird's eye view\nFraming: full body, three-quarter, torso, chest-up, face, detail\n\n3. MOVEMENT VERBS (choose intensity)\nSlowly, steadily, smoothly, gradually, fluidly\nRapidly, dynamically, swiftly\nElegantly, dramatically, confidently\n\n4. FOCUS BEHAVIOR\nSharp focus throughout\nRack focus from [A] to [B]\nMaintains focus on [element]\nShallow depth of field\nDeep focus\nProgressive focus shift\n\n5. BACKGROUND BEHAVIOR\nStays consistent\nBlurs to bokeh\nSharpens into view\nFades to [color]\nRemains sharp throughout\n\n6. TECHNICAL SPECS (standard cinematic quality)\nCinematic depth of field\nStable gimbal/dolly movement\nProfessional commercial grade\n24fps (or 30fps, 60fps for slow-motion feel)\nClean sensor, no grain (or \"film grain\" if desired)\n\n\nExample Prompts by Movement Type\n\nDOLLY-IN (Wide → Close-up)\nSmooth camera dolly-in from wide establishing shot to extreme close-up. Subject remains stationary. Camera pushes forward steadily, transitioning focus from [background element] to [detail]. Lighting stays constant, background softly blurs to bokeh. Cinematic depth of field, stable gimbal movement\n\nDOLLY-OUT (Close-up → Wide)\nSmooth camera pull-back from extreme close-up to wide establishing shot. Subject remains centered and stationary. Camera retreats steadily, revealing environment progressively. Focus maintains on subject while background sharpens into view. Even lighting, cinematic depth of field\n\nORBIT (Circular movement)\nSmooth camera orbit from front view to side profile. Subject remains stationary at center. Camera arcs left fluidly in 90-degree rotation, maintaining constant distance and eye-level angle. Lighting stays consistent, sharp focus throughout. Gimbal stabilized circular tracking\n\nTILT (Vertical angle change)\nSmooth camera tilt from low-angle to high-angle. Subject remains stationary. Camera tilts upward gradually, shifting perspective from worm's eye view to bird's eye view. Distance stays constant, lighting consistent. Stable tripod tilt, cinematic framing\n\nPAN (Horizontal swivel)\nSmooth camera pan from left profile to right profile. Subject remains stationary. Camera swivels horizontally across 180 degrees, maintaining constant distance and eye-level. Sharp focus throughout, even lighting. Fluid tripod pan\n\nCRANE UP/DOWN\nSmooth camera crane from ground-level to overhead view. Subject remains stationary at center. Camera elevates vertically, angle shifting from eye-level to bird's eye view. Distance adjusts proportionally, lighting consistent. Stabilized crane movement\n\nKey Rules for Camera-Only Transitions\n\nAlways specify subject remains stationary - This prevents unwanted morphing\nDescribe start AND end positions clearly - Gives model clear targets\nUse specific movement verbs - \"Dolly-in\" is clearer than \"moves closer\"\nLock down what DOESN'T change - Lighting, subject, clothing, expression\nInclude technical quality markers - Gimbal, cinematic, stable\nNegative prompts are critical - Prevents warping/morphing/distortion\nKeep prompts under 75 words - Model weights early words heavier\nOne primary movement per transition - Don't combine dolly + pan + tilt\n\nAdvanced Techniques\n\nSpeed Ramping:\n\"Camera begins slow dolly-in, accelerates midway, then decelerates smoothly into final close-up\"\n\nCombined Movements (use sparingly):\n\"Camera dollies in while simultaneously tilting down, maintaining subject center-frame\"\n\nFocus Pulls:\n\"Rack focus from foreground [element] to background [element] as camera remains locked\"\n\nLens Simulation:\n\"Wide-angle 24mm distortion gradually compresses to telephoto 85mm compression\"\n\n\nCritical Output Rule\n\nOUTPUT ONLY THE PROMPT. LIMIT THE OUTPUT TO 500 CHARACTERS. NO EXPLANATIONS. NO COMMENTARY. NO ADDITIONAL TEXT.",
              "gemini-3-1-flash-lite",
              2,
              "fixed",
              ""
            ]
          },
          {
            "bgcolor": "#653",
            "color": "#432",
            "flags": {},
            "id": 343,
            "inputs": [
              {
                "link": 282,
                "localized_name": "first_frame",
                "name": "first_frame",
                "type": "IMAGE"
              },
              {
                "link": 283,
                "localized_name": "end_frame",
                "name": "end_frame",
                "type": "IMAGE"
              },
              {
                "link": 284,
                "localized_name": "prompt",
                "name": "prompt",
                "type": "STRING",
                "widget": {
                  "name": "prompt"
                }
              },
              {
                "link": 285,
                "localized_name": "duration",
                "name": "duration",
                "type": "INT",
                "widget": {
                  "name": "duration"
                }
              },
              {
                "link": 286,
                "localized_name": "resolution",
                "name": "model.resolution",
                "type": "COMBO",
                "widget": {
                  "name": "model.resolution"
                }
              },
              {
                "label": "video2_seed",
                "link": null,
                "localized_name": "seed",
                "name": "seed",
                "type": "INT",
                "widget": {
                  "name": "seed"
                }
              }
            ],
            "mode": 0,
            "order": 4,
            "outputs": [
              {
                "links": [
                  293
                ],
                "localized_name": "VIDEO",
                "name": "VIDEO",
                "type": "VIDEO"
              }
            ],
            "pos": [
              7850,
              670
            ],
            "properties": {
              "Node name for S&R": "KlingFirstLastFrameNode"
            },
            "size": [
              340,
              260
            ],
            "type": "KlingFirstLastFrameNode",
            "widgets_values": [
              "",
              3,
              false,
              "kling-v3",
              "1080p",
              2,
              "fixed"
            ]
          },
          {
            "flags": {
              "collapsed": true
            },
            "id": 387,
            "inputs": [
              {
                "label": "image0",
                "link": 324,
                "localized_name": "images.image0",
                "name": "images.image0",
                "type": "IMAGE"
              },
              {
                "label": "image1",
                "link": 325,
                "localized_name": "images.image1",
                "name": "images.image1",
                "type": "IMAGE"
              },
              {
                "label": "image2",
                "link": null,
                "localized_name": "images.image2",
                "name": "images.image2",
                "shape": 7,
                "type": "IMAGE"
              }
            ],
            "mode": 0,
            "order": 5,
            "outputs": [
              {
                "links": [
                  326
                ],
                "localized_name": "IMAGE",
                "name": "IMAGE",
                "type": "IMAGE"
              }
            ],
            "pos": [
              7620,
              480
            ],
            "properties": {
              "Node name for S&R": "BatchImagesNode"
            },
            "size": [
              200,
              90
            ],
            "type": "BatchImagesNode",
            "widgets_values": []
          }
        ],
        "outputNode": {
          "bounding": [
            8580,
            370,
            100,
            50
          ],
          "id": -20
        },
        "outputs": [
          {
            "id": "1c5be8c2-bbd0-4ba7-81d9-37d933627747",
            "linkIds": [
              293
            ],
            "localized_name": "VIDEO",
            "name": "VIDEO",
            "pos": [
              10320,
              470
            ],
            "type": "VIDEO"
          }
        ],
        "revision": 0,
        "state": {
          "lastGroupId": 0,
          "lastLinkId": 357,
          "lastNodeId": 395,
          "lastRerouteId": 0
        },
        "version": 1,
        "widgets": []
      },
      {
        "config": {},
        "extra": {
          "workflowRendererVersion": "Vue-corrected"
        },
        "groups": [],
        "id": "3426003b-7b3a-4d37-8a2f-e0f8adb05712",
        "inputNode": {
          "bounding": [
            7370,
            380,
            120,
            90
          ],
          "id": -10
        },
        "inputs": [
          {
            "id": "4a1c561e-96cb-4862-ba72-d77d3725dbb2",
            "linkIds": [
              127,
              125
            ],
            "localized_name": "image",
            "name": "image",
            "pos": [
              8960.376953125,
              478
            ],
            "type": "IMAGE"
          },
          {
            "id": "a6622b84-27c2-4a79-b375-69c30fe2e457",
            "linkIds": [
              285
            ],
            "name": "duration",
            "pos": [
              8960.376953125,
              498
            ],
            "type": "INT"
          },
          {
            "id": "344409ea-aa17-46c2-8b7d-c7b10cf980ad",
            "linkIds": [
              286
            ],
            "name": "model.resolution",
            "pos": [
              8960.376953125,
              518
            ],
            "type": "COMBO"
          }
        ],
        "links": [
          {
            "id": 203,
            "origin_id": 350,
            "origin_slot": 0,
            "target_id": 346,
            "target_slot": 0,
            "type": "*"
          },
          {
            "id": 127,
            "origin_id": -10,
            "origin_slot": 0,
            "target_id": 349,
            "target_slot": 0,
            "type": "IMAGE"
          },
          {
            "id": 125,
            "origin_id": -10,
            "origin_slot": 0,
            "target_id": 348,
            "target_slot": 0,
            "type": "IMAGE"
          },
          {
            "id": 282,
            "origin_id": 348,
            "origin_slot": 0,
            "target_id": 351,
            "target_slot": 0,
            "type": "IMAGE"
          },
          {
            "id": 283,
            "origin_id": 349,
            "origin_slot": 0,
            "target_id": 351,
            "target_slot": 1,
            "type": "IMAGE"
          },
          {
            "id": 284,
            "origin_id": 350,
            "origin_slot": 0,
            "target_id": 351,
            "target_slot": 2,
            "type": "STRING"
          },
          {
            "id": 285,
            "origin_id": -10,
            "origin_slot": 1,
            "target_id": 351,
            "target_slot": 3,
            "type": "INT"
          },
          {
            "id": 286,
            "origin_id": -10,
            "origin_slot": 2,
            "target_id": 351,
            "target_slot": 4,
            "type": "COMBO"
          },
          {
            "id": 293,
            "origin_id": 351,
            "origin_slot": 0,
            "target_id": -20,
            "target_slot": 0,
            "type": "VIDEO"
          },
          {
            "id": 327,
            "origin_id": 348,
            "origin_slot": 0,
            "target_id": 388,
            "target_slot": 0,
            "type": "IMAGE"
          },
          {
            "id": 328,
            "origin_id": 349,
            "origin_slot": 0,
            "target_id": 388,
            "target_slot": 1,
            "type": "IMAGE"
          },
          {
            "id": 329,
            "origin_id": 388,
            "origin_slot": 0,
            "target_id": 350,
            "target_slot": 0,
            "type": "IMAGE"
          }
        ],
        "name": "Generate Video 3",
        "nodes": [
          {
            "flags": {},
            "id": 346,
            "inputs": [
              {
                "link": 203,
                "localized_name": "source",
                "name": "source",
                "type": "*"
              }
            ],
            "mode": 0,
            "order": 0,
            "outputs": [],
            "pos": [
              8220,
              -80
            ],
            "properties": {
              "Node name for S&R": "PreviewAny",
              "cnr_id": "comfy-core",
              "ver": "0.3.76"
            },
            "size": [
              280,
              440
            ],
            "title": "Preview Prompt",
            "type": "PreviewAny",
            "widgets_values": [
              null,
              null,
              null
            ]
          },
          {
            "flags": {},
            "id": 348,
            "inputs": [
              {
                "link": 125,
                "localized_name": "image",
                "name": "image",
                "type": "IMAGE"
              }
            ],
            "mode": 0,
            "order": 1,
            "outputs": [
              {
                "links": [
                  282,
                  327
                ],
                "localized_name": "IMAGE",
                "name": "IMAGE",
                "type": "IMAGE"
              }
            ],
            "pos": [
              7550,
              660
            ],
            "properties": {
              "Node name for S&R": "ImageFromBatch",
              "cnr_id": "comfy-core",
              "ver": "0.3.76"
            },
            "size": [
              280,
              100
            ],
            "type": "ImageFromBatch",
            "widgets_values": [
              2,
              1
            ]
          },
          {
            "flags": {},
            "id": 349,
            "inputs": [
              {
                "link": 127,
                "localized_name": "image",
                "name": "image",
                "type": "IMAGE"
              }
            ],
            "mode": 0,
            "order": 2,
            "outputs": [
              {
                "links": [
                  283,
                  328
                ],
                "localized_name": "IMAGE",
                "name": "IMAGE",
                "type": "IMAGE"
              }
            ],
            "pos": [
              7550,
              850
            ],
            "properties": {
              "Node name for S&R": "ImageFromBatch",
              "cnr_id": "comfy-core",
              "ver": "0.3.76"
            },
            "size": [
              280,
              100
            ],
            "type": "ImageFromBatch",
            "widgets_values": [
              3,
              1
            ]
          },
          {
            "bgcolor": "#653",
            "color": "#432",
            "flags": {},
            "id": 350,
            "inputs": [
              {
                "link": 329,
                "localized_name": "images",
                "name": "images",
                "shape": 7,
                "type": "IMAGE"
              },
              {
                "link": null,
                "localized_name": "audio",
                "name": "audio",
                "shape": 7,
                "type": "AUDIO"
              },
              {
                "link": null,
                "localized_name": "video",
                "name": "video",
                "shape": 7,
                "type": "VIDEO"
              },
              {
                "link": null,
                "localized_name": "files",
                "name": "files",
                "shape": 7,
                "type": "GEMINI_INPUT_FILES"
              }
            ],
            "mode": 0,
            "order": 3,
            "outputs": [
              {
                "links": [
                  203,
                  284
                ],
                "localized_name": "STRING",
                "name": "STRING",
                "type": "STRING"
              }
            ],
            "pos": [
              7850,
              -80
            ],
            "properties": {
              "Node name for S&R": "GeminiNode",
              "cnr_id": "comfy-core",
              "ver": "0.3.76"
            },
            "size": [
              340,
              670
            ],
            "type": "GeminiNode",
            "widgets_values": [
              "STEP 1: ANALYZE BOTH IMAGES\nBefore crafting the prompt, analyze both images to understand:\n\n\nCamera distance (wide shot, medium, close-up, extreme close-up, macro)\nCamera angle (low-angle, high-angle, eye-level, overhead, Dutch, worm's eye, bird's eye)\nCamera position relative to subject (front, side profile, 3/4 view, back, overhead)\nFraming (full body, torso, chest-up, face only, detail/macro)\nSubject position and pose\nLighting setup and direction\nBackground elements and depth\nFocal length characteristics (wide-angle distortion vs telephoto compression)\n\nSTEP 2: DETERMINE CAMERA MOVEMENT\nBased on the differences between images, identify the primary camera movement:\n\n\nDistance change: Dolly-in (closer) or Dolly-out (farther)\nVertical angle change: Tilt up/down or Crane up/down\nHorizontal angle change: Pan left/right or Orbit/Arc around subject\nHeight change: Crane/Pedestal up or down\nLateral movement: Truck/Track left or right\n\nSTEP 3: OUTPUT ONLY THE PROMPT\nDo not include explanations, commentary, or additional text.\nOutput ONLY the transition prompt in this format:\n\n\n[CAMERA MOVEMENT] from [START POSITION] to [END POSITION]. Subject remains stationary and consistent throughout. Camera [MOVEMENT VERB] fluidly, maintaining [FOCUS BEHAVIOR] on [KEY ELEMENT]. Lighting stays constant, background [BACKGROUND BEHAVIOR]. [TECHNICAL SPECS].\n\nCore Principle\n\nFor transitions where the subject/scene remains consistent and only the camera position changes, use this structured approach to ensure smooth, cinematic results.\n\n\nPrompt Structure Template\n\n[CAMERA MOVEMENT] from [START POSITION] to [END POSITION]. Subject remains stationary and consistent throughout. Camera [MOVEMENT VERB] fluidly, maintaining [FOCUS BEHAVIOR] on [KEY ELEMENT]. Lighting stays constant, background [BACKGROUND BEHAVIOR]. [TECHNICAL SPECS].\n\nComponent Breakdown\n\n1. CAMERA MOVEMENT TYPES\nDolly-in/Push-in: Camera moves forward toward subject\nDolly-out/Pull-back: Camera moves backward away from subject\nOrbit/Arc: Camera circles around subject (specify left/right)\nTilt: Camera angles up or down on fixed position\nPan: Camera swivels left or right horizontally\nCrane/Pedestal: Camera moves vertically up or down\nTracking/Trucking: Camera moves parallel to subject\n\n2. POSITION DESCRIPTORS\nDistance: wide shot, medium shot, close-up, extreme close-up, macro\nAngle: low-angle, high-angle, eye-level, overhead, Dutch angle, worm's eye view, bird's eye view\nFraming: full body, three-quarter, torso, chest-up, face, detail\n\n3. MOVEMENT VERBS (choose intensity)\nSlowly, steadily, smoothly, gradually, fluidly\nRapidly, dynamically, swiftly\nElegantly, dramatically, confidently\n\n4. FOCUS BEHAVIOR\nSharp focus throughout\nRack focus from [A] to [B]\nMaintains focus on [element]\nShallow depth of field\nDeep focus\nProgressive focus shift\n\n5. BACKGROUND BEHAVIOR\nStays consistent\nBlurs to bokeh\nSharpens into view\nFades to [color]\nRemains sharp throughout\n\n6. TECHNICAL SPECS (standard cinematic quality)\nCinematic depth of field\nStable gimbal/dolly movement\nProfessional commercial grade\n24fps (or 30fps, 60fps for slow-motion feel)\nClean sensor, no grain (or \"film grain\" if desired)\n\n\nExample Prompts by Movement Type\n\nDOLLY-IN (Wide → Close-up)\nSmooth camera dolly-in from wide establishing shot to extreme close-up. Subject remains stationary. Camera pushes forward steadily, transitioning focus from [background element] to [detail]. Lighting stays constant, background softly blurs to bokeh. Cinematic depth of field, stable gimbal movement\n\nDOLLY-OUT (Close-up → Wide)\nSmooth camera pull-back from extreme close-up to wide establishing shot. Subject remains centered and stationary. Camera retreats steadily, revealing environment progressively. Focus maintains on subject while background sharpens into view. Even lighting, cinematic depth of field\n\nORBIT (Circular movement)\nSmooth camera orbit from front view to side profile. Subject remains stationary at center. Camera arcs left fluidly in 90-degree rotation, maintaining constant distance and eye-level angle. Lighting stays consistent, sharp focus throughout. Gimbal stabilized circular tracking\n\nTILT (Vertical angle change)\nSmooth camera tilt from low-angle to high-angle. Subject remains stationary. Camera tilts upward gradually, shifting perspective from worm's eye view to bird's eye view. Distance stays constant, lighting consistent. Stable tripod tilt, cinematic framing\n\nPAN (Horizontal swivel)\nSmooth camera pan from left profile to right profile. Subject remains stationary. Camera swivels horizontally across 180 degrees, maintaining constant distance and eye-level. Sharp focus throughout, even lighting. Fluid tripod pan\n\nCRANE UP/DOWN\nSmooth camera crane from ground-level to overhead view. Subject remains stationary at center. Camera elevates vertically, angle shifting from eye-level to bird's eye view. Distance adjusts proportionally, lighting consistent. Stabilized crane movement\n\nKey Rules for Camera-Only Transitions\n\nAlways specify subject remains stationary - This prevents unwanted morphing\nDescribe start AND end positions clearly - Gives model clear targets\nUse specific movement verbs - \"Dolly-in\" is clearer than \"moves closer\"\nLock down what DOESN'T change - Lighting, subject, clothing, expression\nInclude technical quality markers - Gimbal, cinematic, stable\nNegative prompts are critical - Prevents warping/morphing/distortion\nKeep prompts under 75 words - Model weights early words heavier\nOne primary movement per transition - Don't combine dolly + pan + tilt\n\nAdvanced Techniques\n\nSpeed Ramping:\n\"Camera begins slow dolly-in, accelerates midway, then decelerates smoothly into final close-up\"\n\nCombined Movements (use sparingly):\n\"Camera dollies in while simultaneously tilting down, maintaining subject center-frame\"\n\nFocus Pulls:\n\"Rack focus from foreground [element] to background [element] as camera remains locked\"\n\nLens Simulation:\n\"Wide-angle 24mm distortion gradually compresses to telephoto 85mm compression\"\n\n\nCritical Output Rule\n\nOUTPUT ONLY THE PROMPT. LIMIT THE OUTPUT TO 500 CHARACTERS. NO EXPLANATIONS. NO COMMENTARY. NO ADDITIONAL TEXT.",
              "gemini-3-1-flash-lite",
              3,
              "fixed",
              ""
            ]
          },
          {
            "bgcolor": "#653",
            "color": "#432",
            "flags": {},
            "id": 351,
            "inputs": [
              {
                "link": 282,
                "localized_name": "first_frame",
                "name": "first_frame",
                "type": "IMAGE"
              },
              {
                "link": 283,
                "localized_name": "end_frame",
                "name": "end_frame",
                "type": "IMAGE"
              },
              {
                "link": 284,
                "localized_name": "prompt",
                "name": "prompt",
                "type": "STRING",
                "widget": {
                  "name": "prompt"
                }
              },
              {
                "link": 285,
                "localized_name": "duration",
                "name": "duration",
                "type": "INT",
                "widget": {
                  "name": "duration"
                }
              },
              {
                "link": 286,
                "localized_name": "resolution",
                "name": "model.resolution",
                "type": "COMBO",
                "widget": {
                  "name": "model.resolution"
                }
              },
              {
                "label": "video3_seed",
                "link": null,
                "localized_name": "seed",
                "name": "seed",
                "type": "INT",
                "widget": {
                  "name": "seed"
                }
              }
            ],
            "mode": 0,
            "order": 4,
            "outputs": [
              {
                "links": [
                  293
                ],
                "localized_name": "VIDEO",
                "name": "VIDEO",
                "type": "VIDEO"
              }
            ],
            "pos": [
              7850,
              670
            ],
            "properties": {
              "Node name for S&R": "KlingFirstLastFrameNode"
            },
            "size": [
              340,
              260
            ],
            "type": "KlingFirstLastFrameNode",
            "widgets_values": [
              "",
              3,
              false,
              "kling-v3",
              "1080p",
              3,
              "fixed"
            ]
          },
          {
            "flags": {
              "collapsed": true
            },
            "id": 388,
            "inputs": [
              {
                "label": "image0",
                "link": 327,
                "localized_name": "images.image0",
                "name": "images.image0",
                "type": "IMAGE"
              },
              {
                "label": "image1",
                "link": 328,
                "localized_name": "images.image1",
                "name": "images.image1",
                "type": "IMAGE"
              },
              {
                "label": "image2",
                "link": null,
                "localized_name": "images.image2",
                "name": "images.image2",
                "shape": 7,
                "type": "IMAGE"
              }
            ],
            "mode": 0,
            "order": 5,
            "outputs": [
              {
                "links": [
                  329
                ],
                "localized_name": "IMAGE",
                "name": "IMAGE",
                "type": "IMAGE"
              }
            ],
            "pos": [
              7630,
              500
            ],
            "properties": {
              "Node name for S&R": "BatchImagesNode"
            },
            "size": [
              200,
              90
            ],
            "type": "BatchImagesNode",
            "widgets_values": []
          }
        ],
        "outputNode": {
          "bounding": [
            8580,
            370,
            100,
            50
          ],
          "id": -20
        },
        "outputs": [
          {
            "id": "1c5be8c2-bbd0-4ba7-81d9-37d933627747",
            "linkIds": [
              293
            ],
            "localized_name": "VIDEO",
            "name": "VIDEO",
            "pos": [
              10320,
              470
            ],
            "type": "VIDEO"
          }
        ],
        "revision": 0,
        "state": {
          "lastGroupId": 0,
          "lastLinkId": 357,
          "lastNodeId": 395,
          "lastRerouteId": 0
        },
        "version": 1,
        "widgets": []
      },
      {
        "config": {},
        "extra": {
          "workflowRendererVersion": "Vue-corrected"
        },
        "groups": [],
        "id": "c61d617f-c72d-4f4c-8659-bd6f884d1a1e",
        "inputNode": {
          "bounding": [
            7370,
            380,
            120,
            90
          ],
          "id": -10
        },
        "inputs": [
          {
            "id": "4a1c561e-96cb-4862-ba72-d77d3725dbb2",
            "linkIds": [
              127,
              125
            ],
            "localized_name": "image",
            "name": "image",
            "pos": [
              8960.376953125,
              478
            ],
            "type": "IMAGE"
          },
          {
            "id": "a6622b84-27c2-4a79-b375-69c30fe2e457",
            "linkIds": [
              285
            ],
            "name": "duration",
            "pos": [
              8960.376953125,
              498
            ],
            "type": "INT"
          },
          {
            "id": "344409ea-aa17-46c2-8b7d-c7b10cf980ad",
            "linkIds": [
              286
            ],
            "name": "model.resolution",
            "pos": [
              8960.376953125,
              518
            ],
            "type": "COMBO"
          }
        ],
        "links": [
          {
            "id": 203,
            "origin_id": 358,
            "origin_slot": 0,
            "target_id": 354,
            "target_slot": 0,
            "type": "*"
          },
          {
            "id": 127,
            "origin_id": -10,
            "origin_slot": 0,
            "target_id": 357,
            "target_slot": 0,
            "type": "IMAGE"
          },
          {
            "id": 125,
            "origin_id": -10,
            "origin_slot": 0,
            "target_id": 356,
            "target_slot": 0,
            "type": "IMAGE"
          },
          {
            "id": 282,
            "origin_id": 356,
            "origin_slot": 0,
            "target_id": 359,
            "target_slot": 0,
            "type": "IMAGE"
          },
          {
            "id": 283,
            "origin_id": 357,
            "origin_slot": 0,
            "target_id": 359,
            "target_slot": 1,
            "type": "IMAGE"
          },
          {
            "id": 284,
            "origin_id": 358,
            "origin_slot": 0,
            "target_id": 359,
            "target_slot": 2,
            "type": "STRING"
          },
          {
            "id": 285,
            "origin_id": -10,
            "origin_slot": 1,
            "target_id": 359,
            "target_slot": 3,
            "type": "INT"
          },
          {
            "id": 286,
            "origin_id": -10,
            "origin_slot": 2,
            "target_id": 359,
            "target_slot": 4,
            "type": "COMBO"
          },
          {
            "id": 293,
            "origin_id": 359,
            "origin_slot": 0,
            "target_id": -20,
            "target_slot": 0,
            "type": "VIDEO"
          },
          {
            "id": 330,
            "origin_id": 356,
            "origin_slot": 0,
            "target_id": 389,
            "target_slot": 0,
            "type": "IMAGE"
          },
          {
            "id": 331,
            "origin_id": 357,
            "origin_slot": 0,
            "target_id": 389,
            "target_slot": 1,
            "type": "IMAGE"
          },
          {
            "id": 332,
            "origin_id": 389,
            "origin_slot": 0,
            "target_id": 358,
            "target_slot": 0,
            "type": "IMAGE"
          }
        ],
        "name": "Generate Video 4",
        "nodes": [
          {
            "flags": {},
            "id": 354,
            "inputs": [
              {
                "link": 203,
                "localized_name": "source",
                "name": "source",
                "type": "*"
              }
            ],
            "mode": 0,
            "order": 0,
            "outputs": [],
            "pos": [
              8220,
              -80
            ],
            "properties": {
              "Node name for S&R": "PreviewAny",
              "cnr_id": "comfy-core",
              "ver": "0.3.76"
            },
            "size": [
              280,
              440
            ],
            "title": "Preview Prompt",
            "type": "PreviewAny",
            "widgets_values": [
              null,
              null,
              null
            ]
          },
          {
            "flags": {},
            "id": 356,
            "inputs": [
              {
                "link": 125,
                "localized_name": "image",
                "name": "image",
                "type": "IMAGE"
              }
            ],
            "mode": 0,
            "order": 1,
            "outputs": [
              {
                "links": [
                  282,
                  330
                ],
                "localized_name": "IMAGE",
                "name": "IMAGE",
                "type": "IMAGE"
              }
            ],
            "pos": [
              7550,
              660
            ],
            "properties": {
              "Node name for S&R": "ImageFromBatch",
              "cnr_id": "comfy-core",
              "ver": "0.3.76"
            },
            "size": [
              280,
              100
            ],
            "type": "ImageFromBatch",
            "widgets_values": [
              3,
              1
            ]
          },
          {
            "flags": {},
            "id": 357,
            "inputs": [
              {
                "link": 127,
                "localized_name": "image",
                "name": "image",
                "type": "IMAGE"
              }
            ],
            "mode": 0,
            "order": 2,
            "outputs": [
              {
                "links": [
                  283,
                  331
                ],
                "localized_name": "IMAGE",
                "name": "IMAGE",
                "type": "IMAGE"
              }
            ],
            "pos": [
              7550,
              850
            ],
            "properties": {
              "Node name for S&R": "ImageFromBatch",
              "cnr_id": "comfy-core",
              "ver": "0.3.76"
            },
            "size": [
              280,
              100
            ],
            "type": "ImageFromBatch",
            "widgets_values": [
              4,
              1
            ]
          },
          {
            "bgcolor": "#653",
            "color": "#432",
            "flags": {},
            "id": 358,
            "inputs": [
              {
                "link": 332,
                "localized_name": "images",
                "name": "images",
                "shape": 7,
                "type": "IMAGE"
              },
              {
                "link": null,
                "localized_name": "audio",
                "name": "audio",
                "shape": 7,
                "type": "AUDIO"
              },
              {
                "link": null,
                "localized_name": "video",
                "name": "video",
                "shape": 7,
                "type": "VIDEO"
              },
              {
                "link": null,
                "localized_name": "files",
                "name": "files",
                "shape": 7,
                "type": "GEMINI_INPUT_FILES"
              }
            ],
            "mode": 0,
            "order": 3,
            "outputs": [
              {
                "links": [
                  203,
                  284
                ],
                "localized_name": "STRING",
                "name": "STRING",
                "type": "STRING"
              }
            ],
            "pos": [
              7850,
              -80
            ],
            "properties": {
              "Node name for S&R": "GeminiNode",
              "cnr_id": "comfy-core",
              "ver": "0.3.76"
            },
            "size": [
              340,
              670
            ],
            "type": "GeminiNode",
            "widgets_values": [
              "STEP 1: ANALYZE BOTH IMAGES\nBefore crafting the prompt, analyze both images to understand:\n\n\nCamera distance (wide shot, medium, close-up, extreme close-up, macro)\nCamera angle (low-angle, high-angle, eye-level, overhead, Dutch, worm's eye, bird's eye)\nCamera position relative to subject (front, side profile, 3/4 view, back, overhead)\nFraming (full body, torso, chest-up, face only, detail/macro)\nSubject position and pose\nLighting setup and direction\nBackground elements and depth\nFocal length characteristics (wide-angle distortion vs telephoto compression)\n\nSTEP 2: DETERMINE CAMERA MOVEMENT\nBased on the differences between images, identify the primary camera movement:\n\n\nDistance change: Dolly-in (closer) or Dolly-out (farther)\nVertical angle change: Tilt up/down or Crane up/down\nHorizontal angle change: Pan left/right or Orbit/Arc around subject\nHeight change: Crane/Pedestal up or down\nLateral movement: Truck/Track left or right\n\nSTEP 3: OUTPUT ONLY THE PROMPT\nDo not include explanations, commentary, or additional text.\nOutput ONLY the transition prompt in this format:\n\n\n[CAMERA MOVEMENT] from [START POSITION] to [END POSITION]. Subject remains stationary and consistent throughout. Camera [MOVEMENT VERB] fluidly, maintaining [FOCUS BEHAVIOR] on [KEY ELEMENT]. Lighting stays constant, background [BACKGROUND BEHAVIOR]. [TECHNICAL SPECS].\n\nCore Principle\n\nFor transitions where the subject/scene remains consistent and only the camera position changes, use this structured approach to ensure smooth, cinematic results.\n\n\nPrompt Structure Template\n\n[CAMERA MOVEMENT] from [START POSITION] to [END POSITION]. Subject remains stationary and consistent throughout. Camera [MOVEMENT VERB] fluidly, maintaining [FOCUS BEHAVIOR] on [KEY ELEMENT]. Lighting stays constant, background [BACKGROUND BEHAVIOR]. [TECHNICAL SPECS].\n\nComponent Breakdown\n\n1. CAMERA MOVEMENT TYPES\nDolly-in/Push-in: Camera moves forward toward subject\nDolly-out/Pull-back: Camera moves backward away from subject\nOrbit/Arc: Camera circles around subject (specify left/right)\nTilt: Camera angles up or down on fixed position\nPan: Camera swivels left or right horizontally\nCrane/Pedestal: Camera moves vertically up or down\nTracking/Trucking: Camera moves parallel to subject\n\n2. POSITION DESCRIPTORS\nDistance: wide shot, medium shot, close-up, extreme close-up, macro\nAngle: low-angle, high-angle, eye-level, overhead, Dutch angle, worm's eye view, bird's eye view\nFraming: full body, three-quarter, torso, chest-up, face, detail\n\n3. MOVEMENT VERBS (choose intensity)\nSlowly, steadily, smoothly, gradually, fluidly\nRapidly, dynamically, swiftly\nElegantly, dramatically, confidently\n\n4. FOCUS BEHAVIOR\nSharp focus throughout\nRack focus from [A] to [B]\nMaintains focus on [element]\nShallow depth of field\nDeep focus\nProgressive focus shift\n\n5. BACKGROUND BEHAVIOR\nStays consistent\nBlurs to bokeh\nSharpens into view\nFades to [color]\nRemains sharp throughout\n\n6. TECHNICAL SPECS (standard cinematic quality)\nCinematic depth of field\nStable gimbal/dolly movement\nProfessional commercial grade\n24fps (or 30fps, 60fps for slow-motion feel)\nClean sensor, no grain (or \"film grain\" if desired)\n\n\nExample Prompts by Movement Type\n\nDOLLY-IN (Wide → Close-up)\nSmooth camera dolly-in from wide establishing shot to extreme close-up. Subject remains stationary. Camera pushes forward steadily, transitioning focus from [background element] to [detail]. Lighting stays constant, background softly blurs to bokeh. Cinematic depth of field, stable gimbal movement\n\nDOLLY-OUT (Close-up → Wide)\nSmooth camera pull-back from extreme close-up to wide establishing shot. Subject remains centered and stationary. Camera retreats steadily, revealing environment progressively. Focus maintains on subject while background sharpens into view. Even lighting, cinematic depth of field\n\nORBIT (Circular movement)\nSmooth camera orbit from front view to side profile. Subject remains stationary at center. Camera arcs left fluidly in 90-degree rotation, maintaining constant distance and eye-level angle. Lighting stays consistent, sharp focus throughout. Gimbal stabilized circular tracking\n\nTILT (Vertical angle change)\nSmooth camera tilt from low-angle to high-angle. Subject remains stationary. Camera tilts upward gradually, shifting perspective from worm's eye view to bird's eye view. Distance stays constant, lighting consistent. Stable tripod tilt, cinematic framing\n\nPAN (Horizontal swivel)\nSmooth camera pan from left profile to right profile. Subject remains stationary. Camera swivels horizontally across 180 degrees, maintaining constant distance and eye-level. Sharp focus throughout, even lighting. Fluid tripod pan\n\nCRANE UP/DOWN\nSmooth camera crane from ground-level to overhead view. Subject remains stationary at center. Camera elevates vertically, angle shifting from eye-level to bird's eye view. Distance adjusts proportionally, lighting consistent. Stabilized crane movement\n\nKey Rules for Camera-Only Transitions\n\nAlways specify subject remains stationary - This prevents unwanted morphing\nDescribe start AND end positions clearly - Gives model clear targets\nUse specific movement verbs - \"Dolly-in\" is clearer than \"moves closer\"\nLock down what DOESN'T change - Lighting, subject, clothing, expression\nInclude technical quality markers - Gimbal, cinematic, stable\nNegative prompts are critical - Prevents warping/morphing/distortion\nKeep prompts under 75 words - Model weights early words heavier\nOne primary movement per transition - Don't combine dolly + pan + tilt\n\nAdvanced Techniques\n\nSpeed Ramping:\n\"Camera begins slow dolly-in, accelerates midway, then decelerates smoothly into final close-up\"\n\nCombined Movements (use sparingly):\n\"Camera dollies in while simultaneously tilting down, maintaining subject center-frame\"\n\nFocus Pulls:\n\"Rack focus from foreground [element] to background [element] as camera remains locked\"\n\nLens Simulation:\n\"Wide-angle 24mm distortion gradually compresses to telephoto 85mm compression\"\n\n\nCritical Output Rule\n\nOUTPUT ONLY THE PROMPT. LIMIT THE OUTPUT TO 500 CHARACTERS. NO EXPLANATIONS. NO COMMENTARY. NO ADDITIONAL TEXT.",
              "gemini-3-1-flash-lite",
              4,
              "fixed",
              ""
            ]
          },
          {
            "bgcolor": "#653",
            "color": "#432",
            "flags": {},
            "id": 359,
            "inputs": [
              {
                "link": 282,
                "localized_name": "first_frame",
                "name": "first_frame",
                "type": "IMAGE"
              },
              {
                "link": 283,
                "localized_name": "end_frame",
                "name": "end_frame",
                "type": "IMAGE"
              },
              {
                "link": 284,
                "localized_name": "prompt",
                "name": "prompt",
                "type": "STRING",
                "widget": {
                  "name": "prompt"
                }
              },
              {
                "link": 285,
                "localized_name": "duration",
                "name": "duration",
                "type": "INT",
                "widget": {
                  "name": "duration"
                }
              },
              {
                "link": 286,
                "localized_name": "resolution",
                "name": "model.resolution",
                "type": "COMBO",
                "widget": {
                  "name": "model.resolution"
                }
              },
              {
                "label": "video4_seed",
                "link": null,
                "localized_name": "seed",
                "name": "seed",
                "type": "INT",
                "widget": {
                  "name": "seed"
                }
              }
            ],
            "mode": 0,
            "order": 4,
            "outputs": [
              {
                "links": [
                  293
                ],
                "localized_name": "VIDEO",
                "name": "VIDEO",
                "type": "VIDEO"
              }
            ],
            "pos": [
              7850,
              670
            ],
            "properties": {
              "Node name for S&R": "KlingFirstLastFrameNode"
            },
            "size": [
              340,
              260
            ],
            "type": "KlingFirstLastFrameNode",
            "widgets_values": [
              "",
              3,
              false,
              "kling-v3",
              "1080p",
              4,
              "fixed"
            ]
          },
          {
            "flags": {
              "collapsed": true
            },
            "id": 389,
            "inputs": [
              {
                "label": "image0",
                "link": 330,
                "localized_name": "images.image0",
                "name": "images.image0",
                "type": "IMAGE"
              },
              {
                "label": "image1",
                "link": 331,
                "localized_name": "images.image1",
                "name": "images.image1",
                "type": "IMAGE"
              },
              {
                "label": "image2",
                "link": null,
                "localized_name": "images.image2",
                "name": "images.image2",
                "shape": 7,
                "type": "IMAGE"
              }
            ],
            "mode": 0,
            "order": 5,
            "outputs": [
              {
                "links": [
                  332
                ],
                "localized_name": "IMAGE",
                "name": "IMAGE",
                "type": "IMAGE"
              }
            ],
            "pos": [
              7630,
              430
            ],
            "properties": {
              "Node name for S&R": "BatchImagesNode"
            },
            "size": [
              200,
              90
            ],
            "type": "BatchImagesNode",
            "widgets_values": []
          }
        ],
        "outputNode": {
          "bounding": [
            8580,
            370,
            100,
            50
          ],
          "id": -20
        },
        "outputs": [
          {
            "id": "1c5be8c2-bbd0-4ba7-81d9-37d933627747",
            "linkIds": [
              293
            ],
            "localized_name": "VIDEO",
            "name": "VIDEO",
            "pos": [
              10320,
              470
            ],
            "type": "VIDEO"
          }
        ],
        "revision": 0,
        "state": {
          "lastGroupId": 0,
          "lastLinkId": 357,
          "lastNodeId": 395,
          "lastRerouteId": 0
        },
        "version": 1,
        "widgets": []
      },
      {
        "config": {},
        "extra": {
          "workflowRendererVersion": "Vue-corrected"
        },
        "groups": [],
        "id": "4b301c11-bc16-4096-9441-e0648a04aa4d",
        "inputNode": {
          "bounding": [
            7370,
            380,
            120,
            90
          ],
          "id": -10
        },
        "inputs": [
          {
            "id": "4a1c561e-96cb-4862-ba72-d77d3725dbb2",
            "linkIds": [
              127,
              125
            ],
            "localized_name": "image",
            "name": "image",
            "pos": [
              8960.376953125,
              478
            ],
            "type": "IMAGE"
          },
          {
            "id": "a6622b84-27c2-4a79-b375-69c30fe2e457",
            "linkIds": [
              285
            ],
            "name": "duration",
            "pos": [
              8960.376953125,
              498
            ],
            "type": "INT"
          },
          {
            "id": "344409ea-aa17-46c2-8b7d-c7b10cf980ad",
            "linkIds": [
              286
            ],
            "name": "model.resolution",
            "pos": [
              8960.376953125,
              518
            ],
            "type": "COMBO"
          }
        ],
        "links": [
          {
            "id": 203,
            "origin_id": 366,
            "origin_slot": 0,
            "target_id": 362,
            "target_slot": 0,
            "type": "*"
          },
          {
            "id": 127,
            "origin_id": -10,
            "origin_slot": 0,
            "target_id": 365,
            "target_slot": 0,
            "type": "IMAGE"
          },
          {
            "id": 125,
            "origin_id": -10,
            "origin_slot": 0,
            "target_id": 364,
            "target_slot": 0,
            "type": "IMAGE"
          },
          {
            "id": 282,
            "origin_id": 364,
            "origin_slot": 0,
            "target_id": 367,
            "target_slot": 0,
            "type": "IMAGE"
          },
          {
            "id": 283,
            "origin_id": 365,
            "origin_slot": 0,
            "target_id": 367,
            "target_slot": 1,
            "type": "IMAGE"
          },
          {
            "id": 284,
            "origin_id": 366,
            "origin_slot": 0,
            "target_id": 367,
            "target_slot": 2,
            "type": "STRING"
          },
          {
            "id": 285,
            "origin_id": -10,
            "origin_slot": 1,
            "target_id": 367,
            "target_slot": 3,
            "type": "INT"
          },
          {
            "id": 286,
            "origin_id": -10,
            "origin_slot": 2,
            "target_id": 367,
            "target_slot": 4,
            "type": "COMBO"
          },
          {
            "id": 293,
            "origin_id": 367,
            "origin_slot": 0,
            "target_id": -20,
            "target_slot": 0,
            "type": "VIDEO"
          },
          {
            "id": 333,
            "origin_id": 390,
            "origin_slot": 0,
            "target_id": 366,
            "target_slot": 0,
            "type": "IMAGE"
          },
          {
            "id": 334,
            "origin_id": 364,
            "origin_slot": 0,
            "target_id": 390,
            "target_slot": 0,
            "type": "IMAGE"
          },
          {
            "id": 335,
            "origin_id": 365,
            "origin_slot": 0,
            "target_id": 390,
            "target_slot": 1,
            "type": "IMAGE"
          }
        ],
        "name": "Generate Video 5",
        "nodes": [
          {
            "flags": {},
            "id": 362,
            "inputs": [
              {
                "link": 203,
                "localized_name": "source",
                "name": "source",
                "type": "*"
              }
            ],
            "mode": 0,
            "order": 0,
            "outputs": [],
            "pos": [
              8220,
              -80
            ],
            "properties": {
              "Node name for S&R": "PreviewAny",
              "cnr_id": "comfy-core",
              "ver": "0.3.76"
            },
            "size": [
              280,
              440
            ],
            "title": "Preview Prompt",
            "type": "PreviewAny",
            "widgets_values": [
              null,
              null,
              null
            ]
          },
          {
            "flags": {},
            "id": 364,
            "inputs": [
              {
                "link": 125,
                "localized_name": "image",
                "name": "image",
                "type": "IMAGE"
              }
            ],
            "mode": 0,
            "order": 1,
            "outputs": [
              {
                "links": [
                  282,
                  334
                ],
                "localized_name": "IMAGE",
                "name": "IMAGE",
                "type": "IMAGE"
              }
            ],
            "pos": [
              7550,
              660
            ],
            "properties": {
              "Node name for S&R": "ImageFromBatch",
              "cnr_id": "comfy-core",
              "ver": "0.3.76"
            },
            "size": [
              280,
              100
            ],
            "type": "ImageFromBatch",
            "widgets_values": [
              4,
              1
            ]
          },
          {
            "flags": {},
            "id": 365,
            "inputs": [
              {
                "link": 127,
                "localized_name": "image",
                "name": "image",
                "type": "IMAGE"
              }
            ],
            "mode": 0,
            "order": 2,
            "outputs": [
              {
                "links": [
                  283,
                  335
                ],
                "localized_name": "IMAGE",
                "name": "IMAGE",
                "type": "IMAGE"
              }
            ],
            "pos": [
              7550,
              850
            ],
            "properties": {
              "Node name for S&R": "ImageFromBatch",
              "cnr_id": "comfy-core",
              "ver": "0.3.76"
            },
            "size": [
              280,
              100
            ],
            "type": "ImageFromBatch",
            "widgets_values": [
              5,
              1
            ]
          },
          {
            "bgcolor": "#653",
            "color": "#432",
            "flags": {},
            "id": 366,
            "inputs": [
              {
                "link": 333,
                "localized_name": "images",
                "name": "images",
                "shape": 7,
                "type": "IMAGE"
              },
              {
                "link": null,
                "localized_name": "audio",
                "name": "audio",
                "shape": 7,
                "type": "AUDIO"
              },
              {
                "link": null,
                "localized_name": "video",
                "name": "video",
                "shape": 7,
                "type": "VIDEO"
              },
              {
                "link": null,
                "localized_name": "files",
                "name": "files",
                "shape": 7,
                "type": "GEMINI_INPUT_FILES"
              }
            ],
            "mode": 0,
            "order": 3,
            "outputs": [
              {
                "links": [
                  203,
                  284
                ],
                "localized_name": "STRING",
                "name": "STRING",
                "type": "STRING"
              }
            ],
            "pos": [
              7850,
              -80
            ],
            "properties": {
              "Node name for S&R": "GeminiNode",
              "cnr_id": "comfy-core",
              "ver": "0.3.76"
            },
            "size": [
              340,
              670
            ],
            "type": "GeminiNode",
            "widgets_values": [
              "STEP 1: ANALYZE BOTH IMAGES\nBefore crafting the prompt, analyze both images to understand:\n\n\nCamera distance (wide shot, medium, close-up, extreme close-up, macro)\nCamera angle (low-angle, high-angle, eye-level, overhead, Dutch, worm's eye, bird's eye)\nCamera position relative to subject (front, side profile, 3/4 view, back, overhead)\nFraming (full body, torso, chest-up, face only, detail/macro)\nSubject position and pose\nLighting setup and direction\nBackground elements and depth\nFocal length characteristics (wide-angle distortion vs telephoto compression)\n\nSTEP 2: DETERMINE CAMERA MOVEMENT\nBased on the differences between images, identify the primary camera movement:\n\n\nDistance change: Dolly-in (closer) or Dolly-out (farther)\nVertical angle change: Tilt up/down or Crane up/down\nHorizontal angle change: Pan left/right or Orbit/Arc around subject\nHeight change: Crane/Pedestal up or down\nLateral movement: Truck/Track left or right\n\nSTEP 3: OUTPUT ONLY THE PROMPT\nDo not include explanations, commentary, or additional text.\nOutput ONLY the transition prompt in this format:\n\n\n[CAMERA MOVEMENT] from [START POSITION] to [END POSITION]. Subject remains stationary and consistent throughout. Camera [MOVEMENT VERB] fluidly, maintaining [FOCUS BEHAVIOR] on [KEY ELEMENT]. Lighting stays constant, background [BACKGROUND BEHAVIOR]. [TECHNICAL SPECS].\n\nCore Principle\n\nFor transitions where the subject/scene remains consistent and only the camera position changes, use this structured approach to ensure smooth, cinematic results.\n\n\nPrompt Structure Template\n\n[CAMERA MOVEMENT] from [START POSITION] to [END POSITION]. Subject remains stationary and consistent throughout. Camera [MOVEMENT VERB] fluidly, maintaining [FOCUS BEHAVIOR] on [KEY ELEMENT]. Lighting stays constant, background [BACKGROUND BEHAVIOR]. [TECHNICAL SPECS].\n\nComponent Breakdown\n\n1. CAMERA MOVEMENT TYPES\nDolly-in/Push-in: Camera moves forward toward subject\nDolly-out/Pull-back: Camera moves backward away from subject\nOrbit/Arc: Camera circles around subject (specify left/right)\nTilt: Camera angles up or down on fixed position\nPan: Camera swivels left or right horizontally\nCrane/Pedestal: Camera moves vertically up or down\nTracking/Trucking: Camera moves parallel to subject\n\n2. POSITION DESCRIPTORS\nDistance: wide shot, medium shot, close-up, extreme close-up, macro\nAngle: low-angle, high-angle, eye-level, overhead, Dutch angle, worm's eye view, bird's eye view\nFraming: full body, three-quarter, torso, chest-up, face, detail\n\n3. MOVEMENT VERBS (choose intensity)\nSlowly, steadily, smoothly, gradually, fluidly\nRapidly, dynamically, swiftly\nElegantly, dramatically, confidently\n\n4. FOCUS BEHAVIOR\nSharp focus throughout\nRack focus from [A] to [B]\nMaintains focus on [element]\nShallow depth of field\nDeep focus\nProgressive focus shift\n\n5. BACKGROUND BEHAVIOR\nStays consistent\nBlurs to bokeh\nSharpens into view\nFades to [color]\nRemains sharp throughout\n\n6. TECHNICAL SPECS (standard cinematic quality)\nCinematic depth of field\nStable gimbal/dolly movement\nProfessional commercial grade\n24fps (or 30fps, 60fps for slow-motion feel)\nClean sensor, no grain (or \"film grain\" if desired)\n\n\nExample Prompts by Movement Type\n\nDOLLY-IN (Wide → Close-up)\nSmooth camera dolly-in from wide establishing shot to extreme close-up. Subject remains stationary. Camera pushes forward steadily, transitioning focus from [background element] to [detail]. Lighting stays constant, background softly blurs to bokeh. Cinematic depth of field, stable gimbal movement\n\nDOLLY-OUT (Close-up → Wide)\nSmooth camera pull-back from extreme close-up to wide establishing shot. Subject remains centered and stationary. Camera retreats steadily, revealing environment progressively. Focus maintains on subject while background sharpens into view. Even lighting, cinematic depth of field\n\nORBIT (Circular movement)\nSmooth camera orbit from front view to side profile. Subject remains stationary at center. Camera arcs left fluidly in 90-degree rotation, maintaining constant distance and eye-level angle. Lighting stays consistent, sharp focus throughout. Gimbal stabilized circular tracking\n\nTILT (Vertical angle change)\nSmooth camera tilt from low-angle to high-angle. Subject remains stationary. Camera tilts upward gradually, shifting perspective from worm's eye view to bird's eye view. Distance stays constant, lighting consistent. Stable tripod tilt, cinematic framing\n\nPAN (Horizontal swivel)\nSmooth camera pan from left profile to right profile. Subject remains stationary. Camera swivels horizontally across 180 degrees, maintaining constant distance and eye-level. Sharp focus throughout, even lighting. Fluid tripod pan\n\nCRANE UP/DOWN\nSmooth camera crane from ground-level to overhead view. Subject remains stationary at center. Camera elevates vertically, angle shifting from eye-level to bird's eye view. Distance adjusts proportionally, lighting consistent. Stabilized crane movement\n\nKey Rules for Camera-Only Transitions\n\nAlways specify subject remains stationary - This prevents unwanted morphing\nDescribe start AND end positions clearly - Gives model clear targets\nUse specific movement verbs - \"Dolly-in\" is clearer than \"moves closer\"\nLock down what DOESN'T change - Lighting, subject, clothing, expression\nInclude technical quality markers - Gimbal, cinematic, stable\nNegative prompts are critical - Prevents warping/morphing/distortion\nKeep prompts under 75 words - Model weights early words heavier\nOne primary movement per transition - Don't combine dolly + pan + tilt\n\nAdvanced Techniques\n\nSpeed Ramping:\n\"Camera begins slow dolly-in, accelerates midway, then decelerates smoothly into final close-up\"\n\nCombined Movements (use sparingly):\n\"Camera dollies in while simultaneously tilting down, maintaining subject center-frame\"\n\nFocus Pulls:\n\"Rack focus from foreground [element] to background [element] as camera remains locked\"\n\nLens Simulation:\n\"Wide-angle 24mm distortion gradually compresses to telephoto 85mm compression\"\n\n\nCritical Output Rule\n\nOUTPUT ONLY THE PROMPT. LIMIT THE OUTPUT TO 500 CHARACTERS. NO EXPLANATIONS. NO COMMENTARY. NO ADDITIONAL TEXT.",
              "gemini-3-1-flash-lite",
              5,
              "fixed",
              ""
            ]
          },
          {
            "bgcolor": "#653",
            "color": "#432",
            "flags": {},
            "id": 367,
            "inputs": [
              {
                "link": 282,
                "localized_name": "first_frame",
                "name": "first_frame",
                "type": "IMAGE"
              },
              {
                "link": 283,
                "localized_name": "end_frame",
                "name": "end_frame",
                "type": "IMAGE"
              },
              {
                "link": 284,
                "localized_name": "prompt",
                "name": "prompt",
                "type": "STRING",
                "widget": {
                  "name": "prompt"
                }
              },
              {
                "link": 285,
                "localized_name": "duration",
                "name": "duration",
                "type": "INT",
                "widget": {
                  "name": "duration"
                }
              },
              {
                "link": 286,
                "localized_name": "resolution",
                "name": "model.resolution",
                "type": "COMBO",
                "widget": {
                  "name": "model.resolution"
                }
              },
              {
                "label": "video5_seed",
                "link": null,
                "localized_name": "seed",
                "name": "seed",
                "type": "INT",
                "widget": {
                  "name": "seed"
                }
              }
            ],
            "mode": 0,
            "order": 4,
            "outputs": [
              {
                "links": [
                  293
                ],
                "localized_name": "VIDEO",
                "name": "VIDEO",
                "type": "VIDEO"
              }
            ],
            "pos": [
              7850,
              670
            ],
            "properties": {
              "Node name for S&R": "KlingFirstLastFrameNode"
            },
            "size": [
              340,
              260
            ],
            "type": "KlingFirstLastFrameNode",
            "widgets_values": [
              "",
              3,
              false,
              "kling-v3",
              "1080p",
              5,
              "fixed"
            ]
          },
          {
            "flags": {
              "collapsed": true
            },
            "id": 390,
            "inputs": [
              {
                "label": "image0",
                "link": 334,
                "localized_name": "images.image0",
                "name": "images.image0",
                "type": "IMAGE"
              },
              {
                "label": "image1",
                "link": 335,
                "localized_name": "images.image1",
                "name": "images.image1",
                "type": "IMAGE"
              },
              {
                "label": "image2",
                "link": null,
                "localized_name": "images.image2",
                "name": "images.image2",
                "shape": 7,
                "type": "IMAGE"
              }
            ],
            "mode": 0,
            "order": 5,
            "outputs": [
              {
                "links": [
                  333
                ],
                "localized_name": "IMAGE",
                "name": "IMAGE",
                "type": "IMAGE"
              }
            ],
            "pos": [
              7630,
              510
            ],
            "properties": {
              "Node name for S&R": "BatchImagesNode"
            },
            "size": [
              200,
              90
            ],
            "type": "BatchImagesNode",
            "widgets_values": []
          }
        ],
        "outputNode": {
          "bounding": [
            8580,
            370,
            100,
            50
          ],
          "id": -20
        },
        "outputs": [
          {
            "id": "1c5be8c2-bbd0-4ba7-81d9-37d933627747",
            "linkIds": [
              293
            ],
            "localized_name": "VIDEO",
            "name": "VIDEO",
            "pos": [
              10320,
              470
            ],
            "type": "VIDEO"
          }
        ],
        "revision": 0,
        "state": {
          "lastGroupId": 0,
          "lastLinkId": 357,
          "lastNodeId": 395,
          "lastRerouteId": 0
        },
        "version": 1,
        "widgets": []
      },
      {
        "config": {},
        "extra": {
          "workflowRendererVersion": "Vue-corrected"
        },
        "groups": [],
        "id": "2ab1ef49-3518-4f71-b703-f8ef12f32214",
        "inputNode": {
          "bounding": [
            7370,
            380,
            120,
            90
          ],
          "id": -10
        },
        "inputs": [
          {
            "id": "4a1c561e-96cb-4862-ba72-d77d3725dbb2",
            "linkIds": [
              127,
              125
            ],
            "localized_name": "image",
            "name": "image",
            "pos": [
              8960.376953125,
              478
            ],
            "type": "IMAGE"
          },
          {
            "id": "a6622b84-27c2-4a79-b375-69c30fe2e457",
            "linkIds": [
              285
            ],
            "name": "duration",
            "pos": [
              8960.376953125,
              498
            ],
            "type": "INT"
          },
          {
            "id": "344409ea-aa17-46c2-8b7d-c7b10cf980ad",
            "linkIds": [
              286
            ],
            "name": "model.resolution",
            "pos": [
              8960.376953125,
              518
            ],
            "type": "COMBO"
          }
        ],
        "links": [
          {
            "id": 203,
            "origin_id": 374,
            "origin_slot": 0,
            "target_id": 370,
            "target_slot": 0,
            "type": "*"
          },
          {
            "id": 127,
            "origin_id": -10,
            "origin_slot": 0,
            "target_id": 373,
            "target_slot": 0,
            "type": "IMAGE"
          },
          {
            "id": 125,
            "origin_id": -10,
            "origin_slot": 0,
            "target_id": 372,
            "target_slot": 0,
            "type": "IMAGE"
          },
          {
            "id": 282,
            "origin_id": 372,
            "origin_slot": 0,
            "target_id": 375,
            "target_slot": 0,
            "type": "IMAGE"
          },
          {
            "id": 283,
            "origin_id": 373,
            "origin_slot": 0,
            "target_id": 375,
            "target_slot": 1,
            "type": "IMAGE"
          },
          {
            "id": 284,
            "origin_id": 374,
            "origin_slot": 0,
            "target_id": 375,
            "target_slot": 2,
            "type": "STRING"
          },
          {
            "id": 285,
            "origin_id": -10,
            "origin_slot": 1,
            "target_id": 375,
            "target_slot": 3,
            "type": "INT"
          },
          {
            "id": 286,
            "origin_id": -10,
            "origin_slot": 2,
            "target_id": 375,
            "target_slot": 4,
            "type": "COMBO"
          },
          {
            "id": 293,
            "origin_id": 375,
            "origin_slot": 0,
            "target_id": -20,
            "target_slot": 0,
            "type": "VIDEO"
          },
          {
            "id": 336,
            "origin_id": 372,
            "origin_slot": 0,
            "target_id": 391,
            "target_slot": 0,
            "type": "IMAGE"
          },
          {
            "id": 337,
            "origin_id": 373,
            "origin_slot": 0,
            "target_id": 391,
            "target_slot": 1,
            "type": "IMAGE"
          },
          {
            "id": 338,
            "origin_id": 391,
            "origin_slot": 0,
            "target_id": 374,
            "target_slot": 0,
            "type": "IMAGE"
          }
        ],
        "name": "Generate Video 6",
        "nodes": [
          {
            "flags": {},
            "id": 370,
            "inputs": [
              {
                "link": 203,
                "localized_name": "source",
                "name": "source",
                "type": "*"
              }
            ],
            "mode": 0,
            "order": 0,
            "outputs": [],
            "pos": [
              8220,
              -80
            ],
            "properties": {
              "Node name for S&R": "PreviewAny",
              "cnr_id": "comfy-core",
              "ver": "0.3.76"
            },
            "size": [
              280,
              440
            ],
            "title": "Preview Prompt",
            "type": "PreviewAny",
            "widgets_values": [
              null,
              null,
              null
            ]
          },
          {
            "flags": {},
            "id": 372,
            "inputs": [
              {
                "link": 125,
                "localized_name": "image",
                "name": "image",
                "type": "IMAGE"
              }
            ],
            "mode": 0,
            "order": 1,
            "outputs": [
              {
                "links": [
                  282,
                  336
                ],
                "localized_name": "IMAGE",
                "name": "IMAGE",
                "type": "IMAGE"
              }
            ],
            "pos": [
              7550,
              660
            ],
            "properties": {
              "Node name for S&R": "ImageFromBatch",
              "cnr_id": "comfy-core",
              "ver": "0.3.76"
            },
            "size": [
              280,
              100
            ],
            "type": "ImageFromBatch",
            "widgets_values": [
              5,
              1
            ]
          },
          {
            "flags": {},
            "id": 373,
            "inputs": [
              {
                "link": 127,
                "localized_name": "image",
                "name": "image",
                "type": "IMAGE"
              }
            ],
            "mode": 0,
            "order": 2,
            "outputs": [
              {
                "links": [
                  283,
                  337
                ],
                "localized_name": "IMAGE",
                "name": "IMAGE",
                "type": "IMAGE"
              }
            ],
            "pos": [
              7550,
              850
            ],
            "properties": {
              "Node name for S&R": "ImageFromBatch",
              "cnr_id": "comfy-core",
              "ver": "0.3.76"
            },
            "size": [
              280,
              100
            ],
            "type": "ImageFromBatch",
            "widgets_values": [
              6,
              1
            ]
          },
          {
            "bgcolor": "#653",
            "color": "#432",
            "flags": {},
            "id": 374,
            "inputs": [
              {
                "link": 338,
                "localized_name": "images",
                "name": "images",
                "shape": 7,
                "type": "IMAGE"
              },
              {
                "link": null,
                "localized_name": "audio",
                "name": "audio",
                "shape": 7,
                "type": "AUDIO"
              },
              {
                "link": null,
                "localized_name": "video",
                "name": "video",
                "shape": 7,
                "type": "VIDEO"
              },
              {
                "link": null,
                "localized_name": "files",
                "name": "files",
                "shape": 7,
                "type": "GEMINI_INPUT_FILES"
              }
            ],
            "mode": 0,
            "order": 3,
            "outputs": [
              {
                "links": [
                  203,
                  284
                ],
                "localized_name": "STRING",
                "name": "STRING",
                "type": "STRING"
              }
            ],
            "pos": [
              7850,
              -80
            ],
            "properties": {
              "Node name for S&R": "GeminiNode",
              "cnr_id": "comfy-core",
              "ver": "0.3.76"
            },
            "size": [
              340,
              670
            ],
            "type": "GeminiNode",
            "widgets_values": [
              "STEP 1: ANALYZE BOTH IMAGES\nBefore crafting the prompt, analyze both images to understand:\n\n\nCamera distance (wide shot, medium, close-up, extreme close-up, macro)\nCamera angle (low-angle, high-angle, eye-level, overhead, Dutch, worm's eye, bird's eye)\nCamera position relative to subject (front, side profile, 3/4 view, back, overhead)\nFraming (full body, torso, chest-up, face only, detail/macro)\nSubject position and pose\nLighting setup and direction\nBackground elements and depth\nFocal length characteristics (wide-angle distortion vs telephoto compression)\n\nSTEP 2: DETERMINE CAMERA MOVEMENT\nBased on the differences between images, identify the primary camera movement:\n\n\nDistance change: Dolly-in (closer) or Dolly-out (farther)\nVertical angle change: Tilt up/down or Crane up/down\nHorizontal angle change: Pan left/right or Orbit/Arc around subject\nHeight change: Crane/Pedestal up or down\nLateral movement: Truck/Track left or right\n\nSTEP 3: OUTPUT ONLY THE PROMPT\nDo not include explanations, commentary, or additional text.\nOutput ONLY the transition prompt in this format:\n\n\n[CAMERA MOVEMENT] from [START POSITION] to [END POSITION]. Subject remains stationary and consistent throughout. Camera [MOVEMENT VERB] fluidly, maintaining [FOCUS BEHAVIOR] on [KEY ELEMENT]. Lighting stays constant, background [BACKGROUND BEHAVIOR]. [TECHNICAL SPECS].\n\nCore Principle\n\nFor transitions where the subject/scene remains consistent and only the camera position changes, use this structured approach to ensure smooth, cinematic results.\n\n\nPrompt Structure Template\n\n[CAMERA MOVEMENT] from [START POSITION] to [END POSITION]. Subject remains stationary and consistent throughout. Camera [MOVEMENT VERB] fluidly, maintaining [FOCUS BEHAVIOR] on [KEY ELEMENT]. Lighting stays constant, background [BACKGROUND BEHAVIOR]. [TECHNICAL SPECS].\n\nComponent Breakdown\n\n1. CAMERA MOVEMENT TYPES\nDolly-in/Push-in: Camera moves forward toward subject\nDolly-out/Pull-back: Camera moves backward away from subject\nOrbit/Arc: Camera circles around subject (specify left/right)\nTilt: Camera angles up or down on fixed position\nPan: Camera swivels left or right horizontally\nCrane/Pedestal: Camera moves vertically up or down\nTracking/Trucking: Camera moves parallel to subject\n\n2. POSITION DESCRIPTORS\nDistance: wide shot, medium shot, close-up, extreme close-up, macro\nAngle: low-angle, high-angle, eye-level, overhead, Dutch angle, worm's eye view, bird's eye view\nFraming: full body, three-quarter, torso, chest-up, face, detail\n\n3. MOVEMENT VERBS (choose intensity)\nSlowly, steadily, smoothly, gradually, fluidly\nRapidly, dynamically, swiftly\nElegantly, dramatically, confidently\n\n4. FOCUS BEHAVIOR\nSharp focus throughout\nRack focus from [A] to [B]\nMaintains focus on [element]\nShallow depth of field\nDeep focus\nProgressive focus shift\n\n5. BACKGROUND BEHAVIOR\nStays consistent\nBlurs to bokeh\nSharpens into view\nFades to [color]\nRemains sharp throughout\n\n6. TECHNICAL SPECS (standard cinematic quality)\nCinematic depth of field\nStable gimbal/dolly movement\nProfessional commercial grade\n24fps (or 30fps, 60fps for slow-motion feel)\nClean sensor, no grain (or \"film grain\" if desired)\n\n\nExample Prompts by Movement Type\n\nDOLLY-IN (Wide → Close-up)\nSmooth camera dolly-in from wide establishing shot to extreme close-up. Subject remains stationary. Camera pushes forward steadily, transitioning focus from [background element] to [detail]. Lighting stays constant, background softly blurs to bokeh. Cinematic depth of field, stable gimbal movement\n\nDOLLY-OUT (Close-up → Wide)\nSmooth camera pull-back from extreme close-up to wide establishing shot. Subject remains centered and stationary. Camera retreats steadily, revealing environment progressively. Focus maintains on subject while background sharpens into view. Even lighting, cinematic depth of field\n\nORBIT (Circular movement)\nSmooth camera orbit from front view to side profile. Subject remains stationary at center. Camera arcs left fluidly in 90-degree rotation, maintaining constant distance and eye-level angle. Lighting stays consistent, sharp focus throughout. Gimbal stabilized circular tracking\n\nTILT (Vertical angle change)\nSmooth camera tilt from low-angle to high-angle. Subject remains stationary. Camera tilts upward gradually, shifting perspective from worm's eye view to bird's eye view. Distance stays constant, lighting consistent. Stable tripod tilt, cinematic framing\n\nPAN (Horizontal swivel)\nSmooth camera pan from left profile to right profile. Subject remains stationary. Camera swivels horizontally across 180 degrees, maintaining constant distance and eye-level. Sharp focus throughout, even lighting. Fluid tripod pan\n\nCRANE UP/DOWN\nSmooth camera crane from ground-level to overhead view. Subject remains stationary at center. Camera elevates vertically, angle shifting from eye-level to bird's eye view. Distance adjusts proportionally, lighting consistent. Stabilized crane movement\n\nKey Rules for Camera-Only Transitions\n\nAlways specify subject remains stationary - This prevents unwanted morphing\nDescribe start AND end positions clearly - Gives model clear targets\nUse specific movement verbs - \"Dolly-in\" is clearer than \"moves closer\"\nLock down what DOESN'T change - Lighting, subject, clothing, expression\nInclude technical quality markers - Gimbal, cinematic, stable\nNegative prompts are critical - Prevents warping/morphing/distortion\nKeep prompts under 75 words - Model weights early words heavier\nOne primary movement per transition - Don't combine dolly + pan + tilt\n\nAdvanced Techniques\n\nSpeed Ramping:\n\"Camera begins slow dolly-in, accelerates midway, then decelerates smoothly into final close-up\"\n\nCombined Movements (use sparingly):\n\"Camera dollies in while simultaneously tilting down, maintaining subject center-frame\"\n\nFocus Pulls:\n\"Rack focus from foreground [element] to background [element] as camera remains locked\"\n\nLens Simulation:\n\"Wide-angle 24mm distortion gradually compresses to telephoto 85mm compression\"\n\n\nCritical Output Rule\n\nOUTPUT ONLY THE PROMPT. LIMIT THE OUTPUT TO 500 CHARACTERS. NO EXPLANATIONS. NO COMMENTARY. NO ADDITIONAL TEXT.",
              "gemini-3-1-flash-lite",
              6,
              "fixed",
              ""
            ]
          },
          {
            "bgcolor": "#653",
            "color": "#432",
            "flags": {},
            "id": 375,
            "inputs": [
              {
                "link": 282,
                "localized_name": "first_frame",
                "name": "first_frame",
                "type": "IMAGE"
              },
              {
                "link": 283,
                "localized_name": "end_frame",
                "name": "end_frame",
                "type": "IMAGE"
              },
              {
                "link": 284,
                "localized_name": "prompt",
                "name": "prompt",
                "type": "STRING",
                "widget": {
                  "name": "prompt"
                }
              },
              {
                "link": 285,
                "localized_name": "duration",
                "name": "duration",
                "type": "INT",
                "widget": {
                  "name": "duration"
                }
              },
              {
                "link": 286,
                "localized_name": "resolution",
                "name": "model.resolution",
                "type": "COMBO",
                "widget": {
                  "name": "model.resolution"
                }
              },
              {
                "label": "video6_seed",
                "link": null,
                "localized_name": "seed",
                "name": "seed",
                "type": "INT",
                "widget": {
                  "name": "seed"
                }
              }
            ],
            "mode": 0,
            "order": 4,
            "outputs": [
              {
                "links": [
                  293
                ],
                "localized_name": "VIDEO",
                "name": "VIDEO",
                "type": "VIDEO"
              }
            ],
            "pos": [
              7850,
              670
            ],
            "properties": {
              "Node name for S&R": "KlingFirstLastFrameNode"
            },
            "size": [
              340,
              260
            ],
            "type": "KlingFirstLastFrameNode",
            "widgets_values": [
              "",
              3,
              false,
              "kling-v3",
              "1080p",
              6,
              "fixed"
            ]
          },
          {
            "flags": {
              "collapsed": true
            },
            "id": 391,
            "inputs": [
              {
                "label": "image0",
                "link": 336,
                "localized_name": "images.image0",
                "name": "images.image0",
                "type": "IMAGE"
              },
              {
                "label": "image1",
                "link": 337,
                "localized_name": "images.image1",
                "name": "images.image1",
                "type": "IMAGE"
              },
              {
                "label": "image2",
                "link": null,
                "localized_name": "images.image2",
                "name": "images.image2",
                "shape": 7,
                "type": "IMAGE"
              }
            ],
            "mode": 0,
            "order": 5,
            "outputs": [
              {
                "links": [
                  338
                ],
                "localized_name": "IMAGE",
                "name": "IMAGE",
                "type": "IMAGE"
              }
            ],
            "pos": [
              7630,
              490
            ],
            "properties": {
              "Node name for S&R": "BatchImagesNode"
            },
            "size": [
              200,
              90
            ],
            "type": "BatchImagesNode",
            "widgets_values": []
          }
        ],
        "outputNode": {
          "bounding": [
            8580,
            370,
            100,
            50
          ],
          "id": -20
        },
        "outputs": [
          {
            "id": "1c5be8c2-bbd0-4ba7-81d9-37d933627747",
            "linkIds": [
              293
            ],
            "localized_name": "VIDEO",
            "name": "VIDEO",
            "pos": [
              10320,
              470
            ],
            "type": "VIDEO"
          }
        ],
        "revision": 0,
        "state": {
          "lastGroupId": 0,
          "lastLinkId": 357,
          "lastNodeId": 395,
          "lastRerouteId": 0
        },
        "version": 1,
        "widgets": []
      },
      {
        "config": {},
        "extra": {
          "workflowRendererVersion": "Vue-corrected"
        },
        "groups": [],
        "id": "b3fe4254-e196-429e-9f45-96c92113e406",
        "inputNode": {
          "bounding": [
            7370,
            380,
            134.376953125,
            100
          ],
          "id": -10
        },
        "inputs": [
          {
            "id": "4a1c561e-96cb-4862-ba72-d77d3725dbb2",
            "linkIds": [
              127,
              125
            ],
            "localized_name": "image",
            "name": "image",
            "pos": [
              7484.376953125,
              400
            ],
            "type": "IMAGE"
          },
          {
            "id": "a6622b84-27c2-4a79-b375-69c30fe2e457",
            "linkIds": [
              285
            ],
            "name": "duration",
            "pos": [
              7484.376953125,
              420
            ],
            "type": "INT"
          },
          {
            "id": "344409ea-aa17-46c2-8b7d-c7b10cf980ad",
            "linkIds": [
              286
            ],
            "name": "model.resolution",
            "pos": [
              7484.376953125,
              440
            ],
            "type": "COMBO"
          }
        ],
        "links": [
          {
            "id": 203,
            "origin_id": 382,
            "origin_slot": 0,
            "target_id": 378,
            "target_slot": 0,
            "type": "*"
          },
          {
            "id": 127,
            "origin_id": -10,
            "origin_slot": 0,
            "target_id": 381,
            "target_slot": 0,
            "type": "IMAGE"
          },
          {
            "id": 125,
            "origin_id": -10,
            "origin_slot": 0,
            "target_id": 380,
            "target_slot": 0,
            "type": "IMAGE"
          },
          {
            "id": 282,
            "origin_id": 380,
            "origin_slot": 0,
            "target_id": 383,
            "target_slot": 0,
            "type": "IMAGE"
          },
          {
            "id": 283,
            "origin_id": 381,
            "origin_slot": 0,
            "target_id": 383,
            "target_slot": 1,
            "type": "IMAGE"
          },
          {
            "id": 284,
            "origin_id": 382,
            "origin_slot": 0,
            "target_id": 383,
            "target_slot": 2,
            "type": "STRING"
          },
          {
            "id": 285,
            "origin_id": -10,
            "origin_slot": 1,
            "target_id": 383,
            "target_slot": 3,
            "type": "INT"
          },
          {
            "id": 286,
            "origin_id": -10,
            "origin_slot": 2,
            "target_id": 383,
            "target_slot": 4,
            "type": "COMBO"
          },
          {
            "id": 293,
            "origin_id": 383,
            "origin_slot": 0,
            "target_id": -20,
            "target_slot": 0,
            "type": "VIDEO"
          },
          {
            "id": 339,
            "origin_id": 380,
            "origin_slot": 0,
            "target_id": 392,
            "target_slot": 0,
            "type": "IMAGE"
          },
          {
            "id": 340,
            "origin_id": 381,
            "origin_slot": 0,
            "target_id": 392,
            "target_slot": 1,
            "type": "IMAGE"
          },
          {
            "id": 341,
            "origin_id": 392,
            "origin_slot": 0,
            "target_id": 382,
            "target_slot": 0,
            "type": "IMAGE"
          }
        ],
        "name": "Generate Video 7",
        "nodes": [
          {
            "flags": {},
            "id": 378,
            "inputs": [
              {
                "link": 203,
                "localized_name": "source",
                "name": "source",
                "type": "*"
              }
            ],
            "mode": 0,
            "order": 0,
            "outputs": [],
            "pos": [
              8219.99989558499,
              -79.99999647637992
            ],
            "properties": {
              "Node name for S&R": "PreviewAny",
              "cnr_id": "comfy-core",
              "ver": "0.3.76"
            },
            "size": [
              280,
              440
            ],
            "title": "Preview Prompt",
            "type": "PreviewAny",
            "widgets_values": [
              null,
              null,
              null
            ]
          },
          {
            "flags": {},
            "id": 380,
            "inputs": [
              {
                "link": 125,
                "localized_name": "image",
                "name": "image",
                "type": "IMAGE"
              }
            ],
            "mode": 0,
            "order": 1,
            "outputs": [
              {
                "links": [
                  282,
                  339
                ],
                "localized_name": "IMAGE",
                "name": "IMAGE",
                "type": "IMAGE"
              }
            ],
            "pos": [
              7549.999839601976,
              660.0000315090421
            ],
            "properties": {
              "Node name for S&R": "ImageFromBatch",
              "cnr_id": "comfy-core",
              "ver": "0.3.76"
            },
            "size": [
              280,
              136
            ],
            "type": "ImageFromBatch",
            "widgets_values": [
              6,
              1
            ]
          },
          {
            "flags": {},
            "id": 381,
            "inputs": [
              {
                "link": 127,
                "localized_name": "image",
                "name": "image",
                "type": "IMAGE"
              }
            ],
            "mode": 0,
            "order": 2,
            "outputs": [
              {
                "links": [
                  283,
                  340
                ],
                "localized_name": "IMAGE",
                "name": "IMAGE",
                "type": "IMAGE"
              }
            ],
            "pos": [
              7549.999839601976,
              850.0000061343235
            ],
            "properties": {
              "Node name for S&R": "ImageFromBatch",
              "cnr_id": "comfy-core",
              "ver": "0.3.76"
            },
            "size": [
              280,
              136
            ],
            "type": "ImageFromBatch",
            "widgets_values": [
              0,
              1
            ]
          },
          {
            "bgcolor": "#653",
            "color": "#432",
            "flags": {},
            "id": 382,
            "inputs": [
              {
                "link": 341,
                "localized_name": "images",
                "name": "images",
                "shape": 7,
                "type": "IMAGE"
              },
              {
                "link": null,
                "localized_name": "audio",
                "name": "audio",
                "shape": 7,
                "type": "AUDIO"
              },
              {
                "link": null,
                "localized_name": "video",
                "name": "video",
                "shape": 7,
                "type": "VIDEO"
              },
              {
                "link": null,
                "localized_name": "files",
                "name": "files",
                "shape": 7,
                "type": "GEMINI_INPUT_FILES"
              }
            ],
            "mode": 0,
            "order": 3,
            "outputs": [
              {
                "links": [
                  203,
                  284
                ],
                "localized_name": "STRING",
                "name": "STRING",
                "type": "STRING"
              }
            ],
            "pos": [
              7849.999881592279,
              -79.99999647637992
            ],
            "properties": {
              "Node name for S&R": "GeminiNode",
              "cnr_id": "comfy-core",
              "ver": "0.3.76"
            },
            "size": [
              340,
              670
            ],
            "type": "GeminiNode",
            "widgets_values": [
              "STEP 1: ANALYZE BOTH IMAGES\nBefore crafting the prompt, analyze both images to understand:\n\n\nCamera distance (wide shot, medium, close-up, extreme close-up, macro)\nCamera angle (low-angle, high-angle, eye-level, overhead, Dutch, worm's eye, bird's eye)\nCamera position relative to subject (front, side profile, 3/4 view, back, overhead)\nFraming (full body, torso, chest-up, face only, detail/macro)\nSubject position and pose\nLighting setup and direction\nBackground elements and depth\nFocal length characteristics (wide-angle distortion vs telephoto compression)\n\nSTEP 2: DETERMINE CAMERA MOVEMENT\nBased on the differences between images, identify the primary camera movement:\n\n\nDistance change: Dolly-in (closer) or Dolly-out (farther)\nVertical angle change: Tilt up/down or Crane up/down\nHorizontal angle change: Pan left/right or Orbit/Arc around subject\nHeight change: Crane/Pedestal up or down\nLateral movement: Truck/Track left or right\n\nSTEP 3: OUTPUT ONLY THE PROMPT\nDo not include explanations, commentary, or additional text.\nOutput ONLY the transition prompt in this format:\n\n\n[CAMERA MOVEMENT] from [START POSITION] to [END POSITION]. Subject remains stationary and consistent throughout. Camera [MOVEMENT VERB] fluidly, maintaining [FOCUS BEHAVIOR] on [KEY ELEMENT]. Lighting stays constant, background [BACKGROUND BEHAVIOR]. [TECHNICAL SPECS].\n\nCore Principle\n\nFor transitions where the subject/scene remains consistent and only the camera position changes, use this structured approach to ensure smooth, cinematic results.\n\n\nPrompt Structure Template\n\n[CAMERA MOVEMENT] from [START POSITION] to [END POSITION]. Subject remains stationary and consistent throughout. Camera [MOVEMENT VERB] fluidly, maintaining [FOCUS BEHAVIOR] on [KEY ELEMENT]. Lighting stays constant, background [BACKGROUND BEHAVIOR]. [TECHNICAL SPECS].\n\nComponent Breakdown\n\n1. CAMERA MOVEMENT TYPES\nDolly-in/Push-in: Camera moves forward toward subject\nDolly-out/Pull-back: Camera moves backward away from subject\nOrbit/Arc: Camera circles around subject (specify left/right)\nTilt: Camera angles up or down on fixed position\nPan: Camera swivels left or right horizontally\nCrane/Pedestal: Camera moves vertically up or down\nTracking/Trucking: Camera moves parallel to subject\n\n2. POSITION DESCRIPTORS\nDistance: wide shot, medium shot, close-up, extreme close-up, macro\nAngle: low-angle, high-angle, eye-level, overhead, Dutch angle, worm's eye view, bird's eye view\nFraming: full body, three-quarter, torso, chest-up, face, detail\n\n3. MOVEMENT VERBS (choose intensity)\nSlowly, steadily, smoothly, gradually, fluidly\nRapidly, dynamically, swiftly\nElegantly, dramatically, confidently\n\n4. FOCUS BEHAVIOR\nSharp focus throughout\nRack focus from [A] to [B]\nMaintains focus on [element]\nShallow depth of field\nDeep focus\nProgressive focus shift\n\n5. BACKGROUND BEHAVIOR\nStays consistent\nBlurs to bokeh\nSharpens into view\nFades to [color]\nRemains sharp throughout\n\n6. TECHNICAL SPECS (standard cinematic quality)\nCinematic depth of field\nStable gimbal/dolly movement\nProfessional commercial grade\n24fps (or 30fps, 60fps for slow-motion feel)\nClean sensor, no grain (or \"film grain\" if desired)\n\n\nExample Prompts by Movement Type\n\nDOLLY-IN (Wide → Close-up)\nSmooth camera dolly-in from wide establishing shot to extreme close-up. Subject remains stationary. Camera pushes forward steadily, transitioning focus from [background element] to [detail]. Lighting stays constant, background softly blurs to bokeh. Cinematic depth of field, stable gimbal movement\n\nDOLLY-OUT (Close-up → Wide)\nSmooth camera pull-back from extreme close-up to wide establishing shot. Subject remains centered and stationary. Camera retreats steadily, revealing environment progressively. Focus maintains on subject while background sharpens into view. Even lighting, cinematic depth of field\n\nORBIT (Circular movement)\nSmooth camera orbit from front view to side profile. Subject remains stationary at center. Camera arcs left fluidly in 90-degree rotation, maintaining constant distance and eye-level angle. Lighting stays consistent, sharp focus throughout. Gimbal stabilized circular tracking\n\nTILT (Vertical angle change)\nSmooth camera tilt from low-angle to high-angle. Subject remains stationary. Camera tilts upward gradually, shifting perspective from worm's eye view to bird's eye view. Distance stays constant, lighting consistent. Stable tripod tilt, cinematic framing\n\nPAN (Horizontal swivel)\nSmooth camera pan from left profile to right profile. Subject remains stationary. Camera swivels horizontally across 180 degrees, maintaining constant distance and eye-level. Sharp focus throughout, even lighting. Fluid tripod pan\n\nCRANE UP/DOWN\nSmooth camera crane from ground-level to overhead view. Subject remains stationary at center. Camera elevates vertically, angle shifting from eye-level to bird's eye view. Distance adjusts proportionally, lighting consistent. Stabilized crane movement\n\nKey Rules for Camera-Only Transitions\n\nAlways specify subject remains stationary - This prevents unwanted morphing\nDescribe start AND end positions clearly - Gives model clear targets\nUse specific movement verbs - \"Dolly-in\" is clearer than \"moves closer\"\nLock down what DOESN'T change - Lighting, subject, clothing, expression\nInclude technical quality markers - Gimbal, cinematic, stable\nNegative prompts are critical - Prevents warping/morphing/distortion\nKeep prompts under 75 words - Model weights early words heavier\nOne primary movement per transition - Don't combine dolly + pan + tilt\n\nAdvanced Techniques\n\nSpeed Ramping:\n\"Camera begins slow dolly-in, accelerates midway, then decelerates smoothly into final close-up\"\n\nCombined Movements (use sparingly):\n\"Camera dollies in while simultaneously tilting down, maintaining subject center-frame\"\n\nFocus Pulls:\n\"Rack focus from foreground [element] to background [element] as camera remains locked\"\n\nLens Simulation:\n\"Wide-angle 24mm distortion gradually compresses to telephoto 85mm compression\"\n\n\nCritical Output Rule\n\nOUTPUT ONLY THE PROMPT. LIMIT THE OUTPUT TO 500 CHARACTERS. NO EXPLANATIONS. NO COMMENTARY. NO ADDITIONAL TEXT.",
              "gemini-3-1-flash-lite",
              7,
              "fixed",
              ""
            ]
          },
          {
            "bgcolor": "#653",
            "color": "#432",
            "flags": {},
            "id": 383,
            "inputs": [
              {
                "link": 282,
                "localized_name": "first_frame",
                "name": "first_frame",
                "type": "IMAGE"
              },
              {
                "link": 283,
                "localized_name": "end_frame",
                "name": "end_frame",
                "type": "IMAGE"
              },
              {
                "link": 284,
                "localized_name": "prompt",
                "name": "prompt",
                "type": "STRING",
                "widget": {
                  "name": "prompt"
                }
              },
              {
                "link": 285,
                "localized_name": "duration",
                "name": "duration",
                "type": "INT",
                "widget": {
                  "name": "duration"
                }
              },
              {
                "link": 286,
                "localized_name": "resolution",
                "name": "model.resolution",
                "type": "COMBO",
                "widget": {
                  "name": "model.resolution"
                }
              },
              {
                "label": "video7_seed",
                "link": null,
                "localized_name": "seed",
                "name": "seed",
                "type": "INT",
                "widget": {
                  "name": "seed"
                }
              }
            ],
            "mode": 0,
            "order": 4,
            "outputs": [
              {
                "links": [
                  293
                ],
                "localized_name": "VIDEO",
                "name": "VIDEO",
                "type": "VIDEO"
              }
            ],
            "pos": [
              7849.999881592279,
              670.0000376331349
            ],
            "properties": {
              "Node name for S&R": "KlingFirstLastFrameNode"
            },
            "size": [
              340,
              326.328125
            ],
            "type": "KlingFirstLastFrameNode",
            "widgets_values": [
              "",
              3,
              false,
              "kling-v3",
              "1080p",
              7,
              "fixed"
            ]
          },
          {
            "flags": {
              "collapsed": true
            },
            "id": 392,
            "inputs": [
              {
                "label": "image0",
                "link": 339,
                "localized_name": "images.image0",
                "name": "images.image0",
                "type": "IMAGE"
              },
              {
                "label": "image1",
                "link": 340,
                "localized_name": "images.image1",
                "name": "images.image1",
                "type": "IMAGE"
              },
              {
                "label": "image2",
                "link": null,
                "localized_name": "images.image2",
                "name": "images.image2",
                "shape": 7,
                "type": "IMAGE"
              }
            ],
            "mode": 0,
            "order": 5,
            "outputs": [
              {
                "links": [
                  341
                ],
                "localized_name": "IMAGE",
                "name": "IMAGE",
                "type": "IMAGE"
              }
            ],
            "pos": [
              7620,
              420
            ],
            "properties": {
              "Node name for S&R": "BatchImagesNode"
            },
            "size": [
              200,
              90
            ],
            "type": "BatchImagesNode",
            "widgets_values": []
          }
        ],
        "outputNode": {
          "bounding": [
            8580,
            370,
            120,
            60
          ],
          "id": -20
        },
        "outputs": [
          {
            "id": "1c5be8c2-bbd0-4ba7-81d9-37d933627747",
            "linkIds": [
              293
            ],
            "localized_name": "VIDEO",
            "name": "VIDEO",
            "pos": [
              8600,
              390
            ],
            "type": "VIDEO"
          }
        ],
        "revision": 0,
        "state": {
          "lastGroupId": 0,
          "lastLinkId": 357,
          "lastNodeId": 395,
          "lastRerouteId": 0
        },
        "version": 1,
        "widgets": []
      }
    ]
  },
  "extra": {
    "VHS_KeepIntermediate": true,
    "VHS_MetadataImage": true,
    "VHS_latentpreview": false,
    "VHS_latentpreviewrate": 0,
    "ds": {
      "offset": [
        -4165.634250380585,
        875.9888656195051
      ],
      "scale": 0.17715610000000015
    },
    "frontendVersion": "1.41.13",
    "linearData": {
      "inputs": [
        [
          "312",
          "value"
        ],
        [
          "313",
          "model.resolution"
        ],
        [
          "224",
          "image"
        ],
        [
          "226",
          "image"
        ],
        [
          "227",
          "image"
        ],
        [
          "228",
          "image"
        ],
        [
          "232",
          "image"
        ],
        [
          "233",
          "image"
        ],
        [
          "234",
          "image"
        ],
        [
          "235",
          "image"
        ],
        [
          "310",
          "seed"
        ],
        [
          "343",
          "seed"
        ],
        [
          "351",
          "seed"
        ],
        [
          "359",
          "seed"
        ],
        [
          "367",
          "seed"
        ],
        [
          "375",
          "seed"
        ],
        [
          "383",
          "seed"
        ]
      ],
      "outputs": [
        "308",
        "344",
        "352",
        "360",
        "368",
        "376",
        "384"
      ]
    },
    "linearMode": true,
    "workflowRendererVersion": "Vue-corrected"
  },
  "groups": [],
  "id": "66fb78f0-14e8-4e0a-8ebc-a854163427dc",
  "last_link_id": 357,
  "last_node_id": 395,
  "links": [
    [
      248,
      224,
      0,
      225,
      0,
      "IMAGE"
    ],
    [
      249,
      226,
      0,
      225,
      1,
      "IMAGE"
    ],
    [
      251,
      227,
      0,
      225,
      2,
      "IMAGE"
    ],
    [
      252,
      228,
      0,
      225,
      3,
      "IMAGE"
    ],
    [
      256,
      232,
      0,
      225,
      4,
      "IMAGE"
    ],
    [
      257,
      233,
      0,
      225,
      5,
      "IMAGE"
    ],
    [
      258,
      234,
      0,
      225,
      6,
      "IMAGE"
    ],
    [
      280,
      309,
      0,
      308,
      0,
      "VIDEO"
    ],
    [
      281,
      225,
      0,
      309,
      0,
      "IMAGE"
    ],
    [
      297,
      345,
      0,
      344,
      0,
      "VIDEO"
    ],
    [
      298,
      225,
      0,
      345,
      0,
      "IMAGE"
    ],
    [
      300,
      353,
      0,
      352,
      0,
      "VIDEO"
    ],
    [
      301,
      225,
      0,
      353,
      0,
      "IMAGE"
    ],
    [
      303,
      361,
      0,
      360,
      0,
      "VIDEO"
    ],
    [
      304,
      225,
      0,
      361,
      0,
      "IMAGE"
    ],
    [
      306,
      369,
      0,
      368,
      0,
      "VIDEO"
    ],
    [
      307,
      225,
      0,
      369,
      0,
      "IMAGE"
    ],
    [
      309,
      377,
      0,
      376,
      0,
      "VIDEO"
    ],
    [
      310,
      225,
      0,
      377,
      0,
      "IMAGE"
    ],
    [
      312,
      385,
      0,
      384,
      0,
      "VIDEO"
    ],
    [
      313,
      225,
      0,
      385,
      0,
      "IMAGE"
    ],
    [
      342,
      394,
      0,
      309,
      1,
      "INT"
    ],
    [
      343,
      394,
      0,
      345,
      1,
      "INT"
    ],
    [
      344,
      394,
      0,
      353,
      1,
      "INT"
    ],
    [
      345,
      394,
      0,
      361,
      1,
      "INT"
    ],
    [
      346,
      394,
      0,
      369,
      1,
      "INT"
    ],
    [
      347,
      394,
      0,
      377,
      1,
      "INT"
    ],
    [
      348,
      394,
      0,
      385,
      1,
      "INT"
    ],
    [
      349,
      312,
      0,
      394,
      0,
      "*"
    ],
    [
      350,
      395,
      0,
      309,
      2,
      "COMBO"
    ],
    [
      351,
      395,
      0,
      345,
      2,
      "COMBO"
    ],
    [
      352,
      395,
      0,
      353,
      2,
      "COMBO"
    ],
    [
      353,
      395,
      0,
      361,
      2,
      "COMBO"
    ],
    [
      354,
      395,
      0,
      369,
      2,
      "COMBO"
    ],
    [
      355,
      395,
      0,
      377,
      2,
      "COMBO"
    ],
    [
      356,
      395,
      0,
      385,
      2,
      "COMBO"
    ],
    [
      357,
      313,
      0,
      395,
      0,
      "*"
    ]
  ],
  "nodes": [
    {
      "bgcolor": "#353",
      "color": "#232",
      "flags": {},
      "id": 224,
      "inputs": [
        {
          "label": "Load Image 1",
          "link": null,
          "name": "image",
          "type": "COMBO",
          "widget": {
            "name": "image"
          }
        }
      ],
      "mode": 0,
      "order": 0,
      "outputs": [
        {
          "links": [
            248
          ],
          "name": "IMAGE",
          "type": "IMAGE"
        },
        {
          "links": null,
          "name": "MASK",
          "type": "MASK"
        }
      ],
      "pos": [
        5669.99953866742,
        1030.000116367994
      ],
      "properties": {
        "Node name for S&R": "LoadImage"
      },
      "size": [
        250,
        370
      ],
      "title": "Load Image 1",
      "type": "LoadImage",
      "widgets_values": [
        "contact_sheet_app_input_1.png",
        "image"
      ]
    },
    {
      "flags": {
        "collapsed": true
      },
      "id": 225,
      "inputs": [
        {
          "label": "image0",
          "link": 248,
          "name": "images.image0",
          "type": "IMAGE"
        },
        {
          "label": "image1",
          "link": 249,
          "name": "images.image1",
          "type": "IMAGE"
        },
        {
          "label": "image2",
          "link": 251,
          "name": "images.image2",
          "shape": 7,
          "type": "IMAGE"
        },
        {
          "label": "image3",
          "link": 252,
          "name": "images.image3",
          "shape": 7,
          "type": "IMAGE"
        },
        {
          "label": "image4",
          "link": 256,
          "name": "images.image4",
          "shape": 7,
          "type": "IMAGE"
        },
        {
          "label": "image5",
          "link": 257,
          "name": "images.image5",
          "shape": 7,
          "type": "IMAGE"
        },
        {
          "label": "image6",
          "link": 258,
          "name": "images.image6",
          "shape": 7,
          "type": "IMAGE"
        },
        {
          "label": "image7",
          "link": null,
          "name": "images.image7",
          "shape": 7,
          "type": "IMAGE"
        }
      ],
      "mode": 0,
      "order": 9,
      "outputs": [
        {
          "links": [
            281,
            298,
            301,
            304,
            307,
            310,
            313
          ],
          "name": "IMAGE",
          "type": "IMAGE"
        }
      ],
      "pos": [
        6440,
        1050
      ],
      "properties": {
        "Node name for S&R": "BatchImagesNode"
      },
      "size": [
        200,
        190
      ],
      "type": "BatchImagesNode",
      "widgets_values": []
    },
    {
      "bgcolor": "#353",
      "color": "#232",
      "flags": {},
      "id": 226,
      "inputs": [
        {
          "label": "Load Image 2",
          "link": null,
          "name": "image",
          "type": "COMBO",
          "widget": {
            "name": "image"
          }
        }
      ],
      "mode": 0,
      "order": 1,
      "outputs": [
        {
          "links": [
            249
          ],
          "name": "IMAGE",
          "type": "IMAGE"
        },
        {
          "links": null,
          "name": "MASK",
          "type": "MASK"
        }
      ],
      "pos": [
        5970.000147587651,
        1030.000116367994
      ],
      "properties": {
        "Node name for S&R": "LoadImage"
      },
      "size": [
        250,
        370
      ],
      "title": "Load Image 2",
      "type": "LoadImage",
      "widgets_values": [
        "contact_sheet_app_input_2.png",
        "image"
      ]
    },
    {
      "bgcolor": "#353",
      "color": "#232",
      "flags": {},
      "id": 227,
      "inputs": [
        {
          "label": "Load Image 3",
          "link": null,
          "name": "image",
          "type": "COMBO",
          "widget": {
            "name": "image"
          }
        }
      ],
      "mode": 0,
      "order": 2,
      "outputs": [
        {
          "links": [
            251
          ],
          "name": "IMAGE",
          "type": "IMAGE"
        },
        {
          "links": null,
          "name": "MASK",
          "type": "MASK"
        }
      ],
      "pos": [
        5669.99953866742,
        1440.0002257233173
      ],
      "properties": {
        "Node name for S&R": "LoadImage"
      },
      "size": [
        250,
        370
      ],
      "title": "Load Image 3",
      "type": "LoadImage",
      "widgets_values": [
        "contact_sheet_app_input_3.png",
        "image"
      ]
    },
    {
      "bgcolor": "#353",
      "color": "#232",
      "flags": {},
      "id": 228,
      "inputs": [
        {
          "label": "Load Image 4",
          "link": null,
          "name": "image",
          "type": "COMBO",
          "widget": {
            "name": "image"
          }
        }
      ],
      "mode": 0,
      "order": 3,
      "outputs": [
        {
          "links": [
            252
          ],
          "name": "IMAGE",
          "type": "IMAGE"
        },
        {
          "links": null,
          "name": "MASK",
          "type": "MASK"
        }
      ],
      "pos": [
        5970.000147587651,
        1440.0002257233173
      ],
      "properties": {
        "Node name for S&R": "LoadImage"
      },
      "size": [
        250,
        370
      ],
      "title": "Load Image 4",
      "type": "LoadImage",
      "widgets_values": [
        "contact_sheet_app_input_4.png",
        "image"
      ]
    },
    {
      "bgcolor": "#353",
      "color": "#232",
      "flags": {},
      "id": 232,
      "inputs": [
        {
          "label": "Load Image 5",
          "link": null,
          "name": "image",
          "type": "COMBO",
          "widget": {
            "name": "image"
          }
        }
      ],
      "mode": 0,
      "order": 4,
      "outputs": [
        {
          "links": [
            256
          ],
          "name": "IMAGE",
          "type": "IMAGE"
        },
        {
          "links": null,
          "name": "MASK",
          "type": "MASK"
        }
      ],
      "pos": [
        5669.99953866742,
        1850.0001224799175
      ],
      "properties": {
        "Node name for S&R": "LoadImage"
      },
      "size": [
        250,
        370
      ],
      "title": "Load Image 5",
      "type": "LoadImage",
      "widgets_values": [
        "contact_sheet_app_input_5.png",
        "image"
      ]
    },
    {
      "bgcolor": "#353",
      "color": "#232",
      "flags": {},
      "id": 233,
      "inputs": [
        {
          "label": "Load Image 6",
          "link": null,
          "name": "image",
          "type": "COMBO",
          "widget": {
            "name": "image"
          }
        }
      ],
      "mode": 0,
      "order": 5,
      "outputs": [
        {
          "links": [
            257
          ],
          "name": "IMAGE",
          "type": "IMAGE"
        },
        {
          "links": null,
          "name": "MASK",
          "type": "MASK"
        }
      ],
      "pos": [
        5970.000147587651,
        1850.0001224799175
      ],
      "properties": {
        "Node name for S&R": "LoadImage"
      },
      "size": [
        250,
        370
      ],
      "title": "Load Image 6",
      "type": "LoadImage",
      "widgets_values": [
        "contact_sheet_app_input_6.png",
        "image"
      ]
    },
    {
      "bgcolor": "#353",
      "color": "#232",
      "flags": {},
      "id": 234,
      "inputs": [
        {
          "label": "Load Image 7",
          "link": null,
          "name": "image",
          "type": "COMBO",
          "widget": {
            "name": "image"
          }
        }
      ],
      "mode": 0,
      "order": 6,
      "outputs": [
        {
          "links": [
            258
          ],
          "name": "IMAGE",
          "type": "IMAGE"
        },
        {
          "links": null,
          "name": "MASK",
          "type": "MASK"
        }
      ],
      "pos": [
        5970,
        2270
      ],
      "properties": {
        "Node name for S&R": "LoadImage"
      },
      "size": [
        250,
        370
      ],
      "title": "Load Image 7",
      "type": "LoadImage",
      "widgets_values": [
        "contact_sheet_app_input_7.png",
        "image"
      ]
    },
    {
      "flags": {},
      "id": 308,
      "inputs": [
        {
          "link": 280,
          "name": "video",
          "type": "VIDEO"
        }
      ],
      "mode": 0,
      "order": 19,
      "outputs": [],
      "pos": [
        6869.99970662863,
        1340.0001644823892
      ],
      "properties": {
        "Node name for S&R": "SaveVideo",
        "cnr_id": "comfy-core",
        "ver": "0.3.76"
      },
      "size": [
        480,
        990
      ],
      "type": "SaveVideo",
      "widgets_values": [
        "video/ComfyUI-vid_1",
        "auto",
        "auto"
      ]
    },
    {
      "flags": {},
      "id": 309,
      "inputs": [
        {
          "link": 281,
          "name": "image",
          "type": "IMAGE"
        },
        {
          "link": 342,
          "name": "duration",
          "type": "INT",
          "widget": {
            "name": "duration"
          }
        },
        {
          "link": 350,
          "name": "model.resolution",
          "type": "COMBO",
          "widget": {
            "name": "model.resolution"
          }
        }
      ],
      "mode": 0,
      "order": 12,
      "outputs": [
        {
          "links": [
            280
          ],
          "name": "VIDEO",
          "type": "VIDEO"
        }
      ],
      "pos": [
        6869.99970662863,
        1020.0001102439012
      ],
      "properties": {
        "cnr_id": "comfy-core",
        "proxyWidgets": [
          [
            "310",
            "duration"
          ],
          [
            "310",
            "model.resolution"
          ],
          [
            "310",
            "seed"
          ],
          [
            "302",
            "preview_text"
          ]
        ],
        "ver": "0.3.76"
      },
      "size": [
        470,
        250
      ],
      "type": "f7abaa3a-5e87-4354-bab6-f43320cd490f",
      "widgets_values": []
    },
    {
      "bgcolor": "#353",
      "color": "#232",
      "flags": {},
      "id": 312,
      "inputs": [],
      "mode": 0,
      "order": 7,
      "outputs": [
        {
          "links": [
            349
          ],
          "name": "INT",
          "type": "INT",
          "widget": {
            "name": "value"
          }
        }
      ],
      "pos": [
        5669.99953866742,
        690.0000498813205
      ],
      "properties": {
        "Run widget replace on values": false
      },
      "size": [
        540,
        110
      ],
      "title": "duration",
      "type": "PrimitiveNode",
      "widgets_values": [
        5
      ]
    },
    {
      "bgcolor": "#353",
      "color": "#232",
      "flags": {},
      "id": 313,
      "inputs": [],
      "mode": 0,
      "order": 8,
      "outputs": [
        {
          "links": [
            357
          ],
          "name": "COMBO",
          "type": "COMBO",
          "widget": {
            "name": "value"
          }
        }
      ],
      "pos": [
        5669.99953866742,
        840.0000000102307
      ],
      "properties": {
        "Run widget replace on values": false
      },
      "size": [
        540,
        150
      ],
      "title": "model.resolution",
      "type": "PrimitiveNode",
      "widgets_values": [
        "1080p",
        "fixed",
        ""
      ]
    },
    {
      "flags": {},
      "id": 344,
      "inputs": [
        {
          "link": 297,
          "name": "video",
          "type": "VIDEO"
        }
      ],
      "mode": 0,
      "order": 20,
      "outputs": [],
      "pos": [
        7420.00053951742,
        1340.0001644823892
      ],
      "properties": {
        "Node name for S&R": "SaveVideo",
        "cnr_id": "comfy-core",
        "ver": "0.3.76"
      },
      "size": [
        480,
        990
      ],
      "type": "SaveVideo",
      "widgets_values": [
        "video/ComfyUI-vid_2",
        "auto",
        "auto"
      ]
    },
    {
      "flags": {},
      "id": 345,
      "inputs": [
        {
          "link": 298,
          "name": "image",
          "type": "IMAGE"
        },
        {
          "link": 343,
          "name": "duration",
          "type": "INT",
          "widget": {
            "name": "duration"
          }
        },
        {
          "link": 351,
          "name": "model.resolution",
          "type": "COMBO",
          "widget": {
            "name": "model.resolution"
          }
        }
      ],
      "mode": 0,
      "order": 13,
      "outputs": [
        {
          "links": [
            297
          ],
          "name": "VIDEO",
          "type": "VIDEO"
        }
      ],
      "pos": [
        7420.00053951742,
        1020.0001102439012
      ],
      "properties": {
        "cnr_id": "comfy-core",
        "proxyWidgets": [
          [
            "343",
            "duration"
          ],
          [
            "343",
            "model.resolution"
          ],
          [
            "343",
            "seed"
          ],
          [
            "338",
            "preview_text"
          ]
        ],
        "ver": "0.3.76"
      },
      "size": [
        470,
        250
      ],
      "type": "02da9128-7c15-4c46-96bc-1dd68e5bc490",
      "widgets_values": []
    },
    {
      "flags": {},
      "id": 352,
      "inputs": [
        {
          "link": 300,
          "name": "video",
          "type": "VIDEO"
        }
      ],
      "mode": 0,
      "order": 21,
      "outputs": [],
      "pos": [
        7970.000238546356,
        1340.0001644823892
      ],
      "properties": {
        "Node name for S&R": "SaveVideo",
        "cnr_id": "comfy-core",
        "ver": "0.3.76"
      },
      "size": [
        480,
        990
      ],
      "type": "SaveVideo",
      "widgets_values": [
        "video/ComfyUI-vid_3",
        "auto",
        "auto"
      ]
    },
    {
      "flags": {},
      "id": 353,
      "inputs": [
        {
          "link": 301,
          "name": "image",
          "type": "IMAGE"
        },
        {
          "link": 344,
          "name": "duration",
          "type": "INT",
          "widget": {
            "name": "duration"
          }
        },
        {
          "link": 352,
          "name": "model.resolution",
          "type": "COMBO",
          "widget": {
            "name": "model.resolution"
          }
        }
      ],
      "mode": 0,
      "order": 14,
      "outputs": [
        {
          "links": [
            300
          ],
          "name": "VIDEO",
          "type": "VIDEO"
        }
      ],
      "pos": [
        7970.000238546356,
        1020.0001102439012
      ],
      "properties": {
        "cnr_id": "comfy-core",
        "proxyWidgets": [
          [
            "351",
            "duration"
          ],
          [
            "351",
            "model.resolution"
          ],
          [
            "351",
            "seed"
          ],
          [
            "346",
            "preview_text"
          ]
        ],
        "ver": "0.3.76"
      },
      "size": [
        470,
        250
      ],
      "type": "3426003b-7b3a-4d37-8a2f-e0f8adb05712",
      "widgets_values": []
    },
    {
      "flags": {},
      "id": 360,
      "inputs": [
        {
          "link": 303,
          "name": "video",
          "type": "VIDEO"
        }
      ],
      "mode": 0,
      "order": 22,
      "outputs": [],
      "pos": [
        8519.999937575292,
        1340.0001644823892
      ],
      "properties": {
        "Node name for S&R": "SaveVideo",
        "cnr_id": "comfy-core",
        "ver": "0.3.76"
      },
      "size": [
        480,
        990
      ],
      "type": "SaveVideo",
      "widgets_values": [
        "video/ComfyUI-vid_4",
        "auto",
        "auto"
      ]
    },
    {
      "flags": {},
      "id": 361,
      "inputs": [
        {
          "link": 304,
          "name": "image",
          "type": "IMAGE"
        },
        {
          "link": 345,
          "name": "duration",
          "type": "INT",
          "widget": {
            "name": "duration"
          }
        },
        {
          "link": 353,
          "name": "model.resolution",
          "type": "COMBO",
          "widget": {
            "name": "model.resolution"
          }
        }
      ],
      "mode": 0,
      "order": 15,
      "outputs": [
        {
          "links": [
            303
          ],
          "name": "VIDEO",
          "type": "VIDEO"
        }
      ],
      "pos": [
        8519.999937575292,
        1020.0001102439012
      ],
      "properties": {
        "cnr_id": "comfy-core",
        "proxyWidgets": [
          [
            "359",
            "duration"
          ],
          [
            "359",
            "model.resolution"
          ],
          [
            "359",
            "seed"
          ],
          [
            "354",
            "preview_text"
          ]
        ],
        "ver": "0.3.76"
      },
      "size": [
        470,
        250
      ],
      "type": "c61d617f-c72d-4f4c-8659-bd6f884d1a1e",
      "widgets_values": []
    },
    {
      "flags": {},
      "id": 368,
      "inputs": [
        {
          "link": 306,
          "name": "video",
          "type": "VIDEO"
        }
      ],
      "mode": 0,
      "order": 23,
      "outputs": [],
      "pos": [
        9079.999713594561,
        1340.0001644823892
      ],
      "properties": {
        "Node name for S&R": "SaveVideo",
        "cnr_id": "comfy-core",
        "ver": "0.3.76"
      },
      "size": [
        480,
        990
      ],
      "type": "SaveVideo",
      "widgets_values": [
        "video/ComfyUI-vid_5",
        "auto",
        "auto"
      ]
    },
    {
      "flags": {},
      "id": 369,
      "inputs": [
        {
          "link": 307,
          "name": "image",
          "type": "IMAGE"
        },
        {
          "link": 346,
          "name": "duration",
          "type": "INT",
          "widget": {
            "name": "duration"
          }
        },
        {
          "link": 354,
          "name": "model.resolution",
          "type": "COMBO",
          "widget": {
            "name": "model.resolution"
          }
        }
      ],
      "mode": 0,
      "order": 16,
      "outputs": [
        {
          "links": [
            306
          ],
          "name": "VIDEO",
          "type": "VIDEO"
        }
      ],
      "pos": [
        9079.999713594561,
        1020.0001102439012
      ],
      "properties": {
        "cnr_id": "comfy-core",
        "proxyWidgets": [
          [
            "367",
            "duration"
          ],
          [
            "367",
            "model.resolution"
          ],
          [
            "367",
            "seed"
          ],
          [
            "362",
            "preview_text"
          ]
        ],
        "ver": "0.3.76"
      },
      "size": [
        470,
        250
      ],
      "type": "4b301c11-bc16-4096-9441-e0648a04aa4d",
      "widgets_values": []
    },
    {
      "flags": {},
      "id": 376,
      "inputs": [
        {
          "link": 309,
          "name": "video",
          "type": "VIDEO"
        }
      ],
      "mode": 0,
      "order": 24,
      "outputs": [],
      "pos": [
        9619.999902563091,
        1340.0001644823892
      ],
      "properties": {
        "Node name for S&R": "SaveVideo",
        "cnr_id": "comfy-core",
        "ver": "0.3.76"
      },
      "size": [
        480,
        990
      ],
      "type": "SaveVideo",
      "widgets_values": [
        "video/ComfyUI-vid_6",
        "auto",
        "auto"
      ]
    },
    {
      "flags": {},
      "id": 377,
      "inputs": [
        {
          "link": 310,
          "name": "image",
          "type": "IMAGE"
        },
        {
          "link": 347,
          "name": "duration",
          "type": "INT",
          "widget": {
            "name": "duration"
          }
        },
        {
          "link": 355,
          "name": "model.resolution",
          "type": "COMBO",
          "widget": {
            "name": "model.resolution"
          }
        }
      ],
      "mode": 0,
      "order": 17,
      "outputs": [
        {
          "links": [
            309
          ],
          "name": "VIDEO",
          "type": "VIDEO"
        }
      ],
      "pos": [
        9619.999902563091,
        1020.0001102439012
      ],
      "properties": {
        "cnr_id": "comfy-core",
        "proxyWidgets": [
          [
            "375",
            "duration"
          ],
          [
            "375",
            "model.resolution"
          ],
          [
            "375",
            "seed"
          ],
          [
            "370",
            "preview_text"
          ]
        ],
        "ver": "0.3.76"
      },
      "size": [
        470,
        250
      ],
      "type": "2ab1ef49-3518-4f71-b703-f8ef12f32214",
      "widgets_values": []
    },
    {
      "flags": {},
      "id": 384,
      "inputs": [
        {
          "link": 312,
          "name": "video",
          "type": "VIDEO"
        }
      ],
      "mode": 0,
      "order": 25,
      "outputs": [],
      "pos": [
        10170.000168521954,
        1340.0001644823892
      ],
      "properties": {
        "Node name for S&R": "SaveVideo",
        "cnr_id": "comfy-core",
        "ver": "0.3.76"
      },
      "size": [
        480,
        990
      ],
      "type": "SaveVideo",
      "widgets_values": [
        "video/ComfyUI-vid_7",
        "auto",
        "auto"
      ]
    },
    {
      "flags": {},
      "id": 385,
      "inputs": [
        {
          "link": 313,
          "name": "image",
          "type": "IMAGE"
        },
        {
          "link": 348,
          "name": "duration",
          "type": "INT",
          "widget": {
            "name": "duration"
          }
        },
        {
          "link": 356,
          "name": "model.resolution",
          "type": "COMBO",
          "widget": {
            "name": "model.resolution"
          }
        }
      ],
      "mode": 0,
      "order": 18,
      "outputs": [
        {
          "links": [
            312
          ],
          "name": "VIDEO",
          "type": "VIDEO"
        }
      ],
      "pos": [
        10170.000168521954,
        1020.0000393776602
      ],
      "properties": {
        "cnr_id": "comfy-core",
        "proxyWidgets": [
          [
            "383",
            "duration"
          ],
          [
            "383",
            "model.resolution"
          ],
          [
            "383",
            "seed"
          ],
          [
            "378",
            "preview_text"
          ]
        ],
        "ver": "0.3.76"
      },
      "size": [
        470,
        250
      ],
      "type": "b3fe4254-e196-429e-9f45-96c92113e406",
      "widgets_values": []
    },
    {
      "flags": {},
      "id": 394,
      "inputs": [
        {
          "link": 349,
          "name": "",
          "type": "*",
          "widget": {
            "name": "value"
          }
        }
      ],
      "mode": 0,
      "order": 10,
      "outputs": [
        {
          "links": [
            342,
            343,
            344,
            345,
            346,
            347,
            348
          ],
          "name": "",
          "type": "INT"
        }
      ],
      "pos": [
        6439.999797623843,
        1090.0001531125508
      ],
      "properties": {
        "horizontal": false,
        "showOutputText": false
      },
      "size": [
        225,
        36
      ],
      "type": "Reroute"
    },
    {
      "flags": {},
      "id": 395,
      "inputs": [
        {
          "link": 357,
          "name": "",
          "type": "*",
          "widget": {
            "name": "value"
          }
        }
      ],
      "mode": 0,
      "order": 11,
      "outputs": [
        {
          "links": [
            350,
            351,
            352,
            353,
            354,
            355,
            356
          ],
          "name": "",
          "type": "COMBO"
        }
      ],
      "pos": [
        6439.999797623843,
        1120.0001714848293
      ],
      "properties": {
        "horizontal": false,
        "showOutputText": false
      },
      "size": [
        225,
        36
      ],
      "type": "Reroute"
    }
  ],
  "revision": 0,
  "version": 0.4
}