Endgültige LinkedIn-Posts (mit Bildkopien)

Experte

Dies ist ein Content Creation, Multimodal AI-Bereich Automatisierungsworkflow mit 25 Nodes. Hauptsächlich werden Set, Code, Wait, FormTrigger, HttpRequest und andere Nodes verwendet. LinkedIn-Posts zur sofortigen Veröffentlichung mit Gemini-Inhalten und Imagen-Bildern generieren

Voraussetzungen
  • Möglicherweise sind Ziel-API-Anmeldedaten erforderlich
  • Google Gemini API Key
Workflow-Vorschau
Visualisierung der Node-Verbindungen, mit Zoom und Pan
Workflow exportieren
Kopieren Sie die folgende JSON-Konfiguration und importieren Sie sie in n8n
{
  "id": "RFldRNPrwo9SKlfl",
  "meta": {
    "instanceId": "2258ec685869ceb3853cc84bc91464933b5223a91d4836b2fde76106a442d5c4",
    "templateCredsSetupCompleted": true
  },
  "name": "Final-Linkein-post with image copy",
  "tags": [],
  "nodes": [
    {
      "id": "c857bae2-9915-4c76-8171-3847dc610092",
      "name": "Bei Formularübermittlung",
      "type": "n8n-nodes-base.formTrigger",
      "position": [
        512,
        304
      ],
      "webhookId": "60f5ee52-0a91-4e25-8e16-14c3a58a5f49",
      "parameters": {
        "options": {},
        "formTitle": "LinkedIn Post Generator ",
        "formFields": {
          "values": [
            {
              "fieldLabel": "Topic",
              "placeholder": "Enter prompt here....",
              "requiredField": true
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "b545a052-851c-4bfb-9a4c-6c343d45821d",
      "name": "Mapper",
      "type": "n8n-nodes-base.set",
      "position": [
        768,
        304
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "694a158d-53fd-425c-9a42-be4288c17ac9",
              "name": "chatInput",
              "type": "string",
              "value": "={{ $json.Topic }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "ddafb2fd-1326-4131-9ef3-7fe19ad00666",
      "name": "KI-Agent",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        1008,
        304
      ],
      "parameters": {
        "options": {
          "systemMessage": "=I need help creating a professional LinkedIn post for the topic: \"{{ $json.chatInput }}\". The output should include:\n\n1. **LinkedIn Post Content**:\n   - Write an engaging and informative LinkedIn post on the topic \" {{ $json.chatInput }}\".\n   - Start with an attention-grabbing hook that entices readers to read further.\n   - Provide valuable insights or actionable tips related to the topic.\n   - The tone should be professional, clear, and concise, using language that's easy to understand.\n   - End with a call to action (CTA) encouraging the audience to engage, reflect, or share their thoughts.\n   - Include relevant hashtags to increase engagement and visibility on LinkedIn. Make sure these hashtags are specific to the topic and aligned with trending keywords for LinkedIn posts.\n\n2. Image Generation Prompt:\n\nVisual Aesthetic:\nThe image should align with LinkedIn's professional and corporate atmosphere. Make sure it conveys sophistication, modernity, and relevance to the topic. Avoid overly busy designs.\n\nColor Palette:\nStick to corporate tones such as blues, whites, and grays to maintain a professional and clean look. Consider using gradients for depth or subtle contrasts to highlight key elements.\n\nImagery:\n\nFocus on visualizing the topic of the post. For AI in Business, this could involve:\n\nA futuristic office or workspace setting, highlighting cutting-edge technologies.\n\nIcons or symbols that represent data analysis, AI, or automation.\n\nVisuals of humans interacting with AI systems (e.g., robots working alongside humans or using AI tools).\n\nAbstract representations of neural networks or digital data flows.\n\nNo Text Overlay:\n\nDo not include any text in the image, ensuring it remains clean and focuses solely on the visuals.\n\nText overlays or titles are not necessary in this case to keep the professional look intact.\n\nStyle and Tone:\n\nThe design should be minimalist, modern, and sleek. Use a balanced layout with a focus on professional imagery that resonates with business-minded audiences.\n\nAvoid overly complex or distracting backgrounds—keep it clean and visually appealing.\n\nFont Style (if applicable):\n\nIf any text were used in future visuals or branding (though none should appear in this image), use clean, modern fonts like Helvetica, Arial, or Roboto—sans-serif fonts that are readable and professional.\n\nimage prompt can be like this short and simple\nA modern co-working space where AI assistants and human employees brainstorm around a digital whiteboard. The scene shows innovation and teamwork, with a multicultural group, smart gadgets, and subtle futuristic elements. Warm natural lighting and a balanced, professional layout ideal for a LinkedIn audience.\n the JSON output would look like this:\n{\n  \"post_content\": {\n    \"text\": \"The Future of AI in Business: How It is Transforming Industries 🚀\\n\\nAI in Business is no longer just a buzzword; it's revolutionizing the way businesses operate today. From improving efficiency to driving innovation, AI is an essential tool for modern companies.\\n\\nHere are some key insights on how AI in Business is shaping the future of industries:\\n1. Enhanced Data Analytics: AI helps businesses make data-driven decisions with greater accuracy.\\n2. Automation of Tasks: AI is automating repetitive tasks, improving operational efficiency.\\n3. Personalized Experiences: AI is enabling personalized customer experiences in real-time.\\n\\nIs your business ready to embrace AI in Business? Let's discuss how it can help drive growth and innovation.\\n\\n#AIinBusiness #Innovation #FutureOfWork #BusinessGrowth #TechnologyTrends #DigitalTransformation\"\n  },\n  \"image_prompt\": {\n    \"description\": \"Create an image for a LinkedIn post on the topic of AI in Business. The image should:\\n- Feature modern, sleek visuals that align with the corporate tone of LinkedIn.\\n- Visualize AI in Business through elements like a futuristic office, AI-powered systems, or human-robot collaboration.\\n- Use a professional color palette like blues, whites, and grays.\\n- The optional text overlay (if relevant) could be something like 'The Future of AI in Business' or 'Driving Innovation with AI'.\\n- The design should use clean, modern fonts that are easily readable and match the professional style of LinkedIn posts.\"\n  }\n}\n"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "6dd0d0ed-abe7-4508-b7cc-ff98a7d2000f",
      "name": "Google Gemini Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
      "position": [
        960,
        544
      ],
      "parameters": {
        "options": {},
        "modelName": "models/gemini-2.5-pro"
      },
      "credentials": {
        "googlePalmApi": {
          "id": "PkawEPumgac59Gta",
          "name": "Google Gemini(PaLM) Api account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "33a57e05-34f6-46ab-bb86-47f09a2e3a80",
      "name": "Normalizer",
      "type": "n8n-nodes-base.code",
      "position": [
        1392,
        304
      ],
      "parameters": {
        "jsCode": "const input = $input.first().json.output\n\nconst cleanedInput = input.replace(/```json|```/g, '').trim();\n\n// Parse the cleaned JSON\nconst parsedOutput = JSON.parse(cleanedInput);\n\n// Extract the `post_content.text` and `image_prompt.description` details\nconst postContent = parsedOutput.post_content.text;\nconst imagePrompt = parsedOutput.image_prompt.description;\n\n// Prepare the final output in the desired JSON structure\nreturn {\n  post_content: postContent,\n  image_prompt: imagePrompt\n};"
      },
      "typeVersion": 2
    },
    {
      "id": "10af428c-b536-4986-a63a-41e5007f542e",
      "name": "Haftnotiz",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        0,
        0
      ],
      "parameters": {
        "height": 700,
        "content": "> **AI-Powered LinkedIn Post Automation**  \n>  \n> This workflow automates the process of creating LinkedIn posts based on user-submitted topics. It generates both **content** and a **professional image** using AI, and automatically publishes the post to LinkedIn.\n>  \n> - **Trigger**: Activated when a user submits a form with a topic for a LinkedIn post.\n> - **AI Content Generation**: Uses Google Gemini to generate an engaging post and image prompt.\n> - **Image Creation**: The prompt is sent to **[Google's Imagen 4 API](https://cloud.google.com/vertex-ai/generative-ai/docs/model-reference/imagen-api?hl=en)** for image generation.\n> - **Post Creation**: The generated text and image are posted directly to LinkedIn.\n>  \n> **Key Features**:  \n> 1. Automated post creation for LinkedIn.  \n> 2. Professional image generation with an AI-driven prompt.  \n> 3. Instant publishing to your LinkedIn feed.\n"
      },
      "typeVersion": 1
    },
    {
      "id": "6a4d1be6-b0fd-4ec2-a60d-e02389fdea79",
      "name": "Haftnotiz1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        448,
        144
      ],
      "parameters": {
        "height": 320,
        "content": "**On Form Submission**  \n> Triggered when a user submits a topic through the form. This starts the workflow and captures the topic to generate a LinkedIn post.\n  "
      },
      "typeVersion": 1
    },
    {
      "id": "f8ce4e8b-f8b2-4212-af3c-72c8d89a6892",
      "name": "Haftnotiz2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        704,
        144
      ],
      "parameters": {
        "height": 320,
        "content": "> **Mapper**  \n> Maps the user-submitted topic from the form and prepares it for the next step by assigning it to a variable (`chatInput`).\n"
      },
      "typeVersion": 1
    },
    {
      "id": "a013df4a-9249-4db4-93d7-f195fb2f7c0a",
      "name": "Haftnotiz3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        992,
        144
      ],
      "parameters": {
        "width": 300,
        "height": 320,
        "content": "**AI Agent**  \n> Uses the **Google Gemini** model to generate professional content for the LinkedIn post, including text and an image prompt based on the given topic.\n"
      },
      "typeVersion": 1
    },
    {
      "id": "648ceed3-1f37-4700-bf95-75d583294797",
      "name": "Haftnotiz4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1328,
        144
      ],
      "parameters": {
        "height": 320,
        "content": " **Normalizer**  \n> Cleans and formats the AI-generated output into a readable structure for the next steps, extracting both the post text and image prompt.\n"
      },
      "typeVersion": 1
    },
    {
      "id": "c0cfcf0d-0fbf-4c7f-9862-784e2e6ff356",
      "name": "Haftnotiz5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1600,
        144
      ],
      "parameters": {
        "height": 320,
        "content": "> **Text to Image**  \n> Sends the image prompt to the **[Google's Imagen API](https://cloud.google.com/vertex-ai/generative-ai/docs/model-reference/imagen-api?hl=en)** to generate a professional image for the LinkedIn post based on the given topic.\n"
      },
      "typeVersion": 1
    },
    {
      "id": "f3d297b7-d750-4499-a017-4f09852a78b2",
      "name": "Haftnotiz6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2160,
        144
      ],
      "parameters": {
        "height": 320,
        "content": "**Decoder**  \n> Decodes the image from its base64 format into a usable binary buffer that can be uploaded to LinkedIn.\n"
      },
      "typeVersion": 1
    },
    {
      "id": "0b407f2a-1920-42bb-96f6-76866127ea48",
      "name": "Haftnotiz7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        3248,
        144
      ],
      "parameters": {
        "height": 320,
        "content": "> **LinkedIn**  \n> Publishes the generated LinkedIn post, including the text and the newly created image, directly to the user's LinkedIn profile.\n"
      },
      "typeVersion": 1
    },
    {
      "id": "2f088968-5974-4d5a-ba92-c5246f7300d0",
      "name": "HTTP Request",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        3328,
        304
      ],
      "parameters": {
        "url": "https://api.linkedin.com/v2/ugcPosts",
        "body": "={\n  \"author\": \"urn:li:person:WimBNoaqJp\",\n  \"lifecycleState\": \"PUBLISHED\",\n  \"specificContent\": {\n    \"com.linkedin.ugc.ShareContent\": {\n      \"shareCommentary\": {\n        \"text\": {{ $json.linkedin_content ? JSON.stringify($json.linkedin_content) : \"\\\"\\\"\"}}\n      },\n      \"shareMediaCategory\": \"IMAGE\",\n      \"media\": [\n        {\n          \"media\": \"{{ $('Register Image Upload').item.json.value.asset }}\",\n          \"status\": \"READY\",\n          \"thumbnails\": []\n        }\n      ]\n    }\n  },\n  \"visibility\": {\n    \"com.linkedin.ugc.MemberNetworkVisibility\": \"PUBLIC\"\n  }\n}",
        "method": "POST",
        "options": {},
        "sendBody": true,
        "contentType": "raw",
        "sendHeaders": true,
        "authentication": "genericCredentialType",
        "rawContentType": "=application/json",
        "genericAuthType": "httpBearerAuth",
        "headerParameters": {
          "parameters": [
            {
              "name": "X-Restli-Protocol-Version",
              "value": "2.0.0"
            },
            {
              "name": "Content-Type",
              "value": "application/json"
            }
          ]
        }
      },
      "credentials": {
        "httpBearerAuth": {
          "id": "zWWjfYgBt3AcglIq",
          "name": "Linkedin Auth Token"
        },
        "linkedInOAuth2Api": {
          "id": "dDzA3FtByj49nm1b",
          "name": "LinkedIn account"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "bf60b9f5-fe3a-465c-81ea-c1a393924362",
      "name": "Bild-Upload registrieren",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1936,
        304
      ],
      "parameters": {
        "url": "https://api.linkedin.com/v2/assets?action=registerUpload",
        "body": "={\n  \"registerUploadRequest\": {\n    \"recipes\": [\n      \"urn:li:digitalmediaRecipe:feedshare-image\"\n    ],\n    \"owner\": \"urn:li:person:WimBNoaqJp\",\n    \"serviceRelationships\": [\n      {\n        \"relationshipType\": \"OWNER\",\n        \"identifier\": \"urn:li:userGeneratedContent\"\n      }\n    ],\n    \"supportedUploadMechanism\": [\n      \"SYNCHRONOUS_UPLOAD\"\n    ]\n  }\n}",
        "method": "POST",
        "options": {},
        "sendBody": true,
        "contentType": "raw",
        "sendHeaders": true,
        "authentication": "genericCredentialType",
        "rawContentType": "application/json",
        "genericAuthType": "httpBearerAuth",
        "headerParameters": {
          "parameters": [
            {
              "name": "X-Restli-Protocol-Version",
              "value": "2.0.0"
            }
          ]
        }
      },
      "credentials": {
        "httpBearerAuth": {
          "id": "zWWjfYgBt3AcglIq",
          "name": "Linkedin Auth Token"
        },
        "linkedInOAuth2Api": {
          "id": "dDzA3FtByj49nm1b",
          "name": "LinkedIn account"
        }
      },
      "typeVersion": 4
    },
    {
      "id": "ec7cc327-dd4d-45bd-b05e-92cff72b2452",
      "name": "Text zu Bild1",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        1664,
        304
      ],
      "parameters": {
        "url": "https://us-central1-aiplatform.googleapis.com/v1/projects/absolute-hub-464011-c1/locations/us-central1/publishers/google/models/imagen-4.0-generate-preview-06-06:predict",
        "body": "={\n \"endpoint\": \"projects/absolute-hub-464011-c1/locations/us-central1/publishers/google/models/imagen-4.0-generate-preview-06-06\",\n \"instances\": [\n {\n \"prompt\": \"{{ $json.image_prompt }}\"\n }\n ],\n \"parameters\": {\n \"aspectRatio\": \"1:1\",\n \"sampleCount\": 1,\n \"negativePrompt\": \"\",\n \"enhancePrompt\": false,\n \"personGeneration\": \"allow_all\",\n \"safetySetting\": \"block_few\",\n \"addWatermark\": true,\n \"includeRaiReason\": true,\n \"language\": \"auto\"\n }\n}",
        "method": "POST",
        "options": {},
        "sendBody": true,
        "contentType": "raw",
        "authentication": "genericCredentialType",
        "rawContentType": "application/json",
        "genericAuthType": "httpBearerAuth"
      },
      "credentials": {
        "httpBearerAuth": {
          "id": "z2K4qf4BOXRy4LVJ",
          "name": "Gcloud Auth Token"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "a5980d83-bd72-4db4-b902-a9876781eea1",
      "name": "Bild zu LinkedIn hochladen1",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        2496,
        304
      ],
      "parameters": {
        "url": "={{ $('Register Image Upload').item.json.value.uploadMechanism['com.linkedin.digitalmedia.uploading.MediaUploadHttpRequest'].uploadUrl }}",
        "method": "PUT",
        "options": {},
        "sendBody": true,
        "contentType": "binaryData",
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "Authorization",
              "value": "Bearer Redacted"
            },
            {
              "name": "Content-Type",
              "value": "image/png"
            }
          ]
        },
        "inputDataFieldName": "data"
      },
      "typeVersion": 4
    },
    {
      "id": "da0925bc-93f5-41bb-ba33-a0c988736b3a",
      "name": "In Binärpuffer konvertieren",
      "type": "n8n-nodes-base.code",
      "position": [
        2224,
        304
      ],
      "parameters": {
        "jsCode": "const base64 = $('Text to image1').first().json.predictions[0].bytesBase64Encoded;\nconst uploadUrl = $input.first().json.value.uploadMechanism['com.linkedin.digitalmedia.uploading.MediaUploadHttpRequest'].uploadUrl;\nconst asset = $input.first().json.value.asset;\nconst post_content = $('Normalizer').first().json.post_content || '';\n\n// Validate input fields\nif (!base64 || !uploadUrl || !asset) {\n  throw new Error(\"Missing one of: decoded_image_buffer, uploadUrl, or asset.\");\n}\n\n// Convert base64 string to binary buffer\nconst buffer = Buffer.from(base64, 'base64');\n\nreturn [{\n  binary: {\n    data: {\n      data: buffer,\n      mimeType: 'image/png', // or 'image/jpeg' if needed\n      fileName: 'image.png'\n    }\n  },\n  json: {\n    uploadUrl,\n    asset,\n    post_content\n  }\n}];\n"
      },
      "typeVersion": 2
    },
    {
      "id": "2f0be0b9-50a2-4835-bcfc-c844d85d3cae",
      "name": "Code",
      "type": "n8n-nodes-base.code",
      "position": [
        2768,
        304
      ],
      "parameters": {
        "jsCode": "// n8n Code Node: Convert Markdown to LinkedIn Format\n// This code processes markdown content from a specific field and converts it to LinkedIn-compatible format\n\n// Get the markdown content from the specific field\nlet markdownContent = $('Convert to binary buffer').first().json.post_content || '';\n  \n  // Function to convert markdown to LinkedIn format\n  function convertMarkdownToLinkedIn(content) {\n    let linkedinContent = content;\n    \n    // 1. Handle bold text: **text** or __text__ -> text (LinkedIn doesn't support markdown bold)\n    // But we can use Unicode bold characters or just keep it as regular text\n    linkedinContent = linkedinContent.replace(/\\*\\*(.*?)\\*\\*/g, '$1');\n    linkedinContent = linkedinContent.replace(/__(.*?)__/g, '$1');\n    \n    // 2. Handle italic text: *text* or _text_ -> text\n    linkedinContent = linkedinContent.replace(/\\*(.*?)\\*/g, '$1');\n    linkedinContent = linkedinContent.replace(/_(.*?)_/g, '$1');\n    \n    // 3. Handle numbered lists: convert 1️⃣, 2️⃣, 3️⃣ format or regular numbered lists\n    // Keep emoji numbers as they are, but handle regular numbered lists\n    linkedinContent = linkedinContent.replace(/^\\d+\\.\\s/gm, '• ');\n    \n    // 4. Handle bullet points: convert - or * to •\n    linkedinContent = linkedinContent.replace(/^[\\-\\*]\\s/gm, '• ');\n    \n    // 5. Handle line breaks: convert \\n to actual line breaks\n    linkedinContent = linkedinContent.replace(/\\\\n/g, '\\n');\n    \n    // 6. Handle headers: remove # symbols but keep the text prominent\n    linkedinContent = linkedinContent.replace(/^#{1,6}\\s/gm, '');\n    \n    // 7. Handle links: [text](url) -> text (url) or just text\n    linkedinContent = linkedinContent.replace(/\\[([^\\]]+)\\]\\(([^\\)]+)\\)/g, '$1 ($2)');\n    \n    // 8. Handle code blocks: remove ``` or ` formatting\n    linkedinContent = linkedinContent.replace(/```[\\s\\S]*?```/g, (match) => {\n      return match.replace(/```/g, '');\n    });\n    linkedinContent = linkedinContent.replace(/`([^`]+)`/g, '$1');\n    \n    // 9. Clean up excessive line breaks (more than 2 consecutive)\n    linkedinContent = linkedinContent.replace(/\\n{3,}/g, '\\n\\n');\n    \n    // 10. Trim whitespace from start and end\n    linkedinContent = linkedinContent.trim();\n    \n    // 11. Handle special LinkedIn formatting\n    // LinkedIn supports emojis, so keep them as they are\n    // LinkedIn supports line breaks, so maintain paragraph structure\n    \n    return linkedinContent;\n  }\n  \n  // Function to add LinkedIn-specific enhancements\n  function enhanceForLinkedIn(content) {\n    let enhanced = content;\n    \n    // Add extra line break before emoji bullets for better readability\n    enhanced = enhanced.replace(/([.!?])\\s*([1-9]️⃣)/g, '$1\\n\\n$2');\n    \n    // Ensure proper spacing around key sections\n    enhanced = enhanced.replace(/(:)\\n\\n([1-9]️⃣)/g, '$1\\n\\n$2');\n    \n    // Handle hashtag formatting - ensure they're on a new line\n    const hashtagPattern = /#\\w+/g;\n    const hashtags = enhanced.match(hashtagPattern);\n    \n    if (hashtags) {\n      // Remove hashtags from content\n      enhanced = enhanced.replace(hashtagPattern, '').trim();\n      \n      // Add hashtags at the end with proper spacing\n      enhanced += '\\n\\n' + hashtags.join(' ');\n    }\n    \n    return enhanced;\n  }\n  \n// Process the content\nlet processedContent = convertMarkdownToLinkedIn(markdownContent);\nprocessedContent = enhanceForLinkedIn(processedContent);\n\n// Return the single processed item\nreturn {\n  json: {\n    original_content: markdownContent,\n    linkedin_content: processedContent,\n    processed_at: new Date().toISOString(),\n    character_count: processedContent.length\n  }\n};\n\n/* \nUSAGE INSTRUCTIONS:\n1. Add this code to an n8n Code Node\n2. Make sure you have a previous node named \"Convert to binary buffer\" \n3. The code will read from the \"post_content\" field of that node\n4. The output will include:\n   - original_content: The original markdown content\n   - linkedin_content: The processed LinkedIn-ready content\n   - processed_at: Timestamp of processing\n   - character_count: Length of the processed content\n\nEXAMPLE INPUT from \"Convert to binary buffer\" node:\n{\n  \"post_content\": \"Forget just asking AI questions. The next evolution is here: AI agents that *take action*. 🤖\\\\n\\\\nWe're moving beyond conversational AI...\"\n}\n\nEXAMPLE OUTPUT:\n{\n  \"original_content\": \"Forget just asking AI questions...\",\n  \"linkedin_content\": \"Forget just asking AI questions. The next evolution is here: AI agents that take action. 🤖\\n\\nWe're moving beyond conversational AI...\",\n  \"processed_at\": \"2024-01-15T10:30:00.000Z\",\n  \"character_count\": 1250\n}\n*/"
      },
      "typeVersion": 2
    },
    {
      "id": "85b1e201-fdc5-4c89-b517-46247dd87fbe",
      "name": "Haftnotiz8",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1872,
        144
      ],
      "parameters": {
        "height": 320,
        "content": "> **Register Image on Linkedin**  \n> Register an image on linkedin [Linkidin API](https://learn.microsoft.com/en-us/linkedin/marketing/community-management/shares/images-api?view=li-lms-2025-07&tabs=http)\n"
      },
      "typeVersion": 1
    },
    {
      "id": "4d71376f-6a23-4e30-bea9-a78bb9a902c8",
      "name": "Haftnotiz9",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2432,
        144
      ],
      "parameters": {
        "height": 320,
        "content": "**Upload Binary buffer**  \n> Upload binary buffer  to LinkedIn [Linkidin API](https://learn.microsoft.com/en-us/linkedin/marketing/community-management/shares/images-api?view=li-lms-2025-07&tabs=http)\n.\n"
      },
      "typeVersion": 1
    },
    {
      "id": "9619d25a-79a6-4274-b5e2-2c0b4f7e4f1e",
      "name": "Haftnotiz10",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2704,
        144
      ],
      "parameters": {
        "height": 320,
        "content": "**Curate content**  \n> LLM generally output with MD format, this node curates output of generated contents."
      },
      "typeVersion": 1
    },
    {
      "id": "c884458a-d440-4bf7-a70e-410e96b9591f",
      "name": "Haftnotiz11",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2976,
        144
      ],
      "parameters": {
        "height": 320,
        "content": "**Wait for uploading the image**  \n> Wait 30-60 seconds between image upload and post creation."
      },
      "typeVersion": 1
    },
    {
      "id": "47e5f253-8096-4afd-ba9e-e5db91199aa9",
      "name": "Warten",
      "type": "n8n-nodes-base.wait",
      "position": [
        3040,
        304
      ],
      "webhookId": "931a20ed-0390-41e9-8a7e-ac68588c4a29",
      "parameters": {
        "amount": 60
      },
      "typeVersion": 1.1
    },
    {
      "id": "99af8bab-3eb4-4d31-8d9e-8e88efc2fb9c",
      "name": "Haftnotiz12",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        16,
        752
      ],
      "parameters": {
        "color": 5,
        "width": 460,
        "height": 140,
        "content": "### Geo Restrictions!\nPlease note at time of writing, the Gemini Image Generation model is restricted to certain countries and regions. If you're getting model not found errors, it's possible the model may not be available in your country!"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "8c9e1d4a-71d5-457d-90c1-7ddd1ae7ad51",
  "connections": {
    "2f0be0b9-50a2-4835-bcfc-c844d85d3cae": {
      "main": [
        [
          {
            "node": "47e5f253-8096-4afd-ba9e-e5db91199aa9",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "47e5f253-8096-4afd-ba9e-e5db91199aa9": {
      "main": [
        [
          {
            "node": "2f088968-5974-4d5a-ba92-c5246f7300d0",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "b545a052-851c-4bfb-9a4c-6c343d45821d": {
      "main": [
        [
          {
            "node": "ddafb2fd-1326-4131-9ef3-7fe19ad00666",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "ddafb2fd-1326-4131-9ef3-7fe19ad00666": {
      "main": [
        [
          {
            "node": "33a57e05-34f6-46ab-bb86-47f09a2e3a80",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "33a57e05-34f6-46ab-bb86-47f09a2e3a80": {
      "main": [
        [
          {
            "node": "ec7cc327-dd4d-45bd-b05e-92cff72b2452",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "ec7cc327-dd4d-45bd-b05e-92cff72b2452": {
      "main": [
        [
          {
            "node": "bf60b9f5-fe3a-465c-81ea-c1a393924362",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "c857bae2-9915-4c76-8171-3847dc610092": {
      "main": [
        [
          {
            "node": "b545a052-851c-4bfb-9a4c-6c343d45821d",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "bf60b9f5-fe3a-465c-81ea-c1a393924362": {
      "main": [
        [
          {
            "node": "da0925bc-93f5-41bb-ba33-a0c988736b3a",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "da0925bc-93f5-41bb-ba33-a0c988736b3a": {
      "main": [
        [
          {
            "node": "a5980d83-bd72-4db4-b902-a9876781eea1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "6dd0d0ed-abe7-4508-b7cc-ff98a7d2000f": {
      "ai_languageModel": [
        [
          {
            "node": "ddafb2fd-1326-4131-9ef3-7fe19ad00666",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "a5980d83-bd72-4db4-b902-a9876781eea1": {
      "main": [
        [
          {
            "node": "2f0be0b9-50a2-4835-bcfc-c844d85d3cae",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
Häufig gestellte Fragen

Wie verwende ich diesen Workflow?

Kopieren Sie den obigen JSON-Code, erstellen Sie einen neuen Workflow in Ihrer n8n-Instanz und wählen Sie "Aus JSON importieren". Fügen Sie die Konfiguration ein und passen Sie die Anmeldedaten nach Bedarf an.

Für welche Szenarien ist dieser Workflow geeignet?

Experte - Content-Erstellung, Multimodales KI

Ist es kostenpflichtig?

Dieser Workflow ist völlig kostenlos. Beachten Sie jedoch, dass Drittanbieterdienste (wie OpenAI API), die im Workflow verwendet werden, möglicherweise kostenpflichtig sind.

Workflow-Informationen
Schwierigkeitsgrad
Experte
Anzahl der Nodes25
Kategorie2
Node-Typen8
Schwierigkeitsbeschreibung

Für fortgeschrittene Benutzer, komplexe Workflows mit 16+ Nodes

Autor
Naitik Joshi

Naitik Joshi

@niks23

IT professional with over 14 years experience helping IT services and teams to streamline their projects/product processes.

Externe Links
Auf n8n.io ansehen

Diesen Workflow teilen

Kategorien

Kategorien: 34