{
  "id": "ac859c0d-0942-4e39-9252-fa689a086457",
  "revision": 0,
  "last_node_id": 13,
  "last_link_id": 27,
  "nodes": [
    {
      "id": 2,
      "type": "LoadImage",
      "pos": [
        -526.4133603988332,
        -10.414026228329902
      ],
      "size": [
        290,
        370
      ],
      "flags": {},
      "order": 0,
      "mode": 0,
      "inputs": [],
      "outputs": [
        {
          "name": "IMAGE",
          "type": "IMAGE",
          "links": [
            27
          ]
        },
        {
          "name": "MASK",
          "type": "MASK",
          "links": null
        }
      ],
      "properties": {
        "Node name for S&R": "LoadImage"
      },
      "widgets_values": [
        "blue_poppies_field.png",
        "image"
      ],
      "widgets_values_named": {
        "image": "blue_poppies_field.png",
        "upload": "image"
      }
    },
    {
      "id": 3,
      "type": "SaveText",
      "pos": [
        940,
        -10
      ],
      "size": [
        400,
        420
      ],
      "flags": {},
      "order": 5,
      "mode": 0,
      "inputs": [
        {
          "name": "text",
          "type": "STRING",
          "link": 17
        }
      ],
      "outputs": [
        {
          "name": "text",
          "type": "STRING",
          "links": null
        }
      ],
      "properties": {
        "Node name for S&R": "SaveText"
      },
      "widgets_values": [
        "Hy4/Tencent_Hy4",
        "txt"
      ],
      "widgets_values_named": {
        "filename_prefix": "Hy4/Tencent_Hy4",
        "format": "txt"
      }
    },
    {
      "id": 5,
      "type": "PrimitiveStringMultiline",
      "pos": [
        -637.0207918834813,
        448.236492130905
      ],
      "size": [
        410,
        360
      ],
      "flags": {
        "collapsed": false
      },
      "order": 1,
      "mode": 0,
      "inputs": [],
      "outputs": [
        {
          "name": "STRING",
          "type": "STRING",
          "links": [
            21,
            26
          ]
        }
      ],
      "title": "Text (User Prompt)",
      "properties": {
        "Node name for S&R": "PrimitiveStringMultiline"
      },
      "widgets_values": [
        "Analyze all visual features of the image, generate standard AI art positive prompt.\nExtract subject, character pose, composition, camera angle, lighting, color palette, texture, art style, rendering type, background and details.\nArrange content in order: subject, composition & camera, lighting & color, texture & style, image quality. Separate words with commas.\nOnly output positive prompt, no extra explanations, no negative prompts."
      ],
      "widgets_values_named": {
        "value": "Analyze all visual features of the image, generate standard AI art positive prompt.\nExtract subject, character pose, composition, camera angle, lighting, color palette, texture, art style, rendering type, background and details.\nArrange content in order: subject, composition & camera, lighting & color, texture & style, image quality. Separate words with commas.\nOnly output positive prompt, no extra explanations, no negative prompts."
      }
    },
    {
      "id": 9,
      "type": "PreviewAny",
      "pos": [
        259.58663960116684,
        -10.414026228329902
      ],
      "size": [
        270,
        290
      ],
      "flags": {},
      "order": 3,
      "mode": 0,
      "inputs": [
        {
          "name": "source",
          "type": "*",
          "link": 25
        }
      ],
      "outputs": [
        {
          "name": "STRING",
          "type": "STRING",
          "links": [
            20
          ]
        }
      ],
      "properties": {
        "Node name for S&R": "PreviewAny"
      },
      "widgets_values": [],
      "widgets_values_named": {}
    },
    {
      "id": 10,
      "type": "1d28f9d1-7c68-4b3b-99f5-2bf7fe0615c5",
      "pos": [
        630,
        -10
      ],
      "size": [
        250,
        280
      ],
      "flags": {},
      "order": 4,
      "mode": 0,
      "inputs": [
        {
          "label": "prompt",
          "name": "string_b",
          "type": "STRING",
          "widget": {
            "name": "string_b"
          },
          "link": 21
        },
        {
          "label": "output",
          "name": "string_b_1",
          "type": "STRING",
          "widget": {
            "name": "string_b_1"
          },
          "link": 20
        }
      ],
      "outputs": [
        {
          "name": "STRING",
          "type": "STRING",
          "links": [
            17
          ]
        }
      ],
      "properties": {
        "previewExposures": []
      },
      "widgets_values": [
        "",
        ""
      ],
      "widgets_values_named": {
        "string_b": "",
        "string_b_1": ""
      }
    },
    {
      "id": 12,
      "type": "TencentHyNode",
      "pos": [
        -188.41336039883316,
        -10.414026228329902
      ],
      "size": [
        400,
        306
      ],
      "flags": {},
      "order": 2,
      "mode": 0,
      "showAdvanced": true,
      "inputs": [
        {
          "name": "model.prompt",
          "type": "STRING",
          "widget": {
            "name": "model.prompt"
          },
          "link": 26
        },
        {
          "name": "model.images.image_1",
          "shape": 7,
          "type": "IMAGE",
          "link": 27
        },
        {
          "name": "model.images.image_2",
          "shape": 7,
          "type": "IMAGE",
          "link": null
        }
      ],
      "outputs": [
        {
          "name": "STRING",
          "type": "STRING",
          "links": [
            25
          ]
        }
      ],
      "properties": {
        "Node name for S&R": "TencentHyNode"
      },
      "widgets_values": [
        "Hy4",
        "",
        1583813440,
        "randomize",
        false,
        1,
        32000,
        ""
      ],
      "widgets_values_named": {
        "model": "Hy4",
        "model.prompt": "",
        "model.seed": 1583813440,
        "control_after_generate": "randomize",
        "model.reasoning": false,
        "model.temperature": 1,
        "model.max_tokens": 32000,
        "model.system_prompt": ""
      },
      "color": "#432",
      "bgcolor": "#653"
    },
    {
      "id": 13,
      "type": "MarkdownNote",
      "pos": [
        -637,
        860
      ],
      "size": [
        1100,
        520
      ],
      "flags": {},
      "order": 6,
      "mode": 0,
      "inputs": [],
      "outputs": [],
      "properties": {},
      "widgets_values": [
        "## Hy4: Image to Prompt\n\n**Input Assets**\n- [blue_poppies_field.png](https://raw.githubusercontent.com/Comfy-Org/workflow_templates/refs/heads/main/input/blue_poppies_field.png) — required workflow input (`input/blue_poppies_field.png`)\n\nTurn a reference image into a reusable prompt. **Tencent HY** (Hy4) reads `Load Image` plus the instruction in **Text (User Prompt)** and writes back a prompt you can paste into any generator. `Preview as Text` shows the reply; **Format Output** wraps it into a text file.\n\n- Edit **Text (User Prompt)** to choose what to extract: subject, composition, lighting, colour, style.\n- Hy4 accepts up to 20 images per request; this graph wires one.\n- Output: `Hy4/Tencent_Hy4`.\n"
      ],
      "widgets_values_named": {
        "text": "## Hy4: Image to Prompt\n\n**Input Assets**\n- [blue_poppies_field.png](https://raw.githubusercontent.com/Comfy-Org/workflow_templates/refs/heads/main/input/blue_poppies_field.png) — required workflow input (`input/blue_poppies_field.png`)\n\nTurn a reference image into a reusable prompt. **Tencent HY** (Hy4) reads `Load Image` plus the instruction in **Text (User Prompt)** and writes back a prompt you can paste into any generator. `Preview as Text` shows the reply; **Format Output** wraps it into a text file.\n\n- Edit **Text (User Prompt)** to choose what to extract: subject, composition, lighting, colour, style.\n- Hy4 accepts up to 20 images per request; this graph wires one.\n- Output: `Hy4/Tencent_Hy4`.\n"
      },
      "color": "#222",
      "bgcolor": "#000"
    }
  ],
  "links": [
    [
      17,
      10,
      0,
      3,
      0,
      "STRING"
    ],
    [
      20,
      9,
      0,
      10,
      1,
      "STRING"
    ],
    [
      21,
      5,
      0,
      10,
      0,
      "STRING"
    ],
    [
      25,
      12,
      0,
      9,
      0,
      "STRING"
    ],
    [
      26,
      5,
      0,
      12,
      0,
      "STRING"
    ],
    [
      27,
      2,
      0,
      12,
      1,
      "IMAGE"
    ]
  ],
  "groups": [
    {
      "id": 1,
      "title": "Save output",
      "bounding": [
        620,
        -80,
        730,
        500
      ],
      "color": "#3f789e",
      "flags": {}
    }
  ],
  "definitions": {
    "subgraphs": [
      {
        "id": "1d28f9d1-7c68-4b3b-99f5-2bf7fe0615c5",
        "version": 1,
        "state": {
          "lastGroupId": 1,
          "lastNodeId": 12,
          "lastLinkId": 27,
          "lastRerouteId": 0
        },
        "revision": 0,
        "config": {},
        "name": "Format Output",
        "inputNode": {
          "id": -10,
          "bounding": [
            492,
            251,
            128,
            88
          ]
        },
        "outputNode": {
          "id": -20,
          "bounding": [
            1630,
            261,
            128,
            68
          ]
        },
        "inputs": [
          {
            "id": "98b260aa-97cb-4c0c-a23b-c112110a86ab",
            "name": "string_b",
            "type": "STRING",
            "linkIds": [
              18
            ],
            "label": "prompt",
            "pos": [
              596,
              275
            ]
          },
          {
            "id": "5fd17593-37c5-450a-8928-72d2971fca23",
            "name": "string_b_1",
            "type": "STRING",
            "linkIds": [
              19
            ],
            "label": "output",
            "pos": [
              596,
              295
            ]
          }
        ],
        "outputs": [
          {
            "id": "3e51d9a9-eada-4386-bd38-a856b8a32500",
            "name": "STRING",
            "type": "STRING",
            "linkIds": [
              14
            ],
            "localized_name": "STRING",
            "pos": [
              1654,
              285
            ]
          }
        ],
        "widgets": [],
        "nodes": [
          {
            "id": 7,
            "type": "StringConcatenate",
            "pos": [
              680,
              30
            ],
            "size": [
              400,
              250
            ],
            "flags": {},
            "order": 1,
            "mode": 0,
            "inputs": [
              {
                "localized_name": "string_b",
                "name": "string_b",
                "type": "STRING",
                "widget": {
                  "name": "string_b"
                },
                "link": 19
              }
            ],
            "outputs": [
              {
                "localized_name": "STRING",
                "name": "STRING",
                "type": "STRING",
                "links": [
                  9
                ]
              }
            ],
            "properties": {
              "Node name for S&R": "StringConcatenate"
            },
            "widgets_values": [
              "\n\nOUTPUT:\n\n",
              "",
              ""
            ],
            "widgets_values_named": {
              "string_a": "\n\nOUTPUT:\n\n",
              "string_b": "",
              "delimiter": ""
            }
          },
          {
            "id": 6,
            "type": "StringConcatenate",
            "pos": [
              690,
              340
            ],
            "size": [
              400,
              250
            ],
            "flags": {},
            "order": 0,
            "mode": 0,
            "inputs": [
              {
                "localized_name": "string_b",
                "name": "string_b",
                "type": "STRING",
                "widget": {
                  "name": "string_b"
                },
                "link": 18
              }
            ],
            "outputs": [
              {
                "localized_name": "STRING",
                "name": "STRING",
                "type": "STRING",
                "links": [
                  13
                ]
              }
            ],
            "properties": {
              "Node name for S&R": "StringConcatenate"
            },
            "widgets_values": [
              "USER PROMPT:\n\n",
              "",
              ""
            ],
            "widgets_values_named": {
              "string_a": "USER PROMPT:\n\n",
              "string_b": "",
              "delimiter": ""
            }
          },
          {
            "id": 8,
            "type": "StringConcatenate",
            "pos": [
              1170,
              30
            ],
            "size": [
              400,
              250
            ],
            "flags": {},
            "order": 2,
            "mode": 0,
            "inputs": [
              {
                "localized_name": "string_a",
                "name": "string_a",
                "type": "STRING",
                "widget": {
                  "name": "string_a"
                },
                "link": 13
              },
              {
                "localized_name": "string_b",
                "name": "string_b",
                "type": "STRING",
                "widget": {
                  "name": "string_b"
                },
                "link": 9
              }
            ],
            "outputs": [
              {
                "localized_name": "STRING",
                "name": "STRING",
                "type": "STRING",
                "links": [
                  14
                ]
              }
            ],
            "properties": {
              "Node name for S&R": "StringConcatenate"
            },
            "widgets_values": [
              "",
              "",
              ""
            ],
            "widgets_values_named": {
              "string_a": "",
              "string_b": "",
              "delimiter": ""
            }
          }
        ],
        "groups": [],
        "links": [
          {
            "id": 13,
            "origin_id": 6,
            "origin_slot": 0,
            "target_id": 8,
            "target_slot": 0,
            "type": "STRING"
          },
          {
            "id": 9,
            "origin_id": 7,
            "origin_slot": 0,
            "target_id": 8,
            "target_slot": 1,
            "type": "STRING"
          },
          {
            "id": 14,
            "origin_id": 8,
            "origin_slot": 0,
            "target_id": -20,
            "target_slot": 0,
            "type": "STRING"
          },
          {
            "id": 19,
            "origin_id": -10,
            "origin_slot": 1,
            "target_id": 7,
            "target_slot": 0,
            "type": "STRING"
          },
          {
            "id": 18,
            "origin_id": -10,
            "origin_slot": 0,
            "target_id": 6,
            "target_slot": 0,
            "type": "STRING"
          }
        ],
        "extra": {}
      }
    ]
  },
  "config": {},
  "extra": {
    "ds": {
      "scale": 0.6639903362646115,
      "offset": [
        1010.7712973614462,
        370.2284412889779
      ]
    },
    "frontendVersion": "1.58.5"
  },
  "version": 0.4
}