Konvertierung von Artikeln in Bluesky-Thread-Posts mit JinaAI und Gemini-GPT
Experte
Dies ist ein AI Summarization, Multimodal AI-Bereich Automatisierungsworkflow mit 21 Nodes. Hauptsächlich werden If, Set, Code, Wait, JinaAi und andere Nodes verwendet. Verwenden Sie JinaAI und Gemini/GPT, um Artikel in Bluesky-Thread-Posts umzuwandeln
Voraussetzungen
- •Telegram Bot Token
- •OpenAI API Key
- •Google Gemini API Key
Verwendete Nodes (21)
Kategorie
Workflow-Vorschau
Visualisierung der Node-Verbindungen, mit Zoom und Pan
Workflow exportieren
Kopieren Sie die folgende JSON-Konfiguration und importieren Sie sie in n8n
{
"meta": {
"instanceId": "a5fd400c6ce3e6fce31bb31916a9cfa04e30e08115d80423a7e69507457fa5bb",
"templateCredsSetupCompleted": true
},
"nodes": [
{
"id": "3209ae09-810e-4b97-84fa-7a6a55c2bc51",
"name": "Gemini",
"type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
"position": [
672,
448
],
"parameters": {
"options": {}
},
"credentials": {
"googlePalmApi": {
"id": "1j4LpZni96FuQhiY",
"name": "DevUratelier"
}
},
"typeVersion": 1
},
{
"id": "9ab04e86-e205-4771-ade5-854fa6f1aa07",
"name": "Beitrag erstellen",
"type": "n8n-nodes-bluesky-enhanced.bluesky",
"position": [
2144,
128
],
"parameters": {
"postText": "={{ $json.data }}"
},
"credentials": {
"blueskyApi": {
"id": "wMptX8gmJ4XyHZcj",
"name": "khaisastudio"
}
},
"typeVersion": 2
},
{
"id": "388e2b67-29a7-449d-9adf-3efb4040d4f3",
"name": "Telegram Input Trigger",
"type": "n8n-nodes-base.telegramTrigger",
"position": [
0,
0
],
"webhookId": "0356d21b-18e9-4b55-88b5-e417446d7a7d",
"parameters": {
"updates": [
"message"
],
"additionalFields": {}
},
"credentials": {
"telegramApi": {
"id": "9Dco5JlAC7OO3zas",
"name": "Khaisa Develompen Bot"
}
},
"typeVersion": 1.2
},
{
"id": "ffd5f23b-9692-46f8-bbbf-3d636541a3c6",
"name": "RSS-Feed - AI Trends",
"type": "n8n-nodes-base.rssFeedReadTrigger",
"position": [
0,
576
],
"parameters": {
"feedUrl": "https://www.aitrends.com/feed/",
"pollTimes": {
"item": [
{
"hour": 0
}
]
}
},
"typeVersion": 1
},
{
"id": "c83fb2d3-d1e9-4adf-b194-0c0fcb33c698",
"name": "RSS-Feed - Machine Learning Mastery",
"type": "n8n-nodes-base.rssFeedReadTrigger",
"position": [
0,
384
],
"parameters": {
"feedUrl": "https://machinelearningmastery.com/blog/feed/",
"pollTimes": {
"item": [
{
"hour": 18
}
]
}
},
"typeVersion": 1
},
{
"id": "2ca69e66-0349-48c5-a631-148a1852c831",
"name": "RSS-Feed - Technology Review",
"type": "n8n-nodes-base.rssFeedReadTrigger",
"position": [
0,
192
],
"parameters": {
"feedUrl": "https://www.technologyreview.com/feed/",
"pollTimes": {
"item": [
{
"hour": 22
}
]
}
},
"typeVersion": 1
},
{
"id": "64fe0144-f553-442a-9c74-e61fcb0e2a0c",
"name": "Eingabe-URL vorbereiten",
"type": "n8n-nodes-base.set",
"position": [
224,
288
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "5f28758b-5440-44da-af94-0a3c7f53db32",
"name": "inputUrl",
"type": "string",
"value": "={{ $json.link || $json.message.text }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "b168e57e-5af2-48dd-8442-8bf09b46a2fa",
"name": "Webinhalte extrahieren (JinaAI)",
"type": "n8n-nodes-base.jinaAi",
"position": [
448,
288
],
"parameters": {
"url": "={{ $json.inputUrl }}",
"options": {},
"requestOptions": {}
},
"credentials": {
"jinaAiApi": {
"id": "2WpVyhvkXlQ9CB1x",
"name": "AI for Motu"
}
},
"typeVersion": 1
},
{
"id": "d3a5a132-8ae6-4c8c-bb6c-f010b7ed2b7e",
"name": "Inhalt in Thread umwandeln",
"type": "@n8n/n8n-nodes-langchain.chainLlm",
"position": [
672,
288
],
"parameters": {
"text": "=Title: {{ $json.title }}\nDescription: {{ $json.description }}\n\nContent: {{ $json.content }}",
"batching": {},
"messages": {
"messageValues": [
{
"message": "=You are a social media strategist crafting high-performing Threads posts.\nYour mission: take the input content and turn it into a captivating, scroll-stopping Threads thread. Follow these principles:\n\n1. Hook Like a Pro\nOpen with a post that makes people stop scrolling—create intrigue without lying.\n\nUse curiosity-driven hooks such as:\n\n\"This changes everything about…\"\n\n\"Most people don’t realize that…\"\n\nA bold but truthful statement.\n\nPose questions or statements that leave a knowledge gap people want to fill.\n\nKeep it authentic—never trick your audience.\n\n2. Make It Flow\nBreak the content into short, clear, and connected posts.\n\nEvery post should push the reader to the next one.\n\nKeep language simple and conversational (unless technical accuracy is critical).\n\n3. Engage Without Overdoing It\nUse humor lightly—only if it fits naturally.\n\nAvoid emojis unless they genuinely enhance the point.\n\nKeep the core message intact while optimizing for retention and shareability.\n\n4. Exact Output Rules\nFormat:\nNever use a dash or em dash, consider substituting it with other punctuation like commas or rephrase the sentence to eliminate the interruption entirely\n\nWrap the entire thread in [THREADSTART] and [THREADEND].\n\nSeparate each post with -cutthread-.\nA post is maximum of 300 character\n\n\nExample:\n\n[THREADSTART]\nFirst post content here\n-cutthread-\nSecond post content here\n-cutthread-\nThird post content here\n-cutthread-\nlastpost must be:\n\"Read more on: {{ $('Prepare Input URL').item.json.inputUrl }}\n\nGet AI automation to make life easier on https://khaisa.studio\"\n[THREADEND]\n\n\n\nOutput only the transformed thread. No greetings, explanations, or meta-notes.\n"
}
]
},
"promptType": "define"
},
"typeVersion": 1.7
},
{
"id": "a7846af1-bfd9-480d-bfcf-822b1b0c3954",
"name": "Mit nächstem Beitrag antworten",
"type": "n8n-nodes-bluesky-enhanced.bluesky",
"position": [
2144,
320
],
"parameters": {
"cid": "={{ $('Store Post URI and CID').first(0, $runIndex).json.cid }}",
"uri": "={{ $('Store Post URI and CID').first(0, $runIndex).json.uri }}",
"operation": "reply",
"replyText": "={{ $json.data }}"
},
"credentials": {
"blueskyApi": {
"id": "wMptX8gmJ4XyHZcj",
"name": "khaisastudio"
}
},
"typeVersion": 2
},
{
"id": "d19235e2-1afb-432d-a67c-54e2be4b4196",
"name": "Vor nächster Antwort warten",
"type": "n8n-nodes-base.wait",
"position": [
2368,
320
],
"webhookId": "7eedbf8e-f9d5-4e57-9460-731adb238217",
"parameters": {
"amount": 10
},
"typeVersion": 1.1
},
{
"id": "f25c81e6-e51d-49c0-88b5-8a6b5c05c549",
"name": "Vor erstem Beitrag warten (Initial)",
"type": "n8n-nodes-base.wait",
"position": [
2368,
128
],
"webhookId": "7eedbf8e-f9d5-4e57-9460-731adb238217",
"parameters": {
"amount": 10
},
"typeVersion": 1.1
},
{
"id": "42f0a200-6ab7-4b14-a106-96d3cd5c53d6",
"name": "Beitrags-URI und CID speichern",
"type": "n8n-nodes-base.set",
"position": [
2592,
320
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "917b7937-db3d-4cc8-974d-d294e99f6b2f",
"name": "uri",
"type": "string",
"value": "={{ $json.uri }}"
},
{
"id": "94914b8d-8def-4bcf-8882-6423c878b347",
"name": "cid",
"type": "string",
"value": "={{ $json.cid }}"
}
]
},
"includeOtherFields": true
},
"typeVersion": 3.4
},
{
"id": "daa3032f-45c7-425f-87b8-5e9f813152c2",
"name": "Erstbeitragsbedingung prüfen",
"type": "n8n-nodes-base.if",
"position": [
1920,
224
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "233a4b45-8983-42a1-9c18-5922cebc69ee",
"operator": {
"type": "number",
"operation": "lt"
},
"leftValue": "={{ $runIndex }}",
"rightValue": 1
}
]
}
},
"executeOnce": false,
"typeVersion": 2.2,
"alwaysOutputData": false
},
{
"id": "696904d2-25f1-4ae2-9a30-c97ee39109dd",
"name": "Thread in Beiträge aufteilen",
"type": "n8n-nodes-base.splitOut",
"position": [
1472,
288
],
"parameters": {
"options": {},
"fieldToSplitOut": "data"
},
"typeVersion": 1
},
{
"id": "a291587b-eb4d-43e6-b167-37249a0d9fc1",
"name": "Thread-Text bereinigen",
"type": "n8n-nodes-base.code",
"position": [
1248,
288
],
"parameters": {
"jsCode": "// Mengambil teks dari input menggunakan sintaks yang Anda tentukan.\nconst fullText = $input.first().json.data\n\n// Regex untuk mengekstrak blok thread.\nconst regex = /\\[THREADSTART\\]([\\s\\S]*?)\\[THREADEND\\]/;\nconst match = fullText.match(regex);\n\n// Variabel untuk menampung hasil akhir.\nlet finalArray = [];\n\n// Jika blok thread ditemukan, proses isinya.\nif (match && match[1]) {\n const contentBlock = match[1];\n\n // Pisahkan string menjadi array, lalu bersihkan setiap elemen.\n finalArray = contentBlock\n .split('-cutthread-')\n .map(thread => thread.trim())\n .filter(thread => thread.length > 0);\n}\n\n// Kembalikan satu item baru dengan format yang Anda inginkan.\n// Stuktur { json: { ... } } adalah format standar n8n untuk item.\nreturn [{\n json: {\n data: finalArray\n }\n}];"
},
"typeVersion": 2
},
{
"id": "7bb36ded-ac68-4b04-803d-de3606a01bd1",
"name": "Thread-Daten vorbereiten",
"type": "n8n-nodes-base.set",
"position": [
1024,
288
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "4b70d452-77d7-4880-86a1-efa589defdec",
"name": "data",
"type": "string",
"value": "={{ $json.text }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "ccfde7ea-492e-4e60-8512-99a9975d08a2",
"name": "Durch Thread-Beiträge iterieren",
"type": "n8n-nodes-base.splitInBatches",
"position": [
1696,
288
],
"parameters": {
"options": {}
},
"typeVersion": 3
},
{
"id": "e45bae01-92bb-492d-b57d-5cd946bb39b3",
"name": "Notiz",
"type": "n8n-nodes-base.stickyNote",
"position": [
192,
608
],
"parameters": {
"width": 528,
"height": 208,
"content": "## 📌 How to Get Credentials\n\n- **Telegram Bot** → Create a bot via [@BotFather](https://t.me/botfather), copy the *API Token*. \n- **JinaAI** → Sign up at [jina.ai](https://jina.ai), get your *API Key* from the dashboard. \n- **Google Gemini** → Enable the API at [Google AI Studio](https://makersuite.google.com/), generate an *API Key*. \n- **Bluesky** → Log in at [Bluesky](https://bsky.app), create an *App Password* in settings. \n"
},
"typeVersion": 1
},
{
"id": "ce910a82-f680-4712-be9b-430dfffafb7b",
"name": "Notiz1",
"type": "n8n-nodes-base.stickyNote",
"position": [
768,
608
],
"parameters": {
"width": 528,
"height": 208,
"content": "## Error Handling\n\n- If JinaAI fails → check URL is valid & accessible. \n- If Gemini times out → reduce prompt size or simplify input. \n- If Bluesky rejects post → check App Password validity or rate limits. \n- Always test with a small sample before running full automation. \n"
},
"typeVersion": 1
},
{
"id": "d7bb0bac-1edc-4e23-aa24-0bd58624aa43",
"name": "Alt",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
816,
448
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4.1-mini"
},
"options": {}
},
"credentials": {
"openAiApi": {
"id": "4CbQgQZVTRffRYMp",
"name": "Khaisa: aiformotu"
}
},
"typeVersion": 1.2
}
],
"pinData": {},
"connections": {
"3209ae09-810e-4b97-84fa-7a6a55c2bc51": {
"ai_languageModel": [
[
{
"node": "d3a5a132-8ae6-4c8c-bb6c-f010b7ed2b7e",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"9ab04e86-e205-4771-ade5-854fa6f1aa07": {
"main": [
[
{
"node": "f25c81e6-e51d-49c0-88b5-8a6b5c05c549",
"type": "main",
"index": 0
}
]
]
},
"a291587b-eb4d-43e6-b167-37249a0d9fc1": {
"main": [
[
{
"node": "696904d2-25f1-4ae2-9a30-c97ee39109dd",
"type": "main",
"index": 0
}
]
]
},
"64fe0144-f553-442a-9c74-e61fcb0e2a0c": {
"main": [
[
{
"node": "b168e57e-5af2-48dd-8442-8bf09b46a2fa",
"type": "main",
"index": 0
}
]
]
},
"7bb36ded-ac68-4b04-803d-de3606a01bd1": {
"main": [
[
{
"node": "a291587b-eb4d-43e6-b167-37249a0d9fc1",
"type": "main",
"index": 0
}
]
]
},
"ffd5f23b-9692-46f8-bbbf-3d636541a3c6": {
"main": [
[
{
"node": "64fe0144-f553-442a-9c74-e61fcb0e2a0c",
"type": "main",
"index": 0
}
]
]
},
"a7846af1-bfd9-480d-bfcf-822b1b0c3954": {
"main": [
[
{
"node": "d19235e2-1afb-432d-a67c-54e2be4b4196",
"type": "main",
"index": 0
}
]
]
},
"42f0a200-6ab7-4b14-a106-96d3cd5c53d6": {
"main": [
[
{
"node": "ccfde7ea-492e-4e60-8512-99a9975d08a2",
"type": "main",
"index": 0
}
]
]
},
"388e2b67-29a7-449d-9adf-3efb4040d4f3": {
"main": [
[
{
"node": "64fe0144-f553-442a-9c74-e61fcb0e2a0c",
"type": "main",
"index": 0
}
]
]
},
"d19235e2-1afb-432d-a67c-54e2be4b4196": {
"main": [
[
{
"node": "42f0a200-6ab7-4b14-a106-96d3cd5c53d6",
"type": "main",
"index": 0
}
]
]
},
"696904d2-25f1-4ae2-9a30-c97ee39109dd": {
"main": [
[
{
"node": "ccfde7ea-492e-4e60-8512-99a9975d08a2",
"type": "main",
"index": 0
}
]
]
},
"ccfde7ea-492e-4e60-8512-99a9975d08a2": {
"main": [
[],
[
{
"node": "daa3032f-45c7-425f-87b8-5e9f813152c2",
"type": "main",
"index": 0
}
]
]
},
"daa3032f-45c7-425f-87b8-5e9f813152c2": {
"main": [
[
{
"node": "9ab04e86-e205-4771-ade5-854fa6f1aa07",
"type": "main",
"index": 0
}
],
[
{
"node": "a7846af1-bfd9-480d-bfcf-822b1b0c3954",
"type": "main",
"index": 0
}
]
]
},
"d3a5a132-8ae6-4c8c-bb6c-f010b7ed2b7e": {
"main": [
[
{
"node": "7bb36ded-ac68-4b04-803d-de3606a01bd1",
"type": "main",
"index": 0
}
]
]
},
"b168e57e-5af2-48dd-8442-8bf09b46a2fa": {
"main": [
[
{
"node": "d3a5a132-8ae6-4c8c-bb6c-f010b7ed2b7e",
"type": "main",
"index": 0
}
]
]
},
"2ca69e66-0349-48c5-a631-148a1852c831": {
"main": [
[
{
"node": "64fe0144-f553-442a-9c74-e61fcb0e2a0c",
"type": "main",
"index": 0
}
]
]
},
"f25c81e6-e51d-49c0-88b5-8a6b5c05c549": {
"main": [
[
{
"node": "42f0a200-6ab7-4b14-a106-96d3cd5c53d6",
"type": "main",
"index": 0
}
]
]
},
"c83fb2d3-d1e9-4adf-b194-0c0fcb33c698": {
"main": [
[
{
"node": "64fe0144-f553-442a-9c74-e61fcb0e2a0c",
"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 - KI-Zusammenfassung, 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.
Verwandte Workflows
WordPress + Soziale Medien
Automatisierte Blog-Erstellung und Veröffentlichung auf mehreren Plattformen basierend auf GPT/Gemini und WordPress
If
Set
Switch
+
If
Set
Switch
44 NodesKhairul Muhtadin
Content-Erstellung
Automatisches Wiederveröffentlichen von Stellen mit Rag
Automatisierte Stellenextraktion und Veröffentlichung auf Basis von RAG, Jina AI und OpenAI zu WordPress
If
Set
Code
+
If
Set
Code
56 NodesKhairul Muhtadin
Personalwesen
Arbeite mit GPT-4 und Airtable, um Workflow-Logs automatisch zu erfassen und zu sichern
Automatische Protokollierung und Sicherung von Workflows mithilfe von GPT-4 und Airtable
If
N8n
Set
+
If
N8n
Set
38 NodesGuillaume Duvernay
KI-Zusammenfassung
Business-Partner-Erschließung mit Google Maps, GPT-4 und WhatsApp automatisieren
Geschäftliche Partnerakquise mit Google Maps, GPT-4 und WhatsApp automatisieren
If
Set
Code
+
If
Set
Code
64 NodesKhairul Muhtadin
KI-Chatbot
Automatisierte Extraktion von Stellenanzeigen und Veröffentlichungsvorlagen
Automatische Extraktion von Stellenanzeigen mit Veröffentlichungsvorlagen
If
Set
Code
+
If
Set
Code
53 NodesKhairul Muhtadin
Personalwesen
Tägliche intelligente Analyse der WhatsApp-Gruppen: GPT-4.1-Analyse und Transkription von Sprachnachrichten
Tägliche intelligente Analyse von WhatsApp-Gruppen: GPT-4.1-Analyse und Transkription von Sprachnachrichten
If
Set
Code
+
If
Set
Code
52 NodesDaniel Lianes
Verschiedenes
Workflow-Informationen
Schwierigkeitsgrad
Experte
Anzahl der Nodes21
Kategorie2
Node-Typen14
Autor
Khairul Muhtadin
@khmuhtadinExterne Links
Auf n8n.io ansehen →
Diesen Workflow teilen