Character & Outfit to Fashion Video
Upload your character and clothing items or accessories. Generate a fashion photograph base and use as a reference to 8x grid images, together with multi-KeyFrame Video Stitching
About
This ComfyUI workflow, titled 'Character & Outfit to Fashion Video,' is designed to transform static images of characters and their clothing into dynamic fashion videos. The process begins by uploading images of characters and clothing items, which are then used to generate a fashion photograph base. This base image serves as a reference to create an 8x grid of images.
The workflow utilizes a variety of models, including Google Gemini Image and Nano Banana Pro, to enhance the image-to-video conversion process. Key nodes like GeminiImage2Node and ImageBatch play a crucial role in processing and managing image data, while custom nodes such as comfyui-kjnodes and comfyui_essentials facilitate specific functionalities tailored to fashion video generation.
The technical backbone of this workflow involves a series of node operations that stitch together multiple keyframes into a seamless video. Nodes like SaveImage and LoadImage handle the initial image input and output, while RegexReplace and PrimitiveStringMultiline manage text and metadata processing.
The workflow also employs advanced techniques such as multi-KeyFrame Video Stitching, enabled by nodes like SaveVideo and GetImagesFromBatchIndexed, to ensure smooth transitions and high-quality video output. This workflow is particularly useful for fashion designers, marketers, and content creators who wish to showcase clothing designs in a visually engaging format, leveraging AI to automate and enhance the creative process.
What you provide
- Reading the workflow
Runs in ComfyUI. This workflow can't run on this page. Open it in Comfy Cloud with everything loaded, or download it for your own ComfyUI.
Try in CloudInside the workflow
A read-only preview of the node graph. Open it in Comfy Cloud or download it to edit the nodes.
Loading the graph
Open full-size workflow preview- Author
- Rob
Requires custom nodes
- Reading the workflow
Use this workflow from code
Generated from the workflow graph and inputs when possible; stored examples are shown otherwise. Review credentials and endpoints before running code, which may incur charges.
What you need
- Runs on
- Comfy Cloud
- Key
- COMFY_API_KEY
Needs a paid Cloud plan and credits.
# Python 3.10+: pip install comfy-sdk==0.4.0
import os
from comfy_sdk import Comfy
api_key = os.environ.get("COMFY_API_KEY", "").strip()
if not api_key: raise RuntimeError("Set COMFY_API_KEY")
os.environ.setdefault("COMFY_BASE_URL", "https://cloud.comfy.org")
client = Comfy(api_key=api_key)
workflow = client.workflows.from_json({
"11": {
"class_type": "SaveImage",
"inputs": {
"filename_prefix": "ComfyUI-image_main_reference",
"images": [
"17",
0
]
},
"_meta": {
"title": "Save Image"
}
},
"16": {
"class_type": "LoadImage",
"inputs": {
"image": "subject_leopard_hair_croc_jacket.png"
},
"_meta": {
"title": "Load Subject Image"
}
},
"17": {
"class_type": "GeminiImage2Node",
"inputs": {
"aspect_ratio": "1:1",
"images": [
"28:19",
0
],
"model": "gemini-3-pro-image-preview",
"prompt": [
"18",
0
],
"resolution": "2K",
"response_modalities": "IMAGE+TEXT",
"seed": 111,
"system_prompt": "You are an expert image-generation engine. You must ALWAYS produce an image.\nInterpret all user input—regardless of format, intent, or abstraction—as literal visual directives for image composition.\nIf a prompt is conversational or lacks specific visual details, you must creatively invent a concrete visual scenario that depicts the concept.\nPrioritize generating the visual representation above any text, formatting, or conversational requests."
},
"_meta": {
"title": "Nano Banana Pro (Google Gemini Image)"
}
},
"18": {
"class_type": "RegexReplace",
"inputs": {
"case_insensitive": True,
"count": 0,
"dotall": False,
"multiline": False,
"regex_pattern": "{outfit}",
"replace": [
"21",
0
],
"string": [
"23",
0
]
},
"_meta": {
"title": "Replace Text (Regex)"
}
},
"21": {
"class_type": "PrimitiveStringMultiline",
"inputs": {
"value": "a fashionable crocodile skin jacket, underneath is a white tank top tucked into crocodile skin pants, Cartier glasses and a large diamond chain with an RTX 6000 pro pendant."
},
"_meta": {
"title": "Describe the Subject's Outfit"
}
},
"23": {
"class_type": "PrimitiveStringMultiline",
"inputs": {
"value": "Show me a high fashion photoshoot image of the model wearing {outfit}, the image should show the a full body shot of the subject. Use the reference outfit items from image 2 and image 3.\nThe model is looking past the camera slightly bored expression and eyebrows raised. They have one hand raised with two fingers tapping the side of the glasses. The setting is a studio environment with a white background. \n \nThe image is from a low angle looking up at the subject.\n \nThe image is shot on fuji velvia film on a 55mm prime lens with a hard flash, the light is concentrated on the subject and fades slightly toward the edges of the frame. The image is over exposed showing significant film grain and is oversaturated. The skin appears shiny (almost oily)."
},
"_meta": {
"title": "Prompt Template"
}
},
"26": {
"class_type": "LoadImage",
"inputs": {
"image": "cartier-glasses-1.jpg"
},
"_meta": {
"title": "Load Outfit Image 1"
}
},
"27": {
"class_type": "LoadImage",
"inputs": {
"image": "outfit_image-2.png"
},
"_meta": {
"title": "Load Outfit Image 2"
}
},
"30": {
"class_type": "GeminiImage2Node",
"inputs": {
"aspect_ratio": "1:1",
"images": [
"33:21",
0
],
"model": "gemini-3-pro-image-preview",
"prompt": [
"34",
0
],
"resolution": "4K",
"response_modalities": "IMAGE+TEXT",
"seed": 111,
"system_prompt": "You are an expert image-generation engine. You must ALWAYS produce an image.\nInterpret all user input—regardless of format, intent, or abstraction—as literal visual directives for image composition.\nIf a prompt is conversational or lacks specific visual details, you must creatively invent a concrete visual scenario that depicts the concept.\nPrioritize generating the visual representation above any text, formatting, or conversational requests."
},
"_meta": {
"title": "Nano Banana Pro (Google Gemini Image)"
}
},
"34": {
"class_type": "PrimitiveStringMultiline",
"inputs": {
"value": "Analyze the input images and silently inventory all fashion-critical details: the subject(s) from image 1, exact wardrobe pieces, facial features, materials, colors, textures, accessories, hair, makeup, body proportions, environment, set geometry, light direction, and shadow quality.\nAll wardrobe, styling, hair, makeup, lighting, environment, and color grade must remain 100% unchanged across all frames.\nDo not add or remove anything (unless specified in the prompt).\nDo not generate with visible gutters/padding between grid images.\n \nYour visible output must be:\n \nOne 2×2 grid image (4 frames).\n \nThen a keyframe breakdown for each frame.\n \nEach frame must represent a resting point after a dramatic camera move — only describe the final camera position and what the subject is doing, never the motion itself.\n \nThe six frames must be spatially dynamic, non-linear, and visually distinct.\n \nRequired 4-Frame Shot List \n1. High-Fashion Beauty Portrait (Close, Editorial, Intimate)\n \nCamera positioned very close to the subject's face, slightly above or slightly below eye level, using an elegant offset angle that enhances bone structure and highlights key wardrobe elements near the neckline. Shallow depth of field, flawless texture rendering, and a sculptural fashion-forward composition.\n \n2. High-Angle Three-Quarter Frame\n \nCamera positioned overhead but off-center, capturing the subject from a diagonal downward angle.\nThis frame should create strong shape abstraction and reveal wardrobe details from above.\n \n3. Low-Angle Oblique Full-Body Frame\n \nCamera positioned low to the ground and angled obliquely toward the subject.\nThis elongates the silhouette, emphasizes footwear, and creates a dramatic perspective distinct from Frames 1 and 2.\n \n4. Side-On Compression Frame (Long Lens)\n \nCamera placed far to one side of the subject, using a tighter focal length to compress space.\nThe subject appears in clean profile or near-profile, showcasing garment structure in a flattened, editorial manner.\n \nContinuity & Technical Requirements\n \nMaintain perfect wardrobe fidelity in every frame: exact garment type, silhouette, material, color, texture, stitching, accessories, closures, jewelry, shoes, hair, and makeup.\n \nEnvironment, textures, and lighting must remain consistent.\n \nDepth of field shifts naturally with focal length (deep for distant shots, shallow for close/detail shots).\n \nPhotoreal textures and physically plausible light behavior required.\n \nFrames must feel like different camera placements within the same scene, not different scenes.\n \nAll keyframes must be the exact same aspect ratio, and exactly 4 keyframes should be output. Maintain the exact visual style in all keyframes, where the image is shot on fuji velvia film with a hard flash, the light is concentrated on the subject and fades slightly toward the edges of the frame. The image is over exposed showing significant film grain and is oversaturated. The skin appears shiny (almost oily), and there are harsh white reflections on the glasses frames.\n \nOutput Format\nA) 2×2 Contact Sheet Image (Mandatory)"
},
"_meta": {
"title": "Prompt - 2x2 Grid V1"
}
},
"61": {
"class_type": "GeminiImage2Node",
"inputs": {
"aspect_ratio": "1:1",
"images": [
"60:19",
0
],
"model": "gemini-3-pro-image-preview",
"prompt": [
"62",
0
],
"resolution": "4K",
"response_modalities": "IMAGE+TEXT",
"seed": 22222222,
"system_prompt": "You are an expert image-generation engine. You must ALWAYS produce an image.\nInterpret all user input—regardless of format, intent, or abstraction—as literal visual directives for image composition.\nIf a prompt is conversational or lacks specific visual details, you must creatively invent a concrete visual scenario that depicts the concept.\nPrioritize generating the visual representation above any text, formatting, or conversational requests."
},
"_meta": {
"title": "Nano Banana Pro (Google Gemini Image)"
}
},
"62": {
"class_type": "PrimitiveStringMultiline",
"inputs": {
"value": "Analyze the input images and inventory all fashion-critical details: the subject(s) from image 1, exact wardrobe pieces, facial features, materials, colors, textures, accessories, hair, makeup, body proportions, environment, set geometry, light direction, and shadow quality.\nAll wardrobe, styling, hair, makeup, lighting, environment, and color grade must remain 100% unchanged across all frames.\nDo not add or remove anything (unless specified in the prompt).\nDo not generate with visible gutters/padding between grid images.\n \nYour visible output must be:\n \nOne 2×2 grid (4 frames).\n \nThen a keyframe breakdown for each frame.\n \nEach frame must represent a resting point after a dramatic camera move — only describe the final camera position and what the subject is doing, never the motion itself.\n \nThe six frames must be spatially dynamic, non-linear, and visually distinct.\n \nRequired 4-Frame Shot List \n1. Intimate Close Portrait From an Unexpected Height\n \nCamera positioned very close to the subject's face (or upper torso) but slightly above or below eye level.\nThe angle should feel fashion-editorial, not conventional — offset, elegant, and expressive.\n \n2. Extreme Detail Frame From a Non-Intuitive Angle\n \nCamera positioned extremely close to his chain (a wardrobe detail), accessory, or texture, but from an unusual spatial direction (e.g., from below, from behind, from the side of a neckline).\nThis must be a striking, abstract, editorial detail frame.\n\n3. Extreme depth perception of the subject holding item (INTRODUCE A NEW ITEM IF PROMPTED)\n\nA dynamic, high-energy photograph shot from an extreme low-angle worm’s-eye view using forced perspective. The man is thrusting an RTX 6000 PRO gpu (new item) toward the camera lens, making the device appear larger than life in the foreground. His free hand is raised in a casual peace sign. \n\n4. Extreme Low Angle Shot from Perspective of the Subject's Shoe.\n\nCamera positioned extremely low with main focus on the characters shoe in the immediate foreground. Extreme foreshortening makes the sneaker in the immediate foreground appear massive and highly detailed, dominating the bottom half of the frame, while the subject's body tapers upward towards a smaller head Infer from the rest of the outfit what shoe the subject is wearing.\n \nContinuity & Technical Requirements\n \nMaintain perfect wardrobe fidelity in every frame: exact garment type, silhouette, material, color, texture, stitching, accessories, closures, jewelry, shoes, hair, and makeup.\n \nEnvironment, textures, and lighting must remain consistent.\n \nDepth of field shifts naturally with focal length (deep for distant shots, shallow for close/detail shots).\n \nPhotoreal textures and physically plausible light behavior required.\n \nFrames must feel like different camera placements within the same scene, not different scenes.\n \nAll keyframes must be the exact same aspect ratio, and exactly 4 keyframes should be output. Maintain the exact visual style in all keyframes, where the image is shot on fuji velvia film with a hard flash, the light is concentrated on the subject and fades slightly toward the edges of the frame. The image is over exposed showing significant film grain and is oversaturated. The skin appears shiny (almost oily), and there are harsh white reflections on the glasses frames.\n \nOutput Format\nA) 2×2 Contact Sheet Image (Mandatory)"
},
"_meta": {
"title": "Prompt - 2x2 Grid V2"
}
},
"68": {
"class_type": "SaveImage",
"inputs": {
"filename_prefix": "ComfyUI-image_1",
"images": [
"72:8",
0
]
},
"_meta": {
"title": "Save Image"
}
},
"69": {
"class_type": "SaveImage",
"inputs": {
"filename_prefix": "ComfyUI-image_2",
"images": [
"72:9",
0
]
},
"_meta": {
"title": "Save Image"
}
},
"70": {
"class_type": "SaveImage",
"inputs": {
"filename_prefix": "ComfyUI-image_3",
"images": [
"72:10",
0
]
},
"_meta": {
"title": "Save Image"
}
},
"71": {
"class_type": "SaveImage",
"inputs": {
"filename_prefix": "ComfyUI-image_4",
"images": [
"72:11",
0
]
},
"_meta": {
"title": "Save Image"
}
},
"73": {
"class_type": "PrimitiveInt",
"inputs": {
"value": 0
},
"_meta": {
"title": "Crop Inset Grid Images"
}
},
"80": {
"class_type": "PrimitiveInt",
"inputs": {
"value": 0
},
"_meta": {
"title": "Crop Inset Grid Images"
}
},
"82": {
"class_type": "ImageBatch",
"inputs": {
"image1": [
"72:20",
0
],
"image2": [
"92:20",
0
]
},
"_meta": {
"title": "Batch Images (DEPRECATED)"
}
},
"83": {
"class_type": "PreviewImage",
"inputs": {
"images": [
"82",
0
]
},
"_meta": {
"title": "Preview Images (index starts at 0)"
}
},
"88": {
"class_type": "SaveImage",
"inputs": {
"filename_prefix": "ComfyUI-image_5",
"images": [
"92:8",
0
]
},
"_meta": {
"title": "Save Image"
}
},
"89": {
"class_type": "SaveImage",
"inputs": {
"filename_prefix": "ComfyUI-image_6",
"images": [
"92:9",
0
]
},
"_meta": {
"title": "Save Image"
}
},
"90": {
"class_type": "SaveImage",
"inputs": {
"filename_prefix": "ComfyUI-image_7",
"images": [
"92:10",
0
]
},
"_meta": {
"title": "Save Image"
}
},
"91": {
"class_type": "SaveImage",
"inputs": {
"filename_prefix": "ComfyUI-image_8",
"images": [
"92:11",
0
]
},
"_meta": {
"title": "Save Image"
}
},
"102": {
"class_type": "GetImagesFromBatchIndexed",
"inputs": {
"images": [
"82",
0
],
"indexes": "8, 7, 6, 0, 2, 5, 3, 8"
},
"_meta": {
"title": "Order Keyframes From Batch Indexes"
}
},
"103": {
"class_type": "PreviewImage",
"inputs": {
"images": [
"102",
0
]
},
"_meta": {
"title": "Preview Image"
}
},
"106": {
"class_type": "SaveVideo",
"inputs": {
"filename_prefix": "video/ComfyUI-vid_1",
"format": "auto",
"format.codec": "auto",
"video": [
"165:165",
0
]
},
"_meta": {
"title": "Save Video"
}
},
"119": {
"class_type": "SaveVideo",
"inputs": {
"filename_prefix": "video/ComfyUI-vid_2",
"format": "auto",
"format.codec": "auto",
"video": [
"166:166",
0
]
},
"_meta": {
"title": "Save Video"
}
},
"125": {
"class_type": "SaveVideo",
"inputs": {
"filename_prefix": "video/ComfyUI-vid_3",
"format": "auto",
"format.codec": "auto",
"video": [
"167:167",
0
]
},
"_meta": {
"title": "Save Video"
}
},
"130": {
"class_type": "SaveVideo",
"inputs": {
"filename_prefix": "video/ComfyUI-vid_5",
"format": "auto",
"format.codec": "auto",
"video": [
"169:169",
0
]
},
"_meta": {
"title": "Save Video"
}
},
"138": {
"class_type": "SaveVideo",
"inputs": {
"filename_prefix": "video/ComfyUI-vid_6",
"format": "auto",
"format.codec": "auto",
"video": [
"170:171",
0
]
},
"_meta": {
"title": "Save Video"
}
},
"140": {
"class_type": "SaveVideo",
"inputs": {
"filename_prefix": "video/ComfyUI-vid_4",
"format": "auto",
"format.codec": "auto",
"video": [
"168:168",
0
]
},
"_meta": {
"title": "Save Video"
}
},
"145": {
"class_type": "SaveVideo",
"inputs": {
"filename_prefix": "video/ComfyUI-vid_7",
"format": "auto",
"format.codec": "auto",
"video": [
"171:171",
0
]
},
"_meta": {
"title": "Save Video"
}
},
"165:104": {
"class_type": "ImageFromBatch",
"inputs": {
"batch_index": 0,
"image": [
"102",
0
],
"length": 1
},
"_meta": {
"title": "Get Image from Batch"
}
},
"165:105": {
"class_type": "ImageFromBatch",
"inputs": {
"batch_index": 1,
"image": [
"102",
0
],
"length": 1
},
"_meta": {
"title": "Get Image from Batch"
}
},
"165:111": {
"class_type": "GeminiNode",
"inputs": {
"images": [
"165:113",
0
],
"model": "gemini-2.5-flash",
"prompt": "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]. --no [NEGATIVE ELEMENTS]\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]. --no [NEGATIVE ELEMENTS]\n\nComponent Breakdown\n\n1. CAMERA MOVEMENT TYPES\n\n\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\n\n\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)\n\n\nSlowly, steadily, smoothly, gradually, fluidly\nRapidly, dynamically, swiftly\nElegantly, dramatically, confidently\n\n4. FOCUS BEHAVIOR\n\n\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\n\n\nStays consistent\nBlurs to bokeh\nSharpens into view\nFades to [color]\nRemains sharp throughout\n\n6. TECHNICAL SPECS (standard cinematic quality)\n\n\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)\n\n\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, 24fps. --no shake, cuts, warping, distortion\n\nDOLLY-OUT (Close-up → Wide)\n\n\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, 24fps. --no shake, cuts, jump, warping\n\nORBIT (Circular movement)\n\n\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, 24fps. --no shake, warping, speed changes, distortion\n\nTILT (Vertical angle change)\n\n\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, 24fps. --no shake, panning, horizontal movement, warping\n\nPAN (Horizontal swivel)\n\n\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, 24fps. --no shake, tilting, vertical movement, cuts\n\nCRANE UP/DOWN\n\n\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, 24fps. --no shake, lateral movement, warping, distortion\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, 24fps, 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\n\nCombined Movements (use sparingly):\n\"Camera dollies in while simultaneously tilting down, maintaining subject center-frame\"\n\n\nFocus Pulls:\n\"Rack focus from foreground [element] to background [element] as camera remains locked\"\n\n\nLens Simulation:\n\"Wide-angle 24mm distortion gradually compresses to telephoto 85mm compression\"\n\n\n\nCritical Output Rule\n\nOUTPUT ONLY THE PROMPT. NO EXPLANATIONS. NO COMMENTARY. NO ADDITIONAL TEXT.",
"seed": 1,
"system_prompt": ""
},
"_meta": {
"title": "Google Gemini"
}
},
"165:113": {
"class_type": "ImageBatch",
"inputs": {
"image1": [
"165:104",
0
],
"image2": [
"165:105",
0
]
},
"_meta": {
"title": "Batch Images (DEPRECATED)"
}
},
"165:160": {
"class_type": "PreviewAny",
"inputs": {
"source": [
"165:111",
0
]
},
"_meta": {
"title": "Preview Prompt"
}
},
"165:165": {
"class_type": "KlingStartEndFrameNode",
"inputs": {
"aspect_ratio": "1:1",
"cfg_scale": 0.5,
"end_frame": [
"165:105",
0
],
"mode": "pro mode / 5s duration / kling-v2-5-turbo",
"negative_prompt": "",
"prompt": [
"165:111",
0
],
"start_frame": [
"165:104",
0
]
},
"_meta": {
"title": "Kling Start-End Frame to Video"
}
},
"166:114": {
"class_type": "ImageFromBatch",
"inputs": {
"batch_index": 2,
"image": [
"102",
0
],
"length": 1
},
"_meta": {
"title": "Get Image from Batch"
}
},
"166:116": {
"class_type": "ImageBatch",
"inputs": {
"image1": [
"166:118",
0
],
"image2": [
"166:114",
0
]
},
"_meta": {
"title": "Batch Images (DEPRECATED)"
}
},
"166:117": {
"class_type": "GeminiNode",
"inputs": {
"images": [
"166:116",
0
],
"model": "gemini-2.5-flash",
"prompt": "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]. --no [NEGATIVE ELEMENTS]\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]. --no [NEGATIVE ELEMENTS]\n\nComponent Breakdown\n\n1. CAMERA MOVEMENT TYPES\n\n\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\n\n\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)\n\n\nSlowly, steadily, smoothly, gradually, fluidly\nRapidly, dynamically, swiftly\nElegantly, dramatically, confidently\n\n4. FOCUS BEHAVIOR\n\n\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\n\n\nStays consistent\nBlurs to bokeh\nSharpens into view\nFades to [color]\nRemains sharp throughout\n\n6. TECHNICAL SPECS (standard cinematic quality)\n\n\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)\n\n\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, 24fps. --no shake, cuts, warping, distortion\n\nDOLLY-OUT (Close-up → Wide)\n\n\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, 24fps. --no shake, cuts, jump, warping\n\nORBIT (Circular movement)\n\n\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, 24fps. --no shake, warping, speed changes, distortion\n\nTILT (Vertical angle change)\n\n\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, 24fps. --no shake, panning, horizontal movement, warping\n\nPAN (Horizontal swivel)\n\n\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, 24fps. --no shake, tilting, vertical movement, cuts\n\nCRANE UP/DOWN\n\n\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, 24fps. --no shake, lateral movement, warping, distortion\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, 24fps, 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\n\nCombined Movements (use sparingly):\n\"Camera dollies in while simultaneously tilting down, maintaining subject center-frame\"\n\n\nFocus Pulls:\n\"Rack focus from foreground [element] to background [element] as camera remains locked\"\n\n\nLens Simulation:\n\"Wide-angle 24mm distortion gradually compresses to telephoto 85mm compression\"\n\n\n\nCritical Output Rule\n\nOUTPUT ONLY THE PROMPT. NO EXPLANATIONS. NO COMMENTARY. NO ADDITIONAL TEXT.",
"seed": 2,
"system_prompt": ""
},
"_meta": {
"title": "Google Gemini"
}
},
"166:118": {
"class_type": "ImageFromBatch",
"inputs": {
"batch_index": 1,
"image": [
"102",
0
],
"length": 1
},
"_meta": {
"title": "Get Image from Batch"
}
},
"166:161": {
"class_type": "PreviewAny",
"inputs": {
"source": [
"166:117",
0
]
},
"_meta": {
"title": "Preview Prompt"
}
},
"166:166": {
"class_type": "KlingStartEndFrameNode",
"inputs": {
"aspect_ratio": "1:1",
"cfg_scale": 0.5,
"end_frame": [
"166:114",
0
],
"mode": "pro mode / 5s duration / kling-v2-5-turbo",
"negative_prompt": "",
"prompt": [
"166:117",
0
],
"start_frame": [
"166:118",
0
]
},
"_meta": {
"title": "Kling Start-End Frame to Video"
}
},
"167:120": {
"class_type": "ImageBatch",
"inputs": {
"image1": [
"167:123",
0
],
"image2": [
"167:124",
0
]
},
"_meta": {
"title": "Batch Images (DEPRECATED)"
}
},
"167:121": {
"class_type": "GeminiNode",
"inputs": {
"images": [
"167:120",
0
],
"model": "gemini-2.5-flash",
"prompt": "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]. --no [NEGATIVE ELEMENTS]\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]. --no [NEGATIVE ELEMENTS]\n\nComponent Breakdown\n\n1. CAMERA MOVEMENT TYPES\n\n\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\n\n\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)\n\n\nSlowly, steadily, smoothly, gradually, fluidly\nRapidly, dynamically, swiftly\nElegantly, dramatically, confidently\n\n4. FOCUS BEHAVIOR\n\n\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\n\n\nStays consistent\nBlurs to bokeh\nSharpens into view\nFades to [color]\nRemains sharp throughout\n\n6. TECHNICAL SPECS (standard cinematic quality)\n\n\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)\n\n\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, 24fps. --no shake, cuts, warping, distortion\n\nDOLLY-OUT (Close-up → Wide)\n\n\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, 24fps. --no shake, cuts, jump, warping\n\nORBIT (Circular movement)\n\n\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, 24fps. --no shake, warping, speed changes, distortion\n\nTILT (Vertical angle change)\n\n\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, 24fps. --no shake, panning, horizontal movement, warping\n\nPAN (Horizontal swivel)\n\n\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, 24fps. --no shake, tilting, vertical movement, cuts\n\nCRANE UP/DOWN\n\n\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, 24fps. --no shake, lateral movement, warping, distortion\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, 24fps, 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\n\nCombined Movements (use sparingly):\n\"Camera dollies in while simultaneously tilting down, maintaining subject center-frame\"\n\n\nFocus Pulls:\n\"Rack focus from foreground [element] to background [element] as camera remains locked\"\n\n\nLens Simulation:\n\"Wide-angle 24mm distortion gradually compresses to telephoto 85mm compression\"\n\n\n\nCritical Output Rule\n\nOUTPUT ONLY THE PROMPT. NO EXPLANATIONS. NO COMMENTARY. NO ADDITIONAL TEXT.",
"seed": 3,
"system_prompt": ""
},
"_meta": {
"title": "Google Gemini"
}
},
"167:123": {
"class_type": "ImageFromBatch",
"inputs": {
"batch_index": 2,
"image": [
"102",
0
],
"length": 1
},
"_meta": {
"title": "Get Image from Batch"
}
},
"167:124": {
"class_type": "ImageFromBatch",
"inputs": {
"batch_index": 3,
"image": [
"102",
0
],
"length": 1
},
"_meta": {
"title": "Get Image from Batch"
}
},
"167:159": {
"class_type": "PreviewAny",
"inputs": {
"source": [
"167:121",
0
]
},
"_meta": {
"title": "Preview Prompt"
}
},
"167:167": {
"class_type": "KlingStartEndFrameNode",
"inputs": {
"aspect_ratio": "1:1",
"cfg_scale": 0.5,
"end_frame": [
"167:124",
0
],
"mode": "pro mode / 5s duration / kling-v2-5-turbo",
"negative_prompt": "",
"prompt": [
"167:121",
0
],
"start_frame": [
"167:123",
0
]
},
"_meta": {
"title": "Kling Start-End Frame to Video"
}
},
"168:126": {
"class_type": "ImageFromBatch",
"inputs": {
"batch_index": 4,
"image": [
"102",
0
],
"length": 1
},
"_meta": {
"title": "Get Image from Batch"
}
},
"168:127": {
"class_type": "GeminiNode",
"inputs": {
"images": [
"168:162",
0
],
"model": "gemini-2.5-flash",
"prompt": "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]. --no [NEGATIVE ELEMENTS]\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]. --no [NEGATIVE ELEMENTS]\n\nComponent Breakdown\n\n1. CAMERA MOVEMENT TYPES\n\n\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\n\n\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)\n\n\nSlowly, steadily, smoothly, gradually, fluidly\nRapidly, dynamically, swiftly\nElegantly, dramatically, confidently\n\n4. FOCUS BEHAVIOR\n\n\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\n\n\nStays consistent\nBlurs to bokeh\nSharpens into view\nFades to [color]\nRemains sharp throughout\n\n6. TECHNICAL SPECS (standard cinematic quality)\n\n\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)\n\n\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, 24fps. --no shake, cuts, warping, distortion\n\nDOLLY-OUT (Close-up → Wide)\n\n\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, 24fps. --no shake, cuts, jump, warping\n\nORBIT (Circular movement)\n\n\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, 24fps. --no shake, warping, speed changes, distortion\n\nTILT (Vertical angle change)\n\n\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, 24fps. --no shake, panning, horizontal movement, warping\n\nPAN (Horizontal swivel)\n\n\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, 24fps. --no shake, tilting, vertical movement, cuts\n\nCRANE UP/DOWN\n\n\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, 24fps. --no shake, lateral movement, warping, distortion\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, 24fps, 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\n\nCombined Movements (use sparingly):\n\"Camera dollies in while simultaneously tilting down, maintaining subject center-frame\"\n\n\nFocus Pulls:\n\"Rack focus from foreground [element] to background [element] as camera remains locked\"\n\n\nLens Simulation:\n\"Wide-angle 24mm distortion gradually compresses to telephoto 85mm compression\"\n\n\n\nCritical Output Rule\n\nOUTPUT ONLY THE PROMPT. NO EXPLANATIONS. NO COMMENTARY. NO ADDITIONAL TEXT.",
"seed": 4,
"system_prompt": ""
},
"_meta": {
"title": "Google Gemini"
}
},
"168:139": {
"class_type": "ImageFromBatch",
"inputs": {
"batch_index": 3,
"image": [
"102",
0
],
"length": 1
},
"_meta": {
"title": "Get Image from Batch"
}
},
"168:158": {
"class_type": "PreviewAny",
"inputs": {
"source": [
"168:127",
0
]
},
"_meta": {
"title": "Preview Prompt"
}
},
"168:162": {
"class_type": "ImageBatch",
"inputs": {
"image1": [
"168:139",
0
],
"image2": [
"168:126",
0
]
},
"_meta": {
"title": "Batch Images (DEPRECATED)"
}
},
"168:168": {
"class_type": "KlingStartEndFrameNode",
"inputs": {
"aspect_ratio": "1:1",
"cfg_scale": 0.5,
"end_frame": [
"168:126",
0
],
"mode": "pro mode / 5s duration / kling-v2-5-turbo",
"negative_prompt": "",
"prompt": [
"168:127",
0
],
"start_frame": [
"168:139",
0
]
},
"_meta": {
"title": "Kling Start-End Frame to Video"
}
},
"169:128": {
"class_type": "ImageBatch",
"inputs": {
"image1": [
"169:131",
0
],
"image2": [
"169:132",
0
]
},
"_meta": {
"title": "Batch Images (DEPRECATED)"
}
},
"169:131": {
"class_type": "ImageFromBatch",
"inputs": {
"batch_index": 4,
"image": [
"102",
0
],
"length": 1
},
"_meta": {
"title": "Get Image from Batch"
}
},
"169:132": {
"class_type": "ImageFromBatch",
"inputs": {
"batch_index": 5,
"image": [
"102",
0
],
"length": 1
},
"_meta": {
"title": "Get Image from Batch"
}
},
"169:142": {
"class_type": "GeminiNode",
"inputs": {
"images": [
"169:128",
0
],
"model": "gemini-2.5-flash",
"prompt": "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]. --no [NEGATIVE ELEMENTS]\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]. --no [NEGATIVE ELEMENTS]\n\nComponent Breakdown\n\n1. CAMERA MOVEMENT TYPES\n\n\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\n\n\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)\n\n\nSlowly, steadily, smoothly, gradually, fluidly\nRapidly, dynamically, swiftly\nElegantly, dramatically, confidently\n\n4. FOCUS BEHAVIOR\n\n\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\n\n\nStays consistent\nBlurs to bokeh\nSharpens into view\nFades to [color]\nRemains sharp throughout\n\n6. TECHNICAL SPECS (standard cinematic quality)\n\n\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)\n\n\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, 24fps. --no shake, cuts, warping, distortion\n\nDOLLY-OUT (Close-up → Wide)\n\n\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, 24fps. --no shake, cuts, jump, warping\n\nORBIT (Circular movement)\n\n\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, 24fps. --no shake, warping, speed changes, distortion\n\nTILT (Vertical angle change)\n\n\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, 24fps. --no shake, panning, horizontal movement, warping\n\nPAN (Horizontal swivel)\n\n\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, 24fps. --no shake, tilting, vertical movement, cuts\n\nCRANE UP/DOWN\n\n\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, 24fps. --no shake, lateral movement, warping, distortion\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, 24fps, 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\n\nCombined Movements (use sparingly):\n\"Camera dollies in while simultaneously tilting down, maintaining subject center-frame\"\n\n\nFocus Pulls:\n\"Rack focus from foreground [element] to background [element] as camera remains locked\"\n\n\nLens Simulation:\n\"Wide-angle 24mm distortion gradually compresses to telephoto 85mm compression\"\n\n\n\nCritical Output Rule\n\nOUTPUT ONLY THE PROMPT. NO EXPLANATIONS. NO COMMENTARY. NO ADDITIONAL TEXT.",
"seed": 5,
"system_prompt": ""
},
"_meta": {
"title": "Google Gemini"
}
},
"169:157": {
"class_type": "PreviewAny",
"inputs": {
"source": [
"169:142",
0
]
},
"_meta": {
"title": "Preview Prompt"
}
},
"169:169": {
"class_type": "KlingStartEndFrameNode",
"inputs": {
"aspect_ratio": "1:1",
"cfg_scale": 0.5,
"end_frame": [
"169:132",
0
],
"mode": "pro mode / 5s duration / kling-v2-5-turbo",
"negative_prompt": "",
"prompt": [
"169:142",
0
],
"start_frame": [
"169:131",
0
]
},
"_meta": {
"title": "Kling Start-End Frame to Video"
}
},
"170:133": {
"class_type": "ImageBatch",
"inputs": {
"image1": [
"170:135",
0
],
"image2": [
"170:136",
0
]
},
"_meta": {
"title": "Batch Images (DEPRECATED)"
}
},
"170:134": {
"class_type": "GeminiNode",
"inputs": {
"images": [
"170:133",
0
],
"model": "gemini-2.5-flash",
"prompt": "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]. --no [NEGATIVE ELEMENTS]\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]. --no [NEGATIVE ELEMENTS]\n\nComponent Breakdown\n\n1. CAMERA MOVEMENT TYPES\n\n\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\n\n\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)\n\n\nSlowly, steadily, smoothly, gradually, fluidly\nRapidly, dynamically, swiftly\nElegantly, dramatically, confidently\n\n4. FOCUS BEHAVIOR\n\n\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\n\n\nStays consistent\nBlurs to bokeh\nSharpens into view\nFades to [color]\nRemains sharp throughout\n\n6. TECHNICAL SPECS (standard cinematic quality)\n\n\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)\n\n\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, 24fps. --no shake, cuts, warping, distortion\n\nDOLLY-OUT (Close-up → Wide)\n\n\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, 24fps. --no shake, cuts, jump, warping\n\nORBIT (Circular movement)\n\n\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, 24fps. --no shake, warping, speed changes, distortion\n\nTILT (Vertical angle change)\n\n\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, 24fps. --no shake, panning, horizontal movement, warping\n\nPAN (Horizontal swivel)\n\n\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, 24fps. --no shake, tilting, vertical movement, cuts\n\nCRANE UP/DOWN\n\n\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, 24fps. --no shake, lateral movement, warping, distortion\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, 24fps, 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\n\nCombined Movements (use sparingly):\n\"Camera dollies in while simultaneously tilting down, maintaining subject center-frame\"\n\n\nFocus Pulls:\n\"Rack focus from foreground [element] to background [element] as camera remains locked\"\n\n\nLens Simulation:\n\"Wide-angle 24mm distortion gradually compresses to telephoto 85mm compression\"\n\n\n\nCritical Output Rule\n\nOUTPUT ONLY THE PROMPT. NO EXPLANATIONS. NO COMMENTARY. NO ADDITIONAL TEXT.",
"seed": 6,
"system_prompt": ""
},
"_meta": {
"title": "Google Gemini"
}
},
"170:135": {
"class_type": "ImageFromBatch",
"inputs": {
"batch_index": 5,
"image": [
"102",
0
],
"length": 1
},
"_meta": {
"title": "Get Image from Batch"
}
},
"170:136": {
"class_type": "ImageFromBatch",
"inputs": {
"batch_index": 6,
"image": [
"102",
0
],
"length": 1
},
"_meta": {
"title": "Get Image from Batch"
}
},
"170:156": {
"class_type": "PreviewAny",
"inputs": {
"source": [
"170:134",
0
]
},
"_meta": {
"title": "Preview Prompt"
}
},
"170:171": {
"class_type": "KlingStartEndFrameNode",
"inputs": {
"aspect_ratio": "1:1",
"cfg_scale": 0.5,
"end_frame": [
"170:136",
0
],
"mode": "pro mode / 5s duration / kling-v2-5-turbo",
"negative_prompt": "",
"prompt": [
"170:134",
0
],
"start_frame": [
"170:135",
0
]
},
"_meta": {
"title": "Kling Start-End Frame to Video"
}
},
"171:143": {
"class_type": "GeminiNode",
"inputs": {
"images": [
"171:163",
0
],
"model": "gemini-2.5-flash",
"prompt": "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]. --no [NEGATIVE ELEMENTS]\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]. --no [NEGATIVE ELEMENTS]\n\nComponent Breakdown\n\n1. CAMERA MOVEMENT TYPES\n\n\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\n\n\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)\n\n\nSlowly, steadily, smoothly, gradually, fluidly\nRapidly, dynamically, swiftly\nElegantly, dramatically, confidently\n\n4. FOCUS BEHAVIOR\n\n\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\n\n\nStays consistent\nBlurs to bokeh\nSharpens into view\nFades to [color]\nRemains sharp throughout\n\n6. TECHNICAL SPECS (standard cinematic quality)\n\n\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)\n\n\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, 24fps. --no shake, cuts, warping, distortion\n\nDOLLY-OUT (Close-up → Wide)\n\n\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, 24fps. --no shake, cuts, jump, warping\n\nORBIT (Circular movement)\n\n\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, 24fps. --no shake, warping, speed changes, distortion\n\nTILT (Vertical angle change)\n\n\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, 24fps. --no shake, panning, horizontal movement, warping\n\nPAN (Horizontal swivel)\n\n\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, 24fps. --no shake, tilting, vertical movement, cuts\n\nCRANE UP/DOWN\n\n\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, 24fps. --no shake, lateral movement, warping, distortion\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, 24fps, 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\n\nCombined Movements (use sparingly):\n\"Camera dollies in while simultaneously tilting down, maintaining subject center-frame\"\n\n\nFocus Pulls:\n\"Rack focus from foreground [element] to background [element] as camera remains locked\"\n\n\nLens Simulation:\n\"Wide-angle 24mm distortion gradually compresses to telephoto 85mm compression\"\n\n\n\nCritical Output Rule\n\nOUTPUT ONLY THE PROMPT. NO EXPLANATIONS. NO COMMENTARY. NO ADDITIONAL TEXT.",
"seed": 7,
"system_prompt": ""
},
"_meta": {
"title": "Google Gemini"
}
},
"171:146": {
"class_type": "ImageFromBatch",
"inputs": {
"batch_index": 6,
"image": [
"102",
0
],
"length": 1
},
"_meta": {
"title": "Get Image from Batch"
}
},
"171:147": {
"class_type": "ImageFromBatch",
"inputs": {
"batch_index": 7,
"image": [
"102",
0
],
"length": 1
},
"_meta": {
"title": "Get Image from Batch"
}
},
"171:155": {
"class_type": "PreviewAny",
"inputs": {
"source": [
"171:143",
0
]
},
"_meta": {
"title": "Preview Prompt"
}
},
"171:163": {
"class_type": "ImageBatch",
"inputs": {
"image1": [
"171:146",
0
],
"image2": [
"171:147",
0
]
},
"_meta": {
"title": "Batch Images (DEPRECATED)"
}
},
"171:171": {
"class_type": "KlingStartEndFrameNode",
"inputs": {
"aspect_ratio": "1:1",
"cfg_scale": 0.5,
"end_frame": [
"171:147",
0
],
"mode": "pro mode / 5s duration / kling-v2-5-turbo",
"negative_prompt": "",
"prompt": [
"171:143",
0
],
"start_frame": [
"171:146",
0
]
},
"_meta": {
"title": "Kling Start-End Frame to Video"
}
},
"28:15": {
"class_type": "ResizeAndPadImage",
"inputs": {
"image": [
"26",
0
],
"interpolation": "area",
"padding_color": "white",
"target_height": [
"28:16",
1
],
"target_width": [
"28:16",
0
]
},
"_meta": {
"title": "Resize And Pad Image"
}
},
"28:16": {
"class_type": "GetImageSize",
"inputs": {
"image": [
"16",
0
]
},
"_meta": {
"title": "Get Image Size"
}
},
"28:19": {
"class_type": "ImageBatch",
"inputs": {
"image1": [
"28:5",
0
],
"image2": [
"28:20",
0
]
},
"_meta": {
"title": "Batch Images (DEPRECATED)"
}
},
"28:20": {
"class_type": "ResizeAndPadImage",
"inputs": {
"image": [
"27",
0
],
"interpolation": "area",
"padding_color": "white",
"target_height": [
"28:16",
1
],
"target_width": [
"28:16",
0
]
},
"_meta": {
"title": "Resize And Pad Image"
}
},
"28:5": {
"class_type": "ImageBatch",
"inputs": {
"image1": [
"16",
0
],
"image2": [
"28:15",
0
]
},
"_meta": {
"title": "Batch Images (DEPRECATED)"
}
},
"33:15": {
"class_type": "ResizeAndPadImage",
"inputs": {
"image": [
"26",
0
],
"interpolation": "area",
"padding_color": "white",
"target_height": [
"33:16",
1
],
"target_width": [
"33:16",
0
]
},
"_meta": {
"title": "Resize And Pad Image"
}
},
"33:16": {
"class_type": "GetImageSize",
"inputs": {
"image": [
"17",
0
]
},
"_meta": {
"title": "Get Image Size"
}
},
"33:20": {
"class_type": "ResizeAndPadImage",
"inputs": {
"image": [
"27",
0
],
"interpolation": "area",
"padding_color": "white",
"target_height": [
"33:16",
1
],
"target_width": [
"33:16",
0
]
},
"_meta": {
"title": "Resize And Pad Image"
}
},
"33:21": {
"class_type": "BatchImagesNode",
"inputs": {
"images.image0": [
"17",
0
],
"images.image1": [
"33:15",
0
],
"images.image2": [
"33:20",
0
]
},
"_meta": {
"title": "Batch Images"
}
},
"60:15": {
"class_type": "ResizeAndPadImage",
"inputs": {
"image": [
"26",
0
],
"interpolation": "area",
"padding_color": "white",
"target_height": [
"60:16",
1
],
"target_width": [
"60:16",
0
]
},
"_meta": {
"title": "Resize And Pad Image"
}
},
"60:16": {
"class_type": "GetImageSize",
"inputs": {
"image": [
"17",
0
]
},
"_meta": {
"title": "Get Image Size"
}
},
"60:19": {
"class_type": "ImageBatch",
"inputs": {
"image1": [
"60:5",
0
],
"image2": [
"60:20",
0
]
},
"_meta": {
"title": "Batch Images (DEPRECATED)"
}
},
"60:20": {
"class_type": "ResizeAndPadImage",
"inputs": {
"image": [
"27",
0
],
"interpolation": "area",
"padding_color": "white",
"target_height": [
"60:16",
1
],
"target_width": [
"60:16",
0
]
},
"_meta": {
"title": "Resize And Pad Image"
}
},
"60:5": {
"class_type": "ImageBatch",
"inputs": {
"image1": [
"17",
0
],
"image2": [
"60:15",
0
]
},
"_meta": {
"title": "Batch Images (DEPRECATED)"
}
},
"72:10": {
"class_type": "ImageCrop",
"inputs": {
"height": [
"72:16",
0
],
"image": [
"30",
0
],
"width": [
"72:15",
0
],
"x": [
"72:24",
0
],
"y": [
"72:12",
0
]
},
"_meta": {
"title": "3"
}
},
"72:11": {
"class_type": "ImageCrop",
"inputs": {
"height": [
"72:16",
0
],
"image": [
"30",
0
],
"width": [
"72:15",
0
],
"x": [
"72:13",
0
],
"y": [
"72:12",
0
]
},
"_meta": {
"title": "4"
}
},
"72:12": {
"class_type": "SimpleMath+",
"inputs": {
"a": [
"72:16",
0
],
"b": [
"72:14",
0
],
"value": "a + b"
},
"_meta": {
"title": "Row 2 - Y val"
}
},
"72:13": {
"class_type": "SimpleMath+",
"inputs": {
"a": [
"72:15",
0
],
"b": [
"72:14",
0
],
"value": "a + b"
},
"_meta": {
"title": "Col 2 - X val"
}
},
"72:14": {
"class_type": "SimpleMath+",
"inputs": {
"a": [
"73",
0
],
"b": 0,
"value": "a"
},
"_meta": {
"title": "🔧 Simple Math"
}
},
"72:15": {
"class_type": "SimpleMath+",
"inputs": {
"a": [
"72:17",
0
],
"b": [
"72:14",
0
],
"value": "(a-2*b) / 2"
},
"_meta": {
"title": "WIDTH"
}
},
"72:16": {
"class_type": "SimpleMath+",
"inputs": {
"a": [
"72:17",
1
],
"b": [
"72:14",
0
],
"value": "(a-2*b) / 2"
},
"_meta": {
"title": "HEIGHT"
}
},
"72:17": {
"class_type": "GetImageSize",
"inputs": {
"image": [
"30",
0
]
},
"_meta": {
"title": "Get Image Size"
}
},
"72:19": {
"class_type": "ImageBatchMulti",
"inputs": {
"image_1": [
"17",
0
],
"image_2": [
"72:8",
0
],
"image_3": [
"72:9",
0
],
"image_4": [
"72:10",
0
],
"image_5": [
"72:11",
0
],
"inputcount": 5
},
"_meta": {
"title": "Image Batch Multi"
}
},
"72:20": {
"class_type": "ImageResizeKJv2",
"inputs": {
"crop_position": "center",
"device": "cpu",
"divisible_by": 2,
"height": [
"72:22",
0
],
"image": [
"72:19",
0
],
"keep_proportion": "stretch",
"pad_color": "0, 0, 0",
"upscale_method": "nearest-exact",
"width": [
"72:23",
0
]
},
"_meta": {
"title": "Resize Images"
}
},
"72:22": {
"class_type": "SimpleMath+",
"inputs": {
"a": [
"72:17",
1
],
"b": 0,
"value": "(a) / 2"
},
"_meta": {
"title": "HEIGHT / 2"
}
},
"72:23": {
"class_type": "SimpleMath+",
"inputs": {
"a": [
"72:17",
0
],
"b": 0,
"value": "(a) / 2"
},
"_meta": {
"title": "WIDTH / 2"
}
},
"72:24": {
"class_type": "SimpleMath+",
"inputs": {
"a": 0,
"b": [
"72:14",
0
],
"value": "b"
},
"_meta": {
"title": "Col 1 - X val"
}
},
"72:28": {
"class_type": "SaveImage",
"inputs": {
"filename_prefix": "ComfyUI-2x2_v1_grid",
"images": [
"30",
0
]
},
"_meta": {
"title": "Save Image"
}
},
"72:8": {
"class_type": "ImageCrop",
"inputs": {
"height": [
"72:16",
0
],
"image": [
"30",
0
],
"width": [
"72:15",
0
],
"x": [
"72:24",
0
],
"y": [
"72:24",
0
]
},
"_meta": {
"title": "1"
}
},
"72:9": {
"class_type": "ImageCrop",
"inputs": {
"height": [
"72:16",
0
],
"image": [
"30",
0
],
"width": [
"72:15",
0
],
"x": [
"72:13",
0
],
"y": 0
},
"_meta": {
"title": "2"
}
},
"92:10": {
"class_type": "ImageCrop",
"inputs": {
"height": [
"92:16",
0
],
"image": [
"61",
0
],
"width": [
"92:15",
0
],
"x": [
"92:24",
0
],
"y": [
"92:12",
0
]
},
"_meta": {
"title": "3"
}
},
"92:11": {
"class_type": "ImageCrop",
"inputs": {
"height": [
"92:16",
0
],
"image": [
"61",
0
],
"width": [
"92:15",
0
],
"x": [
"92:13",
0
],
"y": [
"92:12",
0
]
},
"_meta": {
"title": "4"
}
},
"92:12": {
"class_type": "SimpleMath+",
"inputs": {
"a": [
"92:16",
0
],
"b": [
"92:14",
0
],
"value": "a + b"
},
"_meta": {
"title": "Row 2 - Y val"
}
},
"92:13": {
"class_type": "SimpleMath+",
"inputs": {
"a": [
"92:15",
0
],
"b": [
"92:14",
0
],
"value": "a + b"
},
"_meta": {
"title": "Col 2 - X val"
}
},
"92:14": {
"class_type": "SimpleMath+",
"inputs": {
"a": [
"80",
0
],
"b": 0,
"value": "a"
},
"_meta": {
"title": "🔧 Simple Math"
}
},
"92:15": {
"class_type": "SimpleMath+",
"inputs": {
"a": [
"92:17",
0
],
"b": [
"92:14",
0
],
"value": "(a-2*b) / 2"
},
"_meta": {
"title": "WIDTH"
}
},
"92:16": {
"class_type": "SimpleMath+",
"inputs": {
"a": [
"92:17",
1
],
"b": [
"92:14",
0
],
"value": "(a-2*b) / 2"
},
"_meta": {
"title": "HEIGHT"
}
},
"92:17": {
"class_type": "GetImageSize",
"inputs": {
"image": [
"61",
0
]
},
"_meta": {
"title": "Get Image Size"
}
},
"92:19": {
"class_type": "ImageBatchMulti",
"inputs": {
"image_1": [
"92:8",
0
],
"image_2": [
"92:9",
0
],
"image_3": [
"92:10",
0
],
"image_4": [
"92:11",
0
],
"inputcount": 4
},
"_meta": {
"title": "Image Batch Multi"
}
},
"92:20": {
"class_type": "ImageResizeKJv2",
"inputs": {
"crop_position": "center",
"device": "cpu",
"divisible_by": 2,
"height": [
"92:22",
0
],
"image": [
"92:19",
0
],
"keep_proportion": "stretch",
"pad_color": "0, 0, 0",
"upscale_method": "nearest-exact",
"width": [
"92:23",
0
]
},
"_meta": {
"title": "Resize Image v2"
}
},
"92:22": {
"class_type": "SimpleMath+",
"inputs": {
"a": [
"92:17",
1
],
"b": 0,
"value": "(a) / 2"
},
"_meta": {
"title": "HEIGHT / 2"
}
},
"92:23": {
"class_type": "SimpleMath+",
"inputs": {
"a": [
"92:17",
0
],
"b": 0,
"value": "(a) / 2"
},
"_meta": {
"title": "WIDTH / 2"
}
},
"92:24": {
"class_type": "SimpleMath+",
"inputs": {
"a": 0,
"b": [
"92:14",
0
],
"value": "b"
},
"_meta": {
"title": "Col 1 - X val"
}
},
"92:25": {
"class_type": "SaveImage",
"inputs": {
"filename_prefix": "ComfyUI-2x2_v2_grid",
"images": [
"61",
0
]
},
"_meta": {
"title": "Save Image"
}
},
"92:8": {
"class_type": "ImageCrop",
"inputs": {
"height": [
"92:16",
0
],
"image": [
"61",
0
],
"width": [
"92:15",
0
],
"x": [
"92:24",
0
],
"y": [
"92:24",
0
]
},
"_meta": {
"title": "1"
}
},
"92:9": {
"class_type": "ImageCrop",
"inputs": {
"height": [
"92:16",
0
],
"image": [
"61",
0
],
"width": [
"92:15",
0
],
"x": [
"92:13",
0
],
"y": 0
},
"_meta": {
"title": "2"
}
}
})
# run() also passes api_key to the partner nodes in this workflow.
job = client.run(workflow, api_key=api_key)Questions & answers
Upload high-quality images of characters and clothing items for the best results.
The workflow is set to create an 8x grid by default, but you can adjust this by modifying the ImageBatch node settings.
The processing time depends on the complexity of the images and the performance of your hardware, but it typically takes a few minutes.
This workflow focuses on video generation; you can add audio using video editing software after exporting the video.