为您的内容创建自动更新的图像和重定向URL
高级
这是一个Social Media领域的自动化工作流,包含 19 个节点。主要使用 Gmail, Github, EditImage, FormTrigger, HttpRequest 等节点。 使用GitHub动态图像和URL重定向创建常青内容
前置要求
- •Google 账号和 Gmail API 凭证
- •GitHub Personal Access Token
- •可能需要目标 API 的认证凭证
分类
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
"id": "FVsgc9AjW27LUTIf",
"meta": {
"instanceId": "fb924c73af8f703905bc09c9ee8076f48c17b596ed05b18c0ff86915ef8a7c4a",
"templateCredsSetupCompleted": true
},
"name": "为您的内容创建自动更新的图像和重定向 URL",
"tags": [],
"nodes": [
{
"id": "d74bab24-d81c-4d18-8539-4aa0d71cb22a",
"name": "点击\"执行工作流\"时",
"type": "n8n-nodes-base.manualTrigger",
"position": [
1680,
140
],
"parameters": {},
"typeVersion": 1
},
{
"id": "10c33346-1562-4dff-afdd-abeaa146ea20",
"name": "创建新的 URL 重定向",
"type": "n8n-nodes-base.httpRequest",
"position": [
0,
-180
],
"parameters": {
"url": "https://api.shorten.rest/aliases",
"method": "POST",
"options": {},
"jsonBody": "={\n \"destinations\":[{\"url\":\"https://en.wikipedia.org/wiki/{{ $now.format('DDD').split(',')[0].replaceAll(' ','_') }}\"}]\n}",
"sendBody": true,
"sendQuery": true,
"specifyBody": "json",
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"queryParameters": {
"parameters": [
{
"name": "domainName",
"value": "short.fyi"
},
{
"name": "aliasName",
"value": "today-in-history"
}
]
}
},
"credentials": {
"httpHeaderAuth": {
"id": "8641qBq1Wqw8iY1T",
"name": "Header Auth account 4"
}
},
"typeVersion": 4.2
},
{
"id": "ebf4281e-fc0b-4309-bfed-0aa417fdf638",
"name": "更新 URL 重定向",
"type": "n8n-nodes-base.httpRequest",
"position": [
220,
160
],
"parameters": {
"url": "https://api.shorten.rest/aliases",
"method": "PUT",
"options": {
"response": {
"response": {
"neverError": true
}
}
},
"jsonBody": "={\n \"destinations\":[{\"url\":\"https://en.wikipedia.org/wiki/{{ $now.format('DDD').split(',')[0].replaceAll(' ','_') }}\"}]\n}",
"sendBody": true,
"sendQuery": true,
"specifyBody": "json",
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"queryParameters": {
"parameters": [
{
"name": "domainName",
"value": "short.fyi"
},
{
"name": "aliasName",
"value": "today-in-history"
}
]
}
},
"credentials": {
"httpHeaderAuth": {
"id": "8641qBq1Wqw8iY1T",
"name": "Header Auth account 4"
}
},
"typeVersion": 4.2
},
{
"id": "847b893b-fc79-40b8-8eee-5844be6e9dd6",
"name": "计划触发器",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
-20,
160
],
"parameters": {
"rule": {
"interval": [
{
"triggerAtMinute": 8
}
]
}
},
"typeVersion": 1.2
},
{
"id": "bb20131d-cb3e-4a78-aa54-e931dbe183d0",
"name": "计划触发器1",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
-20,
320
],
"parameters": {
"rule": {
"interval": [
{
"field": "hours",
"triggerAtMinute": 1
}
]
}
},
"typeVersion": 1.2
},
{
"id": "e8944262-fe50-4a22-84f6-09ce10576073",
"name": "便签",
"type": "n8n-nodes-base.stickyNote",
"position": [
700,
-180
],
"parameters": {
"width": 480,
"height": 520,
"content": "## 1. 工作流贴纸内部"
},
"typeVersion": 1
},
{
"id": "1c2c841d-4a28-4b5d-bb95-ccc3fdd9530c",
"name": "便签1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-80,
-320
],
"parameters": {
"width": 700,
"height": 360,
"content": "## 仅运行这些节点一次"
},
"typeVersion": 1
},
{
"id": "6d21ad0c-1f3f-48c8-8e12-b15b45f4dfd8",
"name": "便签2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-80,
60
],
"parameters": {
"color": 5,
"width": 700,
"height": 440,
"content": "## 这些触发器定期更新图像和 URL"
},
"typeVersion": 1
},
{
"id": "fe74d1cb-9274-4c51-891e-f5ec3564d1e5",
"name": "创建图像",
"type": "n8n-nodes-base.editImage",
"position": [
220,
320
],
"parameters": {
"options": {
"fileName": "dynamic_img"
},
"operation": "multiStep",
"operations": {
"operations": [
{
"width": 640,
"height": 480,
"operation": "create"
},
{
"color": "#00a2bb00",
"operation": "draw",
"endPositionX": "={{ $parameter.operations.operations[0].width }}",
"endPositionY": "={{ $parameter.operations.operations[0].height }}",
"startPositionX": 0,
"startPositionY": 0
},
{
"color": "#efefef00",
"operation": "draw",
"endPositionX": "={{ $parameter.operations.operations[0].width-5 }}",
"endPositionY": "={{ $parameter.operations.operations[0].height-5 }}",
"startPositionX": 5,
"startPositionY": 5
},
{
"font": "/usr/share/fonts/truetype/msttcorefonts/Courier_New.ttf",
"text": "TODAY",
"fontSize": 72,
"operation": "text",
"positionX": 213,
"positionY": 120
},
{
"font": "/usr/share/fonts/truetype/msttcorefonts/Courier_New_Bold.ttf",
"text": "={{ $now.setLocale('en').toLocaleString(DateTime.DATE_MED) }}",
"fontSize": 72,
"operation": "text",
"positionX": "={{ ($parameter.operations.operations[0].width - ($parameter.operations.operations[0].width * $now.setLocale('en').toLocaleString(DateTime.DATE_MED).length / 15))/2 }}",
"positionY": 250
},
{
"font": "/usr/share/fonts/truetype/msttcorefonts/Courier_New_Bold.ttf",
"text": "={{ $now.toFormat('HH:mm') }}",
"fontSize": 72,
"operation": "text",
"positionX": "={{ ($parameter.operations.operations[0].width - ($parameter.operations.operations[0].width * $now.toFormat('HH:mm').length / 15))/2 }}",
"positionY": 350
}
]
}
},
"typeVersion": 1
},
{
"id": "169d25a7-c3b8-4fb6-abc4-2ced669e90cf",
"name": "更新 GitHub 文件",
"type": "n8n-nodes-base.github",
"position": [
440,
320
],
"webhookId": "e8a64032-b2cb-4e8a-addf-84dd90a6565d",
"parameters": {
"owner": {
"__rl": true,
"mode": "name",
"value": "ed-parsadanyan"
},
"filePath": "=n8n-examples/dynamic-images/{{ $binary.data.fileName }}.{{ $binary.data.fileExtension }}",
"resource": "file",
"operation": "edit",
"binaryData": true,
"repository": {
"__rl": true,
"mode": "list",
"value": "public-tests",
"cachedResultUrl": "https://github.com/ed-parsadanyan/public-tests",
"cachedResultName": "public-tests"
},
"commitMessage": "=dynamic_img_update",
"authentication": "oAuth2"
},
"credentials": {
"githubOAuth2Api": {
"id": "3",
"name": "n8n-auth-edp"
}
},
"typeVersion": 1.1
},
{
"id": "b0a89ef7-862a-4648-9f9b-b941b117f25a",
"name": "便签3",
"type": "n8n-nodes-base.stickyNote",
"position": [
1220,
-180
],
"parameters": {
"width": 380,
"height": 520,
"content": "## 2. 在 n8n 表单中"
},
"typeVersion": 1
},
{
"id": "eb75a8d6-1e2f-442a-8ac3-14406bf7edc9",
"name": "带动态图像的表单",
"type": "n8n-nodes-base.formTrigger",
"position": [
1360,
140
],
"webhookId": "bd9ef188-7983-4474-b82b-c00c08054426",
"parameters": {
"options": {
"customCss": ":root {\n\t--font-family: 'Open Sans', sans-serif;\n\t--font-weight-normal: 400;\n\t--font-weight-bold: 600;\n\t--font-size-body: 12px;\n\t--font-size-label: 14px;\n\t--font-size-test-notice: 12px;\n\t--font-size-input: 14px;\n\t--font-size-header: 20px;\n\t--font-size-paragraph: 14px;\n\t--font-size-link: 12px;\n\t--font-size-error: 12px;\n\t--font-size-html-h1: 28px;\n\t--font-size-html-h2: 20px;\n\t--font-size-html-h3: 16px;\n\t--font-size-html-h4: 14px;\n\t--font-size-html-h5: 12px;\n\t--font-size-html-h6: 10px;\n\t--font-size-subheader: 14px;\n\n\t/* Colors */\n\t--color-background: #fbfcfe;\n\t--color-test-notice-text: #e6a23d;\n\t--color-test-notice-bg: #fefaf6;\n\t--color-test-notice-border: #f6dcb7;\n\t--color-card-bg: #ffffff;\n\t--color-card-border: #dbdfe7;\n\t--color-card-shadow: rgba(99, 77, 255, 0.06);\n\t--color-link: #7e8186;\n\t--color-header: #525356;\n\t--color-label: #555555;\n\t--color-input-border: #dbdfe7;\n\t--color-input-text: #71747A;\n\t--color-focus-border: rgb(90, 76, 194);\n\t--color-submit-btn-bg: #ff6d5a;\n\t--color-submit-btn-text: #ffffff;\n\t--color-error: #ea1f30;\n\t--color-required: #ff6d5a;\n\t--color-clear-button-bg: #7e8186;\n\t--color-html-text: #555;\n\t--color-html-link: #ff6d5a;\n\t--color-header-subtext: #7e8186;\n\n\t/* Border Radii */\n\t--border-radius-card: 8px;\n\t--border-radius-input: 6px;\n\t--border-radius-clear-btn: 50%;\n\t--card-border-radius: 8px;\n\n\t/* Spacing */\n\t--padding-container-top: 24px;\n\t--padding-card: 24px;\n\t--padding-test-notice-vertical: 12px;\n\t--padding-test-notice-horizontal: 24px;\n\t--margin-bottom-card: 16px;\n\t--padding-form-input: 12px;\n\t--card-padding: 24px;\n\t--card-margin-bottom: 16px;\n\n\t/* Dimensions */\n\t--container-width: 448px;\n\t--submit-btn-height: 48px;\n\t--checkbox-size: 18px;\n\n\t/* Others */\n\t--box-shadow-card: 0px 4px 16px 0px var(--color-card-shadow);\n\t--opacity-placeholder: 0.5;\n}\n\ndiv.html img {\n\tmax-width: 100%;\n\theight: auto;\n\tdisplay: block;\n\tmargin-bottom: 8px;\n}",
"appendAttribution": false
},
"formTitle": "Test Form",
"formFields": {
"values": [
{
"html": "<!-- Your custom HTML here --->\n<h2>Note: image is clickable!</h2>\n<a href=\"https://short.fyi/today-in-history\" target=\"_blank\">\n <img src=\"https://raw.githubusercontent.com/ed-parsadanyan/public-tests/main/n8n-examples/dynamic-images/dynamic_img.png\" alt=\"\">\n</a>",
"fieldType": "html",
"elementName": "test"
}
]
},
"formDescription": "This form contains a dynamic image"
},
"typeVersion": 2.2
},
{
"id": "ada5f98f-3b52-449b-b573-ef24bbdc4554",
"name": "获取文件",
"type": "n8n-nodes-base.github",
"position": [
1840,
140
],
"webhookId": "e8a64032-b2cb-4e8a-addf-84dd90a6565d",
"parameters": {
"owner": {
"__rl": true,
"mode": "name",
"value": "ed-parsadanyan"
},
"filePath": "=n8n-examples/dynamic-images/dynamic_img.png",
"resource": "file",
"operation": "get",
"repository": {
"__rl": true,
"mode": "list",
"value": "public-tests",
"cachedResultUrl": "https://github.com/ed-parsadanyan/public-tests",
"cachedResultName": "public-tests"
},
"authentication": "oAuth2",
"asBinaryProperty": false,
"additionalParameters": {}
},
"credentials": {
"githubOAuth2Api": {
"id": "3",
"name": "n8n-auth-edp"
}
},
"typeVersion": 1.1
},
{
"id": "0fd7ecea-7e0e-4318-8dbc-91d2e20778a6",
"name": "发送消息",
"type": "n8n-nodes-base.gmail",
"position": [
2000,
140
],
"webhookId": "e0ded4d7-d2c8-43e4-9833-b346df3d75e8",
"parameters": {
"sendTo": "teds.tech.talks@gmail.com",
"message": "=<h2>Dynamic image</h2>\n<a href=\"https://short.fyi/today-in-history\" target=\"_blank\">\n <img src=\"{{ $json.download_url }}\" />\n</a>",
"options": {},
"subject": "Test Image"
},
"credentials": {
"gmailOAuth2": {
"id": "UllrXlZsDnkdA3tT",
"name": "Gmail account"
}
},
"typeVersion": 2.1
},
{
"id": "8058d4d0-a60f-4390-a335-5b5e494ec45b",
"name": "便签4",
"type": "n8n-nodes-base.stickyNote",
"position": [
1640,
-180
],
"parameters": {
"width": 500,
"height": 520,
"content": "## 3. 通过电子邮件"
},
"typeVersion": 1
},
{
"id": "bb16c18e-17d8-4f07-8000-7e21acf0ac8e",
"name": "创建文件",
"type": "n8n-nodes-base.github",
"position": [
220,
-180
],
"webhookId": "e8a64032-b2cb-4e8a-addf-84dd90a6565d",
"parameters": {
"owner": {
"__rl": true,
"mode": "name",
"value": "ed-parsadanyan"
},
"filePath": "=n8n-examples/dynamic-images/dynamic_img.png",
"resource": "file",
"repository": {
"__rl": true,
"mode": "list",
"value": "public-tests",
"cachedResultUrl": "https://github.com/ed-parsadanyan/public-tests",
"cachedResultName": "public-tests"
},
"fileContent": "some content",
"commitMessage": "initial creation",
"authentication": "oAuth2"
},
"credentials": {
"githubOAuth2Api": {
"id": "3",
"name": "n8n-auth-edp"
}
},
"typeVersion": 1.1
},
{
"id": "e2a06369-6136-474b-a6f8-133f193aca83",
"name": "获取下载 URL",
"type": "n8n-nodes-base.github",
"position": [
440,
-180
],
"webhookId": "e8a64032-b2cb-4e8a-addf-84dd90a6565d",
"parameters": {
"owner": {
"__rl": true,
"mode": "name",
"value": "ed-parsadanyan"
},
"filePath": "=n8n-examples/dynamic-images/dynamic_img.png",
"resource": "file",
"operation": "get",
"repository": {
"__rl": true,
"mode": "list",
"value": "public-tests",
"cachedResultUrl": "https://github.com/ed-parsadanyan/public-tests",
"cachedResultName": "public-tests"
},
"authentication": "oAuth2",
"asBinaryProperty": false,
"additionalParameters": {}
},
"credentials": {
"githubOAuth2Api": {
"id": "3",
"name": "n8n-auth-edp"
}
},
"typeVersion": 1.1
},
{
"id": "99117594-4f37-4d9a-b344-35264547ebe8",
"name": "便签5",
"type": "n8n-nodes-base.stickyNote",
"position": [
680,
-320
],
"parameters": {
"color": 4,
"width": 1480,
"height": 680,
"content": "# 使用案例"
},
"typeVersion": 1
},
{
"id": "8b3b3e7a-3c99-41b8-bcd5-3a8389a786ef",
"name": "便签6",
"type": "n8n-nodes-base.stickyNote",
"position": [
-80,
-780
],
"parameters": {
"color": 3,
"width": 700,
"height": 440,
"content": "# 这是什么?"
},
"typeVersion": 1
}
],
"active": true,
"pinData": {},
"settings": {
"callerPolicy": "workflowsFromSameOwner",
"executionOrder": "v1",
"saveDataSuccessExecution": "all"
},
"versionId": "7747c3d6-0dc7-40af-b206-3804ed71b4b3",
"connections": {
"Get a file": {
"main": [
[
{
"node": "Send a message",
"type": "main",
"index": 0
}
]
]
},
"Create Image": {
"main": [
[
{
"node": "Update GitHub file",
"type": "main",
"index": 0
}
]
]
},
"Schedule Trigger": {
"main": [
[
{
"node": "Update URL redirection",
"type": "main",
"index": 0
}
]
]
},
"Schedule Trigger1": {
"main": [
[
{
"node": "Create Image",
"type": "main",
"index": 0
}
]
]
},
"When clicking ‘Execute workflow’": {
"main": [
[
{
"node": "Get a file",
"type": "main",
"index": 0
}
]
]
}
}
}常见问题
如何使用这个工作流?
复制上方的 JSON 配置代码,在您的 n8n 实例中创建新工作流并选择「从 JSON 导入」,粘贴配置后根据需要修改凭证设置即可。
这个工作流适合什么场景?
高级 - 社交媒体
需要付费吗?
本工作流完全免费,您可以直接导入使用。但请注意,工作流中使用的第三方服务(如 OpenAI API)可能需要您自行付费。
相关工作流推荐
基于Supabase、Google表格和Gmail的自动化用户重新激活系统
使用Supabase、Google表格和Gmail的自动化用户重新激活系统
Set
Code
Gmail
+9
14 节点iamvaar
社交媒体
上传发布和FLUX Kontext
使用FLUX Kontext创建角色一致的图像并通过上传发布到社交媒体
If
Set
Wait
+9
27 节点Eduard
设计
Google 网站索引 - sitemap.xml 示例
自动将您的网站索引到 Google
If
Set
Xml
+8
21 节点Eduard
营销
GitHub 同步仪表板 - V2
具有提交历史和回滚功能的 GitHub 工作流版本控制仪表板
If
N8n
Set
+20
94 节点Eduard
开发运维
用于处理Telegram媒体组的数据表
使用数据表缓存和NanoBanana AI处理Telegram图片相册
If
Set
Sort
+12
35 节点Eduard
内容创作
潜在客户开发与邮件工作流
使用Google Maps、SendGrid和AI自动化B2B潜在客户开发与邮件营销
If
Set
Code
+21
141 节点Ezema Kingsley Chibuzo
潜在客户开发