{
  "config": {},
  "extra": {
    "VHS_KeepIntermediate": true,
    "VHS_MetadataImage": true,
    "VHS_latentpreview": false,
    "VHS_latentpreviewrate": 0,
    "ds": {
      "offset": [
        1997.1318159519406,
        -2933.333498664446
      ],
      "scale": 0.32137852595482075
    },
    "frontendVersion": "1.42.6"
  },
  "groups": [
    {
      "bounding": [
        380,
        3600,
        2180,
        850
      ],
      "color": "#3f789e",
      "flags": {},
      "font_size": 24,
      "id": 2,
      "title": "STEP 1 - PREVIS STILL FRAME"
    },
    {
      "bounding": [
        380,
        4480,
        2180,
        940
      ],
      "color": "#3f789e",
      "flags": {},
      "font_size": 24,
      "id": 3,
      "title": "STEP 2 - PREVIS VIDEO"
    },
    {
      "bounding": [
        410,
        3670,
        620,
        750
      ],
      "color": "#8A8",
      "flags": {},
      "font_size": 24,
      "id": 4,
      "title": "INPUT SCENE DESCRIPTION"
    },
    {
      "bounding": [
        410,
        4550,
        620,
        840
      ],
      "color": "#8A8",
      "flags": {},
      "font_size": 24,
      "id": 5,
      "title": "INPUT SCENE DESCRIPTION"
    }
  ],
  "id": "14240411-b7ca-42f5-9d33-1edabd1baf03",
  "last_link_id": 49,
  "last_node_id": 27,
  "links": [
    [
      23,
      14,
      0,
      17,
      1,
      "STRING"
    ],
    [
      38,
      15,
      0,
      18,
      1,
      "IMAGE"
    ],
    [
      39,
      11,
      0,
      18,
      0,
      "IMAGE"
    ],
    [
      40,
      13,
      0,
      18,
      3,
      "IMAGE"
    ],
    [
      41,
      17,
      0,
      19,
      2,
      "STRING"
    ],
    [
      42,
      18,
      0,
      19,
      0,
      "IMAGE"
    ],
    [
      43,
      19,
      0,
      1,
      0,
      "IMAGE"
    ],
    [
      44,
      23,
      0,
      20,
      0,
      "IMAGE"
    ],
    [
      45,
      11,
      0,
      23,
      1,
      "IMAGE"
    ],
    [
      46,
      22,
      0,
      23,
      0,
      "IMAGE"
    ],
    [
      47,
      24,
      0,
      20,
      2,
      "STRING"
    ],
    [
      48,
      25,
      0,
      24,
      1,
      "STRING"
    ],
    [
      49,
      20,
      0,
      26,
      0,
      "VIDEO"
    ]
  ],
  "nodes": [
    {
      "bgcolor": "#653",
      "color": "#432",
      "flags": {},
      "id": 1,
      "inputs": [
        {
          "link": 43,
          "localized_name": "images",
          "name": "images",
          "type": "IMAGE"
        },
        {
          "link": null,
          "localized_name": "filename_prefix",
          "name": "filename_prefix",
          "type": "STRING",
          "widget": {
            "name": "filename_prefix"
          }
        }
      ],
      "mode": 0,
      "order": 13,
      "outputs": [],
      "pos": [
        1530.0000076607644,
        3720.0001618892925
      ],
      "properties": {},
      "size": [
        990,
        610
      ],
      "type": "SaveImage",
      "widgets_values": [
        "Casting_Previs"
      ]
    },
    {
      "bgcolor": "#353",
      "color": "#232",
      "flags": {},
      "id": 11,
      "inputs": [
        {
          "link": null,
          "localized_name": "image",
          "name": "image",
          "type": "COMBO",
          "widget": {
            "name": "image"
          }
        },
        {
          "link": null,
          "localized_name": "choose file to upload",
          "name": "upload",
          "type": "IMAGEUPLOAD",
          "widget": {
            "name": "upload"
          }
        }
      ],
      "mode": 0,
      "order": 0,
      "outputs": [
        {
          "links": [
            39,
            45
          ],
          "localized_name": "IMAGE",
          "name": "IMAGE",
          "type": "IMAGE"
        },
        {
          "links": null,
          "localized_name": "MASK",
          "name": "MASK",
          "type": "MASK"
        }
      ],
      "pos": [
        -580.0001234891577,
        3630.0001417123813
      ],
      "properties": {
        "Node name for S&R": "LoadImage"
      },
      "size": [
        930,
        1040
      ],
      "title": "TALENT HEADSHOT",
      "type": "LoadImage",
      "widgets_values": [
        "a3a5dd73c46aac286ca8539f652fc20f31b493d0947fa2500dd1ce3e5c02bff5.png",
        "image"
      ]
    },
    {
      "bgcolor": "#353",
      "color": "#232",
      "flags": {},
      "id": 13,
      "inputs": [
        {
          "link": null,
          "localized_name": "image",
          "name": "image",
          "type": "COMBO",
          "widget": {
            "name": "image"
          }
        },
        {
          "link": null,
          "localized_name": "choose file to upload",
          "name": "upload",
          "type": "IMAGEUPLOAD",
          "widget": {
            "name": "upload"
          }
        }
      ],
      "mode": 0,
      "order": 1,
      "outputs": [
        {
          "links": [
            40
          ],
          "localized_name": "IMAGE",
          "name": "IMAGE",
          "type": "IMAGE"
        },
        {
          "links": null,
          "localized_name": "MASK",
          "name": "MASK",
          "type": "MASK"
        }
      ],
      "pos": [
        719.9999647848284,
        4050.0001644114063
      ],
      "properties": {
        "Node name for S&R": "LoadImage"
      },
      "size": [
        280,
        340
      ],
      "title": "ENVIRONMENT IMAGE (OPTIONAL)",
      "type": "LoadImage",
      "widgets_values": [
        "4c370806c4cd4afd5fdb6353b8b23af0041b942ba30ffaaa7dd57b56a5714f74.png",
        "image"
      ]
    },
    {
      "bgcolor": "#353",
      "color": "#232",
      "flags": {},
      "id": 14,
      "inputs": [],
      "mode": 0,
      "order": 2,
      "outputs": [
        {
          "links": [
            23
          ],
          "name": "STRING",
          "type": "STRING",
          "widget": {
            "name": "string_b"
          }
        }
      ],
      "pos": [
        439.9999370415756,
        3760.000156845065
      ],
      "properties": {
        "Run widget replace on values": false
      },
      "size": [
        560,
        250
      ],
      "title": "DESCRIBE YOUR SCENE",
      "type": "PrimitiveNode",
      "widgets_values": [
        "a medium wide shot of the talent, wearing tennis attire, is enjoying a sip of the soda with eyes closed and a joyful expression while standing in the tennis court"
      ]
    },
    {
      "bgcolor": "#353",
      "color": "#232",
      "flags": {},
      "id": 15,
      "inputs": [
        {
          "link": null,
          "localized_name": "image",
          "name": "image",
          "type": "COMBO",
          "widget": {
            "name": "image"
          }
        },
        {
          "link": null,
          "localized_name": "choose file to upload",
          "name": "upload",
          "type": "IMAGEUPLOAD",
          "widget": {
            "name": "upload"
          }
        }
      ],
      "mode": 0,
      "order": 3,
      "outputs": [
        {
          "links": [
            38
          ],
          "localized_name": "IMAGE",
          "name": "IMAGE",
          "type": "IMAGE"
        },
        {
          "links": null,
          "localized_name": "MASK",
          "name": "MASK",
          "type": "MASK"
        }
      ],
      "pos": [
        439.9999370415756,
        4050.0001644114063
      ],
      "properties": {
        "Node name for S&R": "LoadImage"
      },
      "size": [
        270,
        340
      ],
      "title": "PRODUCT IMAGE (OPTIONAL)",
      "type": "LoadImage",
      "widgets_values": [
        "98df7d7d486233540f6dd22f2f4e30992fd8a2a8dc8b4b4b02b614c9184f47a5.png",
        "image"
      ]
    },
    {
      "flags": {
        "collapsed": true
      },
      "id": 17,
      "inputs": [
        {
          "link": null,
          "localized_name": "string_a",
          "name": "string_a",
          "type": "STRING",
          "widget": {
            "name": "string_a"
          }
        },
        {
          "link": 23,
          "localized_name": "string_b",
          "name": "string_b",
          "type": "STRING",
          "widget": {
            "name": "string_b"
          }
        },
        {
          "link": null,
          "localized_name": "delimiter",
          "name": "delimiter",
          "type": "STRING",
          "widget": {
            "name": "delimiter"
          }
        }
      ],
      "mode": 0,
      "order": 7,
      "outputs": [
        {
          "links": [
            41
          ],
          "localized_name": "STRING",
          "name": "STRING",
          "type": "STRING"
        }
      ],
      "pos": [
        1070,
        3770
      ],
      "properties": {
        "Node name for S&R": "StringConcatenate"
      },
      "size": [
        540,
        350
      ],
      "type": "StringConcatenate",
      "widgets_values": [
        "Generate a still frame from a high-end video production with professional color grading, using the input person, product (optional), and environment (optional) as references.",
        "a medium wide shot of the talent, wearing tennis attire, is enjoying a sip of the soda with eyes closed and a joyful expression while standing in the tennis court",
        ""
      ]
    },
    {
      "flags": {
        "collapsed": true
      },
      "id": 18,
      "inputs": [
        {
          "link": 39,
          "localized_name": "image_1",
          "name": "image_1",
          "type": "IMAGE"
        },
        {
          "link": 38,
          "localized_name": "image_2",
          "name": "image_2",
          "shape": 7,
          "type": "IMAGE"
        },
        {
          "link": null,
          "localized_name": "inputcount",
          "name": "inputcount",
          "type": "INT",
          "widget": {
            "name": "inputcount"
          }
        },
        {
          "link": 40,
          "name": "image_3",
          "shape": 7,
          "type": "IMAGE"
        }
      ],
      "mode": 0,
      "order": 8,
      "outputs": [
        {
          "links": [
            42
          ],
          "localized_name": "images",
          "name": "images",
          "type": "IMAGE"
        }
      ],
      "pos": [
        1070,
        3720
      ],
      "properties": {},
      "size": [
        270,
        180
      ],
      "type": "ImageBatchMulti",
      "widgets_values": [
        3,
        null
      ]
    },
    {
      "bgcolor": "#653",
      "color": "#432",
      "flags": {},
      "id": 19,
      "inputs": [
        {
          "link": 42,
          "localized_name": "images",
          "name": "images",
          "shape": 7,
          "type": "IMAGE"
        },
        {
          "link": null,
          "localized_name": "files",
          "name": "files",
          "shape": 7,
          "type": "GEMINI_INPUT_FILES"
        },
        {
          "link": 41,
          "localized_name": "prompt",
          "name": "prompt",
          "type": "STRING",
          "widget": {
            "name": "prompt"
          }
        },
        {
          "link": null,
          "localized_name": "model",
          "name": "model",
          "type": "COMBO",
          "widget": {
            "name": "model"
          }
        },
        {
          "link": null,
          "localized_name": "seed",
          "name": "seed",
          "type": "INT",
          "widget": {
            "name": "seed"
          }
        },
        {
          "link": null,
          "localized_name": "aspect_ratio",
          "name": "aspect_ratio",
          "type": "COMBO",
          "widget": {
            "name": "aspect_ratio"
          }
        },
        {
          "link": null,
          "localized_name": "resolution",
          "name": "resolution",
          "type": "COMBO",
          "widget": {
            "name": "resolution"
          }
        },
        {
          "link": null,
          "localized_name": "response_modalities",
          "name": "response_modalities",
          "type": "COMBO",
          "widget": {
            "name": "response_modalities"
          }
        },
        {
          "link": null,
          "localized_name": "system_prompt",
          "name": "system_prompt",
          "shape": 7,
          "type": "STRING",
          "widget": {
            "name": "system_prompt"
          }
        }
      ],
      "mode": 0,
      "order": 11,
      "outputs": [
        {
          "links": [
            43
          ],
          "localized_name": "IMAGE",
          "name": "IMAGE",
          "type": "IMAGE"
        },
        {
          "links": null,
          "localized_name": "STRING",
          "name": "STRING",
          "type": "STRING"
        }
      ],
      "pos": [
        1069.9999773953978,
        3830.0001669335206
      ],
      "properties": {
        "Node name for S&R": "GeminiImage2Node"
      },
      "size": [
        410,
        380
      ],
      "type": "GeminiImage2Node",
      "widgets_values": [
        "Take the reference image as a logo and generate a hand cream bottle from it with minimal labels. Translucent white bottle. Studio lighting, clean product photography.",
        "gemini-3-pro-image-preview",
        648574004136694,
        "randomize",
        "16:9",
        "1K",
        "IMAGE+TEXT",
        "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."
      ]
    },
    {
      "bgcolor": "#653",
      "color": "#432",
      "flags": {},
      "id": 20,
      "inputs": [
        {
          "link": 44,
          "localized_name": "reference_images",
          "name": "reference_images",
          "type": "IMAGE"
        },
        {
          "link": null,
          "localized_name": "model_name",
          "name": "model_name",
          "type": "COMBO",
          "widget": {
            "name": "model_name"
          }
        },
        {
          "link": 47,
          "localized_name": "prompt",
          "name": "prompt",
          "type": "STRING",
          "widget": {
            "name": "prompt"
          }
        },
        {
          "link": null,
          "localized_name": "aspect_ratio",
          "name": "aspect_ratio",
          "type": "COMBO",
          "widget": {
            "name": "aspect_ratio"
          }
        },
        {
          "link": null,
          "localized_name": "duration",
          "name": "duration",
          "type": "INT",
          "widget": {
            "name": "duration"
          }
        },
        {
          "link": null,
          "localized_name": "resolution",
          "name": "resolution",
          "shape": 7,
          "type": "COMBO",
          "widget": {
            "name": "resolution"
          }
        },
        {
          "link": null,
          "localized_name": "storyboards",
          "name": "storyboards",
          "shape": 7,
          "type": "COMFY_DYNAMICCOMBO_V3",
          "widget": {
            "name": "storyboards"
          }
        },
        {
          "link": null,
          "localized_name": "generate_audio",
          "name": "generate_audio",
          "shape": 7,
          "type": "BOOLEAN",
          "widget": {
            "name": "generate_audio"
          }
        },
        {
          "link": null,
          "localized_name": "seed",
          "name": "seed",
          "shape": 7,
          "type": "INT",
          "widget": {
            "name": "seed"
          }
        }
      ],
      "mode": 0,
      "order": 12,
      "outputs": [
        {
          "links": [
            49
          ],
          "localized_name": "VIDEO",
          "name": "VIDEO",
          "type": "VIDEO"
        }
      ],
      "pos": [
        1079.9999824396257,
        4720.000161889293
      ],
      "properties": {
        "Node name for S&R": "KlingOmniProImageToVideoNode"
      },
      "size": [
        400,
        347.625
      ],
      "type": "KlingOmniProImageToVideoNode",
      "widgets_values": [
        "kling-v3-omni",
        "use the first image as first frame, and the second image as the character reference. Generate: ",
        "16:9",
        5,
        "720p",
        "disabled",
        false,
        1766898599,
        "randomize"
      ]
    },
    {
      "bgcolor": "#353",
      "color": "#232",
      "flags": {},
      "id": 22,
      "inputs": [
        {
          "link": null,
          "localized_name": "image",
          "name": "image",
          "type": "COMBO",
          "widget": {
            "name": "image"
          }
        },
        {
          "link": null,
          "localized_name": "choose file to upload",
          "name": "upload",
          "type": "IMAGEUPLOAD",
          "widget": {
            "name": "upload"
          }
        }
      ],
      "mode": 0,
      "order": 4,
      "outputs": [
        {
          "links": [
            46
          ],
          "localized_name": "IMAGE",
          "name": "IMAGE",
          "type": "IMAGE"
        },
        {
          "links": null,
          "localized_name": "MASK",
          "name": "MASK",
          "type": "MASK"
        }
      ],
      "pos": [
        439.9999370415756,
        4880.000192154659
      ],
      "properties": {
        "Node name for S&R": "LoadImage"
      },
      "size": [
        530,
        490
      ],
      "title": "FIRST FRAME",
      "type": "LoadImage",
      "widgets_values": [
        "76de64153dd9c28d8b9a367605f41d69144ea68478f8234c7fbf0d51dfc3bdff.png",
        "image"
      ]
    },
    {
      "flags": {
        "collapsed": true
      },
      "id": 23,
      "inputs": [
        {
          "link": 46,
          "localized_name": "image_1",
          "name": "image_1",
          "type": "IMAGE"
        },
        {
          "link": 45,
          "localized_name": "image_2",
          "name": "image_2",
          "shape": 7,
          "type": "IMAGE"
        },
        {
          "link": null,
          "localized_name": "inputcount",
          "name": "inputcount",
          "type": "INT",
          "widget": {
            "name": "inputcount"
          }
        },
        {
          "link": null,
          "name": "image_3",
          "shape": 7,
          "type": "IMAGE"
        }
      ],
      "mode": 0,
      "order": 9,
      "outputs": [
        {
          "links": [
            44
          ],
          "localized_name": "images",
          "name": "images",
          "type": "IMAGE"
        }
      ],
      "pos": [
        1110,
        4600
      ],
      "properties": {},
      "size": [
        270,
        180
      ],
      "type": "ImageBatchMulti",
      "widgets_values": [
        3,
        null
      ]
    },
    {
      "flags": {
        "collapsed": true
      },
      "id": 24,
      "inputs": [
        {
          "link": null,
          "localized_name": "string_a",
          "name": "string_a",
          "type": "STRING",
          "widget": {
            "name": "string_a"
          }
        },
        {
          "link": 48,
          "localized_name": "string_b",
          "name": "string_b",
          "type": "STRING",
          "widget": {
            "name": "string_b"
          }
        },
        {
          "link": null,
          "localized_name": "delimiter",
          "name": "delimiter",
          "type": "STRING",
          "widget": {
            "name": "delimiter"
          }
        }
      ],
      "mode": 0,
      "order": 10,
      "outputs": [
        {
          "links": [
            47
          ],
          "localized_name": "STRING",
          "name": "STRING",
          "type": "STRING"
        }
      ],
      "pos": [
        1110,
        4660
      ],
      "properties": {
        "Node name for S&R": "StringConcatenate"
      },
      "size": [
        540,
        350
      ],
      "type": "StringConcatenate",
      "widgets_values": [
        "use the first image as first frame, and the second image as the character reference. Generate: ",
        "A woman takes a sip of the drink with joy, and then looks at the can. Camera slowly dollies in.",
        ""
      ]
    },
    {
      "bgcolor": "#353",
      "color": "#232",
      "flags": {},
      "id": 25,
      "inputs": [],
      "mode": 0,
      "order": 5,
      "outputs": [
        {
          "links": [
            48
          ],
          "name": "STRING",
          "type": "STRING",
          "widget": {
            "name": "string_b"
          }
        }
      ],
      "pos": [
        439.9999370415756,
        4640.000171977748
      ],
      "properties": {
        "Run widget replace on values": false
      },
      "size": [
        530,
        190
      ],
      "title": "DESCRIBE YOUR SCENE",
      "type": "PrimitiveNode",
      "widgets_values": [
        "A woman takes a sip of the drink with joy, and then looks at the can. Camera slowly dollies in."
      ]
    },
    {
      "bgcolor": "#653",
      "color": "#432",
      "flags": {},
      "id": 26,
      "inputs": [
        {
          "link": 49,
          "localized_name": "video",
          "name": "video",
          "type": "VIDEO"
        },
        {
          "link": null,
          "localized_name": "filename_prefix",
          "name": "filename_prefix",
          "type": "STRING",
          "widget": {
            "name": "filename_prefix"
          }
        },
        {
          "link": null,
          "localized_name": "format",
          "name": "format",
          "type": "COMBO",
          "widget": {
            "name": "format"
          }
        },
        {
          "link": null,
          "localized_name": "codec",
          "name": "codec",
          "type": "COMBO",
          "widget": {
            "name": "codec"
          }
        }
      ],
      "mode": 0,
      "order": 14,
      "outputs": [],
      "pos": [
        1530.0000076607644,
        4600.000177021976
      ],
      "properties": {},
      "size": [
        1000,
        690
      ],
      "type": "SaveVideo",
      "widgets_values": [
        "video/Casting_Previs",
        "auto",
        "auto"
      ]
    },
    {
      "bgcolor": "#653",
      "color": "#432",
      "flags": {},
      "id": 27,
      "inputs": [],
      "mode": 0,
      "order": 6,
      "outputs": [],
      "pos": [
        -580.0001234891577,
        3330.0001417123817
      ],
      "properties": {},
      "size": [
        610,
        250
      ],
      "title": "Quick Intro",
      "type": "MarkdownNote",
      "widgets_values": [
        "Input talent headshot first\n\n**STEP 1 - PREVIS STILL FRAME** \n<br> Generate a still frame for casting previs with text prompts and optional reference images. Product and environment images are optional inputs.\n\n**STEP 2 - PREVIS VIDEO** \n<br> Generate a quick video previs with a still frame.\n\n**Generate the still frame first, then use the generated still frame as input for previs video**"
      ]
    }
  ],
  "revision": 0,
  "version": 0.4
}