🤖 AI Instagram 表情包生成器
中级
这是一个Content Creation, Multimodal AI领域的自动化工作流,包含 11 个节点。主要使用 If, Wait, HttpRequest, StopAndError, ScheduleTrigger 等节点。 使用 MagicHour AI 和 GPT-4 生成病毒式表情包并发布到 Instagram
前置要求
- •可能需要目标 API 的认证凭证
- •OpenAI API Key
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
"id": "YOUR_WORKFLOW_ID",
"meta": {
"instanceId": "YOUR_INSTANCE_ID",
"templateId": "ai-instagram-meme-generator",
"templateCredsSetupCompleted": false
},
"name": "🤖 AI Instagram 表情包生成器",
"tags": [
"social-media",
"instagram",
"ai",
"automation",
"memes",
"content-creation",
"late-api",
"viral-content"
],
"nodes": [
{
"id": "wait-for-generation",
"name": "⏳ 等待生成",
"type": "n8n-nodes-base.wait",
"notes": "Allows time for AI meme generation to complete",
"position": [
680,
240
],
"webhookId": "YOUR_WEBHOOK_ID",
"parameters": {
"amount": 20
},
"typeVersion": 1.1
},
{
"id": "schedule-trigger",
"name": "📅 定时触发器",
"type": "n8n-nodes-base.scheduleTrigger",
"notes": "Runs every 12 hours - customize the interval as needed",
"position": [
240,
240
],
"parameters": {
"rule": {
"interval": [
{
"field": "hours",
"hoursInterval": 12
}
]
}
},
"typeVersion": 1.2
},
{
"id": "get-generated-image",
"name": "🖼️ 获取生成图片",
"type": "n8n-nodes-base.httpRequest",
"notes": "Retrieves the completed meme from MagicHour API",
"position": [
920,
240
],
"parameters": {
"url": "=https://api.magichour.ai/v1/image-projects/{{ $('🎨 Generate Meme').item.json.id }}",
"options": {
"retry": {
"enabled": true,
"maxAttempts": 3,
"waitBetween": 1000
},
"timeout": 30000
},
"sendHeaders": true,
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"headerParameters": {
"parameters": [
{
"name": "Authorization",
"value": "Bearer YOUR_MAGICHOUR_API_KEY"
}
]
}
},
"credentials": {
"httpHeaderAuth": {
"id": "YOUR_MAGICHOUR_CREDENTIAL_ID",
"name": "MagicHour API"
}
},
"typeVersion": 4.2
},
{
"id": "generate-meme",
"name": "🎨 生成表情包",
"type": "n8n-nodes-base.httpRequest",
"notes": "Creates AI-generated meme using MagicHour API - customize the topic prompt for your niche",
"position": [
460,
240
],
"parameters": {
"url": "https://api.magichour.ai/v1/ai-meme-generator",
"method": "POST",
"options": {
"retry": {
"enabled": true,
"maxAttempts": 2,
"waitBetween": 2000
},
"timeout": 30000
},
"jsonBody": "{\n \"name\": \"AI Generated Meme - {{ new Date().toISOString() }}\",\n \"style\": {\n \"topic\": \"Create a funny, relatable meme that would go viral on Instagram. Focus on everyday situations, trending topics, or universal experiences that people can relate to. Keep it light-hearted and shareable. Avoid controversial topics.\",\n \"template\": \"Random\",\n \"searchWeb\": true\n }\n}",
"sendBody": true,
"sendHeaders": true,
"specifyBody": "json",
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"headerParameters": {
"parameters": [
{
"name": "Authorization",
"value": "Bearer YOUR_MAGICHOUR_API_KEY"
}
]
}
},
"credentials": {
"httpHeaderAuth": {
"id": "YOUR_MAGICHOUR_CREDENTIAL_ID",
"name": "MagicHour API"
}
},
"typeVersion": 4.2
},
{
"id": "check-image-ready",
"name": "✅ 检查图片就绪状态",
"type": "n8n-nodes-base.if",
"notes": "Validates that the meme was generated successfully before proceeding",
"position": [
1160,
240
],
"parameters": {
"options": {},
"conditions": {
"options": {
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "image-check",
"operator": {
"type": "boolean",
"operation": "equal"
},
"leftValue": "={{ $json.downloads && $json.downloads.length > 0 }}",
"rightValue": true
}
]
}
},
"typeVersion": 2
},
{
"id": "generate-caption",
"name": "📝 生成AI标题",
"type": "@n8n/n8n-nodes-langchain.openAi",
"notes": "Creates engaging Instagram caption with hashtags using GPT-4",
"position": [
1400,
160
],
"parameters": {
"text": "Analyze this meme image and write a viral Instagram caption that will maximize engagement. Requirements:\n\n1. Write 1-2 sentences that are funny, relatable, and encourage interaction\n2. Include 5-8 relevant hashtags that match the meme content\n3. Add a call-to-action (like 'Tag someone who...', 'Double tap if...', or 'Comment if...')\n4. Keep the total caption under 150 characters for better mobile viewing\n5. Use emojis strategically but don't overuse them\n6. Make it shareable - something people want to repost\n\nDO NOT include quotation marks, intro text, or explanations. Write ONLY the final caption ready to post.",
"modelId": {
"__rl": true,
"mode": "list",
"value": "gpt-4o-mini",
"cachedResultName": "GPT-4O-MINI"
},
"options": {},
"resource": "image",
"imageUrls": "={{ $json.downloads[0].url }}",
"operation": "analyze"
},
"credentials": {
"openAiApi": {
"id": "YOUR_OPENAI_CREDENTIAL_ID",
"name": "OpenAI Account"
}
},
"typeVersion": 1.8
},
{
"id": "post-to-instagram",
"name": "📱 发布到Instagram",
"type": "n8n-nodes-base.httpRequest",
"notes": "Schedules the meme post to Instagram via Late API - posts 5 minutes after generation",
"position": [
1880,
160
],
"parameters": {
"url": "https://getlate.dev/api/v1/posts",
"method": "POST",
"options": {
"retry": {
"enabled": true,
"maxAttempts": 3,
"waitBetween": 2000
},
"timeout": 15000
},
"jsonBody": "={\n \"content\": \"{{ $('📝 Generate AI Caption').item.json.content }}\",\n \"scheduledFor\": \"{{ new Date(Date.now() + 5*60*1000).toISOString() }}\",\n \"timezone\": \"America/New_York\",\n \"platforms\": [\n {\n \"platform\": \"instagram\",\n \"accountId\": \"YOUR_INSTAGRAM_ACCOUNT_ID\"\n }\n ],\n \"mediaItems\": [\n {\n \"type\": \"image\",\n \"url\": \"{{ $('🖼️ Get Generated Image').item.json.downloads[0].url }}\",\n \"altText\": \"AI-generated meme for Instagram engagement\"\n }\n ]\n}",
"sendBody": true,
"specifyBody": "json",
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth"
},
"credentials": {
"httpHeaderAuth": {
"id": "YOUR_LATE_API_CREDENTIAL_ID",
"name": "Late API"
}
},
"typeVersion": 4.2
},
{
"id": "get-profiles",
"name": "👤 获取最新个人资料",
"type": "n8n-nodes-base.httpRequest",
"notes": "Retrieves your Late account profiles - used for account validation",
"position": [
1400,
320
],
"parameters": {
"url": "https://getlate.dev/api/v1/profiles",
"options": {
"timeout": 10000
},
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth"
},
"credentials": {
"httpHeaderAuth": {
"id": "YOUR_LATE_API_CREDENTIAL_ID",
"name": "Late API"
}
},
"typeVersion": 4.2
},
{
"id": "get-accounts",
"name": "🔗 获取已连接账户",
"type": "n8n-nodes-base.httpRequest",
"notes": "Gets your connected social media accounts from Late",
"position": [
1640,
320
],
"parameters": {
"url": "https://getlate.dev/api/v1/accounts",
"options": {
"timeout": 10000
},
"sendQuery": true,
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"queryParameters": {
"parameters": [
{
"name": "profileId",
"value": "YOUR_LATE_PROFILE_ID"
}
]
}
},
"credentials": {
"httpHeaderAuth": {
"id": "YOUR_LATE_API_CREDENTIAL_ID",
"name": "Late API"
}
},
"typeVersion": 4.2
},
{
"id": "handle-generation-error",
"name": "❌ 处理生成错误",
"type": "n8n-nodes-base.stopAndError",
"notes": "Gracefully handles cases where meme generation fails",
"position": [
1160,
400
],
"parameters": {
"content": "🚨 Meme generation failed! \n\nThe AI couldn't create a meme this time. This might be due to:\n- API rate limits\n- Temporary service issues\n- Network connectivity problems\n\nThe workflow will try again in the next scheduled run (12 hours).\n\nNo action needed - this is automatically handled! ✅",
"options": {}
},
"typeVersion": 1
},
{
"id": "log-success",
"name": "📊 记录成功",
"type": "n8n-nodes-base.httpRequest",
"notes": "Optional: Logs successful workflow execution - replace URL with your logging service",
"position": [
2120,
160
],
"parameters": {
"url": "https://httpbin.org/post",
"method": "POST",
"options": {},
"jsonBody": "={\n \"workflow_run\": {\n \"timestamp\": \"{{ new Date().toISOString() }}\",\n \"status\": \"success\",\n \"meme_generated\": true,\n \"caption_created\": true,\n \"instagram_scheduled\": true,\n \"image_url\": \"{{ $('🖼️ Get Generated Image').item.json.downloads[0].url }}\",\n \"caption_preview\": \"{{ $('📝 Generate AI Caption').item.json.content.substring(0, 50) }}...\",\n \"next_run\": \"{{ new Date(Date.now() + 12*60*60*1000).toISOString() }}\"\n }\n}",
"sendBody": true,
"specifyBody": "json"
},
"typeVersion": 4.2
}
],
"active": false,
"pinData": {},
"settings": {
"callerPolicy": "workflowsFromSameOwner",
"errorWorkflow": {
"errorWorkflow": "",
"continueOnFail": false
},
"executionOrder": "v1",
"saveManualExecutions": true
},
"versionId": "YOUR_VERSION_ID",
"connections": {
"generate-meme": {
"main": [
[
{
"node": "wait-for-generation",
"type": "main",
"index": 0
}
]
]
},
"check-image-ready": {
"main": [
[
{
"node": "generate-caption",
"type": "main",
"index": 0
},
{
"node": "get-profiles",
"type": "main",
"index": 0
}
],
[
{
"node": "handle-generation-error",
"type": "main",
"index": 0
}
]
]
},
"schedule-trigger": {
"main": [
[
{
"node": "generate-meme",
"type": "main",
"index": 0
}
]
]
},
"get-profiles": {
"main": [
[
{
"node": "get-accounts",
"type": "main",
"index": 0
}
]
]
},
"post-to-instagram": {
"main": [
[
{
"node": "log-success",
"type": "main",
"index": 0
}
]
]
},
"wait-for-generation": {
"main": [
[
{
"node": "get-generated-image",
"type": "main",
"index": 0
}
]
]
},
"generate-caption": {
"main": [
[
{
"node": "post-to-instagram",
"type": "main",
"index": 0
}
]
]
},
"get-accounts": {
"main": [
[
{
"node": "post-to-instagram",
"type": "main",
"index": 0
}
]
]
},
"get-generated-image": {
"main": [
[
{
"node": "check-image-ready",
"type": "main",
"index": 0
}
]
]
}
}
}常见问题
如何使用这个工作流?
复制上方的 JSON 配置代码,在您的 n8n 实例中创建新工作流并选择「从 JSON 导入」,粘贴配置后根据需要修改凭证设置即可。
这个工作流适合什么场景?
中级 - 内容创作, 多模态 AI
需要付费吗?
本工作流完全免费,您可以直接导入使用。但请注意,工作流中使用的第三方服务(如 OpenAI API)可能需要您自行付费。
相关工作流推荐
1. 播放列表详情设置机器人副本
使用 Suno、GPT-4、Runway 和 Creatomate 创建 AI 生成的 YouTube 音乐播放列表
If
Set
Code
+
If
Set
Code
203 节点Joseph
内容创作
AI驱动视频创作与上传至Instagram、TikTok和YouTube
从云端硬盘进行AI驱动视频创作并上传至Instagram、TikTok和YouTube
If
Set
Code
+
If
Set
Code
53 节点DevCode Journey
内容创作
使用GPT-4o和Apify为亚马逊卖家自动生成并发布LinkedIn内容
使用GPT-4o和Apify为亚马逊卖家自动生成并发布LinkedIn内容
If
Wait
Limit
+
If
Wait
Limit
21 节点Usman Liaqat
内容创作
博客文章:生态系统趋势
使用Perplexity、GPT、Leonardo和WordPress自动生成SEO博客文章
If
Code
Wait
+
If
Code
Wait
19 节点Cristian Tala Sánchez
内容创作
TikTok轮播复制器与翻译器
使用Gemini Vision和Midjourney自动翻译并重新创建TikTok轮播内容
If
Wait
Gmail
+
If
Wait
Gmail
21 节点Xavier Tai
内容创作
基于 YouTube 视频的自主博客发布
使用 ChatGPT、Sheets、Apify、Pexels 和 WordPress 从 YouTube 视频自主发布博客
If
Set
Code
+
If
Set
Code
80 节点Oriol Seguí
内容创作