Plexニュースレター2022年の月間ダッシュボード

上級

これはSocial Media, Multimodal AI分野の自動化ワークフローで、16個のノードを含みます。主にCode, Merge, EmailSend, HttpRequest, ScheduleTriggerなどのノードを使用。 メールで每週レスポンシブなPlexメディアニュースレター(Tautulliの代替)を作成

前提条件
  • ターゲットAPIの認証情報が必要な場合あり
ワークフロープレビュー
ノード接続関係を可視化、ズームとパンをサポート
ワークフローをエクスポート
以下のJSON設定をn8nにインポートして、このワークフローを使用できます
{
  "id": "iGZE7vnpUkEvf9us",
  "meta": {
    "instanceId": "993f4141bfea2bf952d27e11e13bcf9b997f96b739b8e7795b1035d7ae9d71a9",
    "templateCredsSetupCompleted": true
  },
  "name": "Plex Newsletter template",
  "tags": [],
  "nodes": [
    {
      "id": "cab21c74-3d37-487f-a031-97a6a6fb09c5",
      "name": "注記: スケジュール",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -784,
        240
      ],
      "parameters": {
        "content": "### ⏰ Schedule Trigger\nRuns weekly (Friday 08:00). Adjust day/hour to your liking."
      },
      "typeVersion": 1
    },
    {
      "id": "2f749618-c51f-4b21-ab24-29ede323205b",
      "name": "スケジュールトリガー",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        -720,
        416
      ],
      "parameters": {
        "rule": {
          "interval": [
            {
              "field": "weeks",
              "triggerAtDay": [
                5
              ],
              "triggerAtHour": 8
            }
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "55ed3b79-9f4d-48d0-853a-c230531ec31a",
      "name": "注記: 映画",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -528,
        128
      ],
      "parameters": {
        "content": "### 🎬 Fetch Recent Movies (Tautulli)\nReplace placeholders in the URL: `YOUR_TAUTULLI_URL`, `YOUR_API_KEY`."
      },
      "typeVersion": 1
    },
    {
      "id": "c2e3658a-27b1-4bbf-87a1-474e2233393b",
      "name": "最近の映画を取得",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -464,
        304
      ],
      "parameters": {
        "url": "https://YOUR_TAUTULLI_URL/api/v2?apikey=YOUR_API_KEY&cmd=get_recently_added&count=10&media_type=movie",
        "options": {}
      },
      "typeVersion": 4.2
    },
    {
      "id": "8887eda3-8948-4285-8d33-9772ffbcbb08",
      "name": "注記: TV番組",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -528,
        672
      ],
      "parameters": {
        "content": "### 📺 Fetch Recent TV Shows (Tautulli)\nReplace placeholders in the URL: `YOUR_TAUTULLI_URL`, `YOUR_API_KEY`."
      },
      "typeVersion": 1
    },
    {
      "id": "34dd3ee8-a8da-44b4-9434-c10110ed985b",
      "name": "最近のTV番組を取得",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        -464,
        496
      ],
      "parameters": {
        "url": "https://YOUR_TAUTULLI_URL/api/v2?apikey=YOUR_API_KEY&cmd=get_recently_added&count=10&media_type=show",
        "options": {}
      },
      "typeVersion": 4.2
    },
    {
      "id": "d5a85fe0-4252-4954-b24f-55387553e5cf",
      "name": "注記: マージ",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -224,
        208
      ],
      "parameters": {
        "content": "### 🔗 Merge\nJust combines Movies (input 1) and TV (input 2) before building the email."
      },
      "typeVersion": 1
    },
    {
      "id": "1115cde1-64e4-4827-8f47-c0f4d2c79fbc",
      "name": "映画とTVデータを結合",
      "type": "n8n-nodes-base.merge",
      "position": [
        -160,
        400
      ],
      "parameters": {},
      "typeVersion": 3.2
    },
    {
      "id": "11ad0211-6ca4-4583-929c-3ab22edb53b8",
      "name": "注記: HTML",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        48,
        208
      ],
      "parameters": {
        "content": "### 📰 Build HTML Newsletter\nEdit the code and set:\n- `YOUR_TAUTULLI_URL`\n- `YOUR_PLEX_TOKEN`\n- `YOUR_PLEX_SERVER_ID`\nEverything else is template-safe."
      },
      "typeVersion": 1
    },
    {
      "id": "a4713613-3047-4522-b771-ee91e793ad19",
      "name": "HTMLニュースレターを生成",
      "type": "n8n-nodes-base.code",
      "position": [
        128,
        400
      ],
      "parameters": {
        "jsCode": "// === HELPER FUNCTIONS (email-safe) ===\nfunction formatDuration(ms){ if(!ms||ms<=0) return ''; const m=Math.floor(ms/60000),h=Math.floor(m/60),r=m%60; return h>0?`${h}h ${r}m`:`${r}m`; }\nfunction pill(text){ if(!text) return ''; return `<span style=\\\"background:#2a4a6a;color:#ffffff;border:1px solid #4a6a8a;border-radius:999px;padding:4px 10px;font-size:12px;line-height:1;display:inline-block;margin:0 6px 6px 0;\\\">${String(text).toUpperCase()}</span>`; }\nfunction sectionHeader(label, emoji){ return `\\n  <tr>\\n    <td align=\\\"center\\\" style=\\\"padding:4px 24px 14px 24px;\\\">\\n      <table role=\\\"presentation\\\" cellpadding=\\\"0\\\" cellspacing=\\\"0\\\" border=\\\"0\\\" style=\\\"background:#0f385b;border:1px solid #2a4a6a;border-radius:999px;\\\">\\n        <tr>\\n          <td style=\\\"padding:10px 18px;\\\">\\n            <span style=\\\"font:600 18px/-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;color:#ffffff;\\\">\\n              ${emoji} ${label}\\n            </span>\\n          </td>\\n        </tr>\\n      </table>\\n    </td>\\n  </tr>`; }\n\n// === PLACEHOLDERS (replace these) ===\nconst tautulliUrl = 'https://YOUR_TAUTULLI_URL';\nconst plexApiToken = 'YOUR_PLEX_TOKEN';\nconst plexServerId  = 'YOUR_PLEX_SERVER_ID';\n\n// === DATA (be tolerant to slightly different shapes) ===\nconst allRecentlyAdded = $input.all().flatMap(i => i.json?.response?.data?.recently_added || i.json?.data?.recently_added || []);\nconst movies  = allRecentlyAdded.filter(i => i.media_type === 'movie');\nconst tvItems = allRecentlyAdded.filter(i => ['episode','show','season'].includes(i.media_type));\n\n// === RENDERERS ===\nfunction movieRow(item){\n  const title=item.title||'Untitled';\n  const year=item.year?` (${item.year})`:'';\n  const rating=item.audience_rating?`⭐ ${item.audience_rating}`:'';\n  const dur=item.duration?`&nbsp;&nbsp;🕒 ${formatDuration(item.duration)}`:'';\n  const genres=Array.isArray(item.genres)?item.genres:[];\n  const contentRating=item.content_rating?pill(item.content_rating):'';\n  const summary=item.summary||'No description provided.';\n  const directors=Array.isArray(item.directors)?item.directors:[];\n  const actors=Array.isArray(item.actors)?item.actors:[];\n  const plexLink=`https://app.plex.tv/desktop/#!/server/${plexServerId}/details?key=/library/metadata/${item.rating_key}`;\n  const thumbUrl=item.thumb?`${tautulliUrl}/pms_image_proxy?img=${encodeURIComponent(item.thumb)}&X-Plex-Token=${plexApiToken}`:'https://placehold.co/120x180/333333/ffffff?text=NO+IMAGE';\n  return `\\n  <tr>\\n    <td style=\\\"padding:0 24px 22px 24px;\\\">\\n      <table role=\\\"presentation\\\" cellpadding=\\\"0\\\" cellspacing=\\\"0\\\" border=\\\"0\\\" width=\\\"100%\\\" style=\\\"background:#0f385b;border:1px solid #2a4a6a;border-radius:12px;\\\">\\n        <tr>\\n          <td class=\\\"stack t-center\\\" width=\\\"120\\\" valign=\\\"top\\\" style=\\\"padding:18px;\\\">\\n            <a href=\\\"${plexLink}\\\">\\n              <img class=\\\"img-resp\\\" src=\\\"${thumbUrl}\\\" alt=\\\"${title}\\\" width=\\\"120\\\" style=\\\"display:block;width:120px;height:auto;border-radius:10px;\\\">\\n            </a>\\n          </td>\\n          <td class=\\\"stack\\\" valign=\\\"top\\\" style=\\\"padding:18px 18px 18px 0;\\\">\\n            <h4 style=\\\"margin:0 0 8px 0;font:700 18px/-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;\\\">\\n              <a href=\\\"${plexLink}\\\" style=\\\"color:#ffffff;text-decoration:none;\\\">${title}${year}</a>\\n            </h4>\\n            <p style=\\\"margin:0 0 10px 0;font:13px/-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;color:#cccccc;\\\">${rating}${dur}</p>\\n            <div style=\\\"margin:0 0 12px 0;\\\">${contentRating}${genres.map(g=>pill(g)).join('')}</div>\\n            <p style=\\\"margin:0 0 12px 0;font:14px/1.6 -apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;color:#dddddd;\\\">${summary}</p>\\n            <p style=\\\"margin:0 0 14px 0;font:12px/-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;color:#bbbbbb;border-top:1px solid #2a4a6a;padding-top:8px;\\\">\\n              ${directors.length?`<strong style=\\\\\\\"color:#cccccc;\\\\\\\">Director:</strong> ${directors.join(', ')}<br>`:''}\\n              ${actors.length?`<strong style=\\\\\\\"color:#cccccc;\\\\\\\">Starring:</strong> ${actors.slice(0,3).join(', ')}`:''}\\n            </p>\\n            <table role=\\\"presentation\\\" cellpadding=\\\"0\\\" cellspacing=\\\"0\\\" border=\\\"0\\\"><tr><td bgcolor=\\\"#e5a00d\\\" style=\\\"border-radius:10px;\\\"><a href=\\\"${plexLink}\\\" style=\\\"display:inline-block;padding:12px 18px;font:700 14px/-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;color:#ffffff;text-decoration:none;border-radius:10px;\\\">Watch on Plex</a></td></tr></table>\\n          </td>\\n        </tr>\\n      </table>\\n    </td>\\n  </tr>`;\n}\n\nfunction tvRow(item){\n  let displayTitle=item.title||'Untitled', displaySubtitle='', thumb=item.thumb, key=item.rating_key;\n  if(item.media_type==='episode'){\n    displayTitle=item.grandparent_title||displayTitle;\n    const s=item.parent_media_index?String(item.parent_media_index).padStart(2,'0'):'';\n    const e=item.media_index?String(item.media_index).padStart(2,'0'):'';\n    displaySubtitle=`S${s} E${e}${item.title?': '+item.title:''}`;\n    thumb=item.grandparent_thumb||item.parent_thumb||item.thumb;\n    key=item.grandparent_rating_key||key;\n  } else if(item.media_type==='season'){\n    displayTitle=item.parent_title||displayTitle;\n    displaySubtitle=item.title||'';\n    thumb=item.parent_thumb||item.thumb;\n    key=item.parent_rating_key||key;\n  }\n  const year=item.year?` (${item.year})`:'';\n  const rating=item.audience_rating?`⭐ ${item.audience_rating}`:'';\n  const dur=(item.media_type==='episode'&&item.duration)?`&nbsp;&nbsp;🕒 ${formatDuration(item.duration)}`:'';\n  const genres=Array.isArray(item.genres)?item.genres:[];\n  const contentRating=item.content_rating?pill(item.content_rating):'';\n  const summary=item.summary||'No description provided.';\n  const plexLink=`https://app.plex.tv/desktop/#!/server/${plexServerId}/details?key=/library/metadata/${key}`;\n  const thumbUrl=thumb?`${tautulliUrl}/pms_image_proxy?img=${encodeURIComponent(thumb)}&X-Plex-Token=${plexApiToken}`:'https://placehold.co/120x180/333333/ffffff?text=NO+IMAGE';\n  return `\\n  <tr>\\n    <td style=\\\"padding:0 24px 22px 24px;\\\">\\n      <table role=\\\"presentation\\\" cellpadding=\\\"0\\\" cellspacing=\\\"0\\\" border=\\\"0\\\" width=\\\"100%\\\" style=\\\"background:#0f385b;border:1px solid #2a4a6a;border-radius:12px;\\\">\\n        <tr>\\n          <td class=\\\"stack t-center\\\" width=\\\"120\\\" valign=\\\"top\\\" style=\\\"padding:18px;\\\">\\n            <a href=\\\"${plexLink}\\\">\\n              <img class=\\\"img-resp\\\" src=\\\"${thumbUrl}\\\" alt=\\\"${displayTitle}\\\" width=\\\"120\\\" style=\\\"display:block;width:120px;height:auto;border-radius:10px;\\\">\\n            </a>\\n          </td>\\n          <td class=\\\"stack\\\" valign=\\\"top\\\" style=\\\"padding:18px 18px 18px 0;\\\">\\n            <h4 style=\\\"margin:0 0 6px 0;font:700 18px/-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;\\\">\\n              <a href=\\\"${plexLink}\\\" style=\\\"color:#ffffff;text-decoration:none;\\\">${displayTitle}${year}</a>\\n            </h4>\\n            ${displaySubtitle?`<p style=\\\\\\\"margin:0 0 8px 0;font:13px/-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;color:#cccccc;\\\\\\\">${displaySubtitle}</p>`:''}\\n            <p style=\\\"margin:0 0 10px 0;font:13px/-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;color:#cccccc;\\\">${rating}${dur}</p>\\n            <div style=\\\"margin:0 0 12px 0;\\\">${contentRating}${genres.map(g=>pill(g)).join('')}</div>\\n            <p style=\\\"margin:0 0 12px 0;font:14px/1.6 -apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;color:#dddddd;\\\">${summary}</p>\\n            <table role=\\\"presentation\\\" cellpadding=\\\"0\\\" cellspacing=\\\"0\\\" border=\\\"0\\\"><tr><td bgcolor=\\\"#e5a00d\\\" style=\\\"border-radius:10px;\\\"><a href=\\\"${plexLink}\\\" style=\\\"display:inline-block;padding:12px 18px;font:700 14px/-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;color:#ffffff;text-decoration:none;border-radius:10px;\\\">Watch on Plex</a></td></tr></table>\\n          </td>\\n        </tr>\\n      </table>\\n    </td>\\n  </tr>`;\n}\n\n// === LIGHT CSS ===\nconst css = `@media only screen and (max-width:600px){ .w-650{width:100% !important} .stack{display:block !important;width:100% !important} .img-resp{width:55% !important;height:auto !important;max-width:200px !important;margin:0 auto !important} .t-center{text-align:center !important} }`;\n\n// === BUILD HTML ===\nlet html = `<!doctype html>\\n<html lang=\\\"en\\\">\\n<head>\\n<meta http-equiv=\\\"x-ua-compatible\\\" content=\\\"ie=edge\\\">\\n<meta charset=\\\"utf-8\\\">\\n<meta name=\\\"viewport\\\" content=\\\"width=device-width,initial-scale=1\\\">\\n<title>Plex Newsletter</title>\\n<style type=\\\"text/css\\\">${css}</style>\\n</head>\\n<body style=\\\"margin:0;padding:0;background:#001f3f;\\\">\\n  <center style=\\\"width:100%;background:#001f3f;\\\">\\n    <table role=\\\"presentation\\\" cellpadding=\\\"0\\\" cellspacing=\\\"0\\\" border=\\\"0\\\" width=\\\"100%\\\">\\n      <tr>\\n        <td align=\\\"center\\\" style=\\\"padding:20px 10px;\\\">\\n          <table role=\\\"presentation\\\" cellpadding=\\\"0\\\" cellspacing=\\\"0\\\" border=\\\"0\\\" width=\\\"650\\\" class=\\\"w-650\\\" style=\\\"width:650px;max-width:650px;\\\">\\n            <tr><td style=\\\"padding:0;\\\"><img src=\\\"https://placehold.co/1200x300/001f3f/ffffff?text=Plex+Newsletter\\\" alt=\\\"Plex Weekly Newsletter\\\" width=\\\"650\\\" style=\\\"display:block;width:100%;height:auto;border-radius:12px;\\\"></td></tr>\\n            <tr><td style=\\\"height:20px;font-size:1px;line-height:1px;\\\">&nbsp;</td></tr>\\n            <tr><td align=\\\"center\\\" style=\\\"padding:18px;border:1px solid #2a4a6a;background:#0d2c4a;border-radius:12px;\\\"><p style=\\\"margin:0;font:16px/-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;color:#ffffff;\\\">Best Movies and Shows in one place!</p></td></tr>\\n            <tr><td style=\\\"height:12px;font-size:1px;line-height:1px;\\\">&nbsp;</td></tr>\\n            <tr><td align=\\\"center\\\"><p style=\\\"margin:0;font:13px/-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;color:#a9a9a9;\\\">Last Updated: ${new Date().toLocaleDateString('en-GB')}</p></td></tr>\\n            <tr><td style=\\\"height:26px;font-size:1px;line-height:1px;\\\">&nbsp;</td></tr>\\n            <tr><td>\\n              <table role=\\\"presentation\\\" cellpadding=\\\"0\\\" cellspacing=\\\"0\\\" border=\\\"0\\\" width=\\\"100%\\\" style=\\\"background:#0d2c4a;border-radius:15px;border:1px solid #2a4a6a;\\\">\\n                <tr><td style=\\\"padding:22px 24px 6px 24px;\\\"><h2 style=\\\"margin:0 0 6px 0;text-align:center;font:700 22px/-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;color:#ffffff;\\\">🆕 New This Week</h2><p style=\\\"margin:0 0 8px 0;text-align:center;font:14px/-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;color:#a9a9a9;\\\">Freshly added Movies & TV from your Plex.</p></td></tr>\\n                ${movies.length?sectionHeader('New Movies','🎞️'):''}\\n                ${movies.map(movieRow).join('')}\\n                ${tvItems.length?sectionHeader('New TV Shows','📺'):''}\\n                ${tvItems.map(tvRow).join('')}\\n                ${!movies.length && !tvItems.length ? `<tr><td style=\\\\\\\"padding:0 24px 24px 24px;\\\\\\\"><p style=\\\\\\\"margin:0;text-align:center;font:14px/-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;color:#dddddd;\\\\\\\">No new items were added recently. Check back soon!</p></td></tr>`:``}\\n                <tr><td style=\\\"height:10px;font-size:1px;line-height:1px;\\\">&nbsp;</td></tr>\\n              </table>\\n            </td></tr>\\n            <tr><td style=\\\"height:28px;font-size:1px;line-height:1px;\\\">&nbsp;</td></tr>\\n          </table>\\n        </td>\\n      </tr>\\n    </table>\\n  </center>\\n</body>\\n</html>`;\n\nreturn [{ json: { htmlBody: html } }];"
      },
      "typeVersion": 2
    },
    {
      "id": "01812e45-e2ec-4aaa-a0ef-21cb2cd0e796",
      "name": "注記: 受信者",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        320,
        208
      ],
      "parameters": {
        "content": "### 📧 Prepare Recipients\nReplace the example emails below with your list."
      },
      "typeVersion": 1
    },
    {
      "id": "76b727c6-111f-40bd-8e54-a485353e365f",
      "name": "受信者向けメールを準備",
      "type": "n8n-nodes-base.code",
      "position": [
        384,
        400
      ],
      "parameters": {
        "jsCode": "const recipients = [\\n  'example1@example.com',\\n  'example2@example.com'\\n];\\n\\nconst htmlBody = $input.item.json.htmlBody;\\nconst items = [];\\nfor (const email of recipients) {\\n  items.push({ json: { htmlBody, recipientEmail: email } });\\n}\\nreturn items;"
      },
      "typeVersion": 2
    },
    {
      "id": "6f583cb4-bcf5-4fac-8caa-0a099411ca00",
      "name": "注記: 送信",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        592,
        208
      ],
      "parameters": {
        "content": "### 📤 Send via SMTP\nSet `fromEmail` and attach your SMTP credentials in this node."
      },
      "typeVersion": 1
    },
    {
      "id": "569fcce4-8129-4665-8efc-784c486eb45e",
      "name": "ニュースレターメールを送信",
      "type": "n8n-nodes-base.emailSend",
      "position": [
        672,
        400
      ],
      "webhookId": "38c7bfdd-a1f1-4cfd-98bf-50aba1139f2d",
      "parameters": {
        "html": "={{ $json.htmlBody }}",
        "options": {
          "appendAttribution": false
        },
        "subject": "New Plex Content",
        "toEmail": "={{ $json.recipientEmail }}",
        "fromEmail": "Your Newsletter <newsletter@example.com>"
      },
      "credentials": {
        "smtp": {
          "id": "sbKqLj7cpLRlmpED",
          "name": "SMTP account"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "671519fc-9662-42fd-baa2-13204d68c3e7",
      "name": "注記: 完了",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        864,
        208
      ],
      "parameters": {
        "content": "### ✅ Finish\nTiny summary of how many emails were sent."
      },
      "typeVersion": 1
    },
    {
      "id": "dd329307-eb1a-489a-bc80-6767d55b42b2",
      "name": "終了",
      "type": "n8n-nodes-base.code",
      "position": [
        944,
        400
      ],
      "parameters": {
        "jsCode": "const sent = $input.all().length;\\nreturn [{ json: { status: 'OK', sentCount: sent, note: 'Newsletter sent successfully' } }];"
      },
      "typeVersion": 2
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "1a3e382c-6ca8-40af-8205-a88f262f897a",
  "connections": {
    "2f749618-c51f-4b21-ab24-29ede323205b": {
      "main": [
        [
          {
            "node": "c2e3658a-27b1-4bbf-87a1-474e2233393b",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "c2e3658a-27b1-4bbf-87a1-474e2233393b": {
      "main": [
        [
          {
            "node": "1115cde1-64e4-4827-8f47-c0f4d2c79fbc",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "34dd3ee8-a8da-44b4-9434-c10110ed985b": {
      "main": [
        [
          {
            "node": "1115cde1-64e4-4827-8f47-c0f4d2c79fbc",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "569fcce4-8129-4665-8efc-784c486eb45e": {
      "main": [
        [
          {
            "node": "dd329307-eb1a-489a-bc80-6767d55b42b2",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "1115cde1-64e4-4827-8f47-c0f4d2c79fbc": {
      "main": [
        [
          {
            "node": "a4713613-3047-4522-b771-ee91e793ad19",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "a4713613-3047-4522-b771-ee91e793ad19": {
      "main": [
        [
          {
            "node": "76b727c6-111f-40bd-8e54-a485353e365f",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "76b727c6-111f-40bd-8e54-a485353e365f": {
      "main": [
        [
          {
            "node": "569fcce4-8129-4665-8efc-784c486eb45e",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
よくある質問

このワークフローの使い方は?

上記のJSON設定コードをコピーし、n8nインスタンスで新しいワークフローを作成して「JSONからインポート」を選択、設定を貼り付けて認証情報を必要に応じて変更してください。

このワークフローはどんな場面に適していますか?

上級 - ソーシャルメディア, マルチモーダルAI

有料ですか?

このワークフローは完全無料です。ただし、ワークフローで使用するサードパーティサービス(OpenAI APIなど)は別途料金が発生する場合があります。

ワークフロー情報
難易度
上級
ノード数16
カテゴリー2
ノードタイプ6
難易度説明

上級者向け、16ノード以上の複雑なワークフロー

外部リンク
n8n.ioで表示

このワークフローを共有

カテゴリー

カテゴリー: 34