{
  "name": "Blog Idea Generator",
  "description": "Give it a topic and get ten fresh blog post ideas to kick-start your writing — all generated locally, with no account needed.",
  "tags": [
    "blog ideas",
    "brainstorm",
    "content ideas",
    "writing",
    "on-device ai",
    "marketing"
  ],
  "type": "triggered",
  "nodes": [
    {
      "id": "sticky-intro",
      "position": {
        "x": 20,
        "y": 20
      },
      "data": {
        "color": "#fff266",
        "content": "💡 Generate blog post ideas.\n\nPress Run to get 10 blog post ideas about the topic in the prompt below. Edit the topic to anything you like. The AI runs locally in your browser — nothing leaves your device. Pick a model the first time."
      },
      "type": "stickyNote",
      "width": 340,
      "height": 190
    },
    {
      "id": "trigger-run",
      "position": {
        "x": 100,
        "y": 280
      },
      "data": {
        "instance": {
          "id": "af-base-node:trigger:whenStarted"
        },
        "label": "Run now",
        "inputs": {},
        "parameters": {
          "notes": "Starts the workflow when you press Run."
        }
      },
      "type": "trigger"
    },
    {
      "id": "generate",
      "position": {
        "x": 420,
        "y": 280
      },
      "data": {
        "instance": {
          "id": "af-base-node:agent:basicLLMChain"
        },
        "label": "Generate ideas",
        "inputs": {
          "prompt": "Generate 10 blog post ideas about: productivity apps",
          "options": {
            "systemMessage": "Return a simple list"
          }
        },
        "parameters": {
          "notes": "Asks the local model for 10 blog post ideas. Edit the topic in the prompt.\n\nUNVERIFIED: outputParser port index — the item-list output parser is attached on dependency-1."
        }
      },
      "type": "agent"
    },
    {
      "id": "local-model",
      "position": {
        "x": 420,
        "y": 500
      },
      "data": {
        "instance": {
          "id": "af-base-node:dependency:webLLM"
        },
        "label": "Local AI model",
        "inputs": {
          "model": "",
          "options": {
            "temperature": 0.4
          }
        },
        "parameters": {
          "notes": "Runs the model locally in your browser. Pick a model the first time — it downloads once, then works offline."
        }
      },
      "type": "dependency"
    },
    {
      "id": "list-parser",
      "position": {
        "x": 640,
        "y": 500
      },
      "data": {
        "instance": {
          "id": "af-base-node:dependency:item-list-output-parser"
        },
        "label": "List output parser",
        "inputs": {},
        "parameters": {
          "notes": "Formats the model's output as a clean list."
        }
      },
      "type": "dependency"
    },
    {
      "id": "show-ideas",
      "position": {
        "x": 740,
        "y": 280
      },
      "data": {
        "instance": {
          "id": "af-base-node:basic:displayMarkdownNode"
        },
        "label": "Show the ideas",
        "inputs": {
          "title": "Ideas",
          "content": "{{ $input.response }}"
        },
        "parameters": {
          "notes": "Displays the generated list of ideas."
        }
      },
      "type": "basic"
    },
    {
      "id": "sticky-model",
      "position": {
        "x": 420,
        "y": 660
      },
      "data": {
        "color": "#ffd9b3",
        "content": "Setup needed: pick a local model the first time you run this. It downloads once, then runs fully offline."
      },
      "type": "stickyNote",
      "width": 300,
      "height": 110
    }
  ],
  "edges": [
    {
      "id": "e-run-generate",
      "type": "flowEdge",
      "source": "trigger-run",
      "target": "generate"
    },
    {
      "id": "e-generate-model",
      "type": "flowEdge",
      "source": "generate",
      "target": "local-model",
      "sourceHandle": "dependency-0"
    },
    {
      "id": "e-generate-parser",
      "type": "flowEdge",
      "source": "generate",
      "target": "list-parser",
      "sourceHandle": "dependency-1"
    },
    {
      "id": "e-generate-show",
      "type": "flowEdge",
      "source": "generate",
      "target": "show-ideas"
    }
  ]
}