{
  "id": "4e058ab6-c976-4f8d-be9a-ccfda1fce1da",
  "revision": 0,
  "last_node_id": 4,
  "last_link_id": 2,
  "nodes": [
    {
      "id": 1,
      "type": "OpenRouterLLMNode",
      "pos": [
        -1330,
        0
      ],
      "size": [
        420,
        420
      ],
      "flags": {},
      "order": 2,
      "mode": 0,
      "showAdvanced": true,
      "inputs": [
        {
          "label": "image_1",
          "name": "model.images.image_1",
          "shape": 7,
          "type": "IMAGE",
          "link": 1
        },
        {
          "label": "image_2",
          "name": "model.images.image_2",
          "shape": 7,
          "type": "IMAGE",
          "link": null
        }
      ],
      "outputs": [
        {
          "name": "STRING",
          "type": "STRING",
          "links": [
            2
          ]
        }
      ],
      "properties": {
        "Node name for S&R": "OpenRouterLLMNode"
      },
      "widgets_values": [
        "Analyze the attached reference image and output a single, ready-to-use text-to-image prompt.",
        "anthropic/claude-opus-4.7",
        "off",
        386110317,
        "randomize",
        "You are an expert prompt engineer for diffusion and flow-matching image models (e.g. FLUX, SDXL). Study the reference image: main subject, pose, composition, framing, lighting, color palette, materials, art style, mood, and level of detail. Write one concise positive prompt that would recreate a similar image—comma-separated tags are fine. Prefer concrete visual descriptors over abstract commentary. Do not describe your process. Output only the generation prompt."
      ],
      "color": "#432",
      "bgcolor": "#653"
    },
    {
      "id": 2,
      "type": "LoadImage",
      "pos": [
        -1650,
        0
      ],
      "size": [
        290,
        370
      ],
      "flags": {},
      "order": 0,
      "mode": 0,
      "inputs": [],
      "outputs": [
        {
          "name": "IMAGE",
          "type": "IMAGE",
          "links": [
            1
          ]
        },
        {
          "name": "MASK",
          "type": "MASK",
          "links": null
        }
      ],
      "properties": {
        "Node name for S&R": "LoadImage"
      },
      "widgets_values": [
        "contact_sheet_app_input_1.png",
        "image"
      ]
    },
    {
      "id": 3,
      "type": "PreviewAny",
      "pos": [
        -890,
        0
      ],
      "size": [
        430,
        380
      ],
      "flags": {},
      "order": 3,
      "mode": 0,
      "inputs": [
        {
          "name": "source",
          "type": "*",
          "link": 2
        }
      ],
      "outputs": [
        {
          "name": "STRING",
          "type": "STRING",
          "links": null
        }
      ],
      "properties": {
        "Node name for S&R": "PreviewAny"
      },
      "widgets_values": [
        null,
        null,
        null
      ]
    },
    {
      "id": 4,
      "type": "MarkdownNote",
      "pos": [
        -2250,
        0
      ],
      "size": [
        560,
        970
      ],
      "flags": {},
      "order": 1,
      "mode": 0,
      "inputs": [],
      "outputs": [],
      "properties": {},
      "widgets_values": [
        "# OpenRouter LLM\n\nThis API node sends chat requests through OpenRouter using a curated model list (Claude, GPT, Gemini, Grok, DeepSeek, Qwen, Mistral, GLM, Kimi, Perplexity Sonar, and others).\n\n## Inputs change with the selected model\n\nThe **model** dropdown is a dynamic combo: switching models updates which inputs appear and how many media slots you get.\n\n- **Images / videos** — Shown only for vision-capable models. Max slots vary by model (e.g. up to 20 images on Claude, GPT, Grok, and Gemini; 10 on Qwen and Kimi; 8 on Mistral). Gemini 3.5 Flash and Qwen 3.6 Plus/Flash also expose video inputs.\n- **Reasoning effort** — Available on reasoning and frontier-reasoning models (`off` / `low` / `medium` / `high`). Not shown on standard text-only models.\n- **Search context size** — Available on Perplexity Sonar models for web-grounded answers.\n\nModels without vision support hide image and video inputs entirely.\n\n## This workflow\n\n1. **Load Image** feeds a reference into the model’s image slot(s).\n2. **OpenRouter LLM** analyzes the image and returns a text-to-image prompt (see **prompt** and **system_prompt** on the node).\n3. **Preview Any** displays the string for copy-paste into downstream image generation nodes.\n\nToken pricing is shown on the node badge and depends on the selected model."
      ],
      "color": "#222",
      "bgcolor": "#000"
    }
  ],
  "links": [
    [
      1,
      2,
      0,
      1,
      0,
      "IMAGE"
    ],
    [
      2,
      1,
      0,
      3,
      0,
      "STRING"
    ]
  ],
  "groups": [],
  "config": {},
  "extra": {
    "ds": {
      "scale": 0.5685279105002078,
      "offset": [
        2642.25070470376,
        653.2569952034215
      ]
    },
    "frontendVersion": "1.45.12"
  },
  "version": 0.4
}