fal.aiを基盤としたテキストからAI画像生成

中級

これは自動化ワークフローで、12個のノードを含みます。主にIf, Wait, Webhook, HttpRequest, RespondToWebhookなどのノードを使用。 fal.aiプラットフォームを利用したテキストからAI画像への変換ツール

前提条件
  • HTTP Webhookエンドポイント(n8nが自動生成)
  • ターゲットAPIの認証情報が必要な場合あり
  • OpenAI API Key

カテゴリー

-
ワークフロープレビュー
ノード接続関係を可視化、ズームとパンをサポート
ワークフローをエクスポート
以下のJSON設定をn8nにインポートして、このワークフローを使用できます
{
  "meta": {
    "instanceId": "cb484ba7b742928a2048bf8829668bed5b5ad9787579adea888f05980292a4a7"
  },
  "nodes": [
    {
      "id": "c5b7bac5-6e31-4338-af76-32a34be8ae4d",
      "name": "Webhook",
      "type": "n8n-nodes-base.webhook",
      "position": [
        -440,
        280
      ],
      "webhookId": "5cca11bb-eaea-4c3a-86f7-16d5802b6ac8",
      "parameters": {
        "path": "ai_text_to_image_generator",
        "options": {},
        "httpMethod": "POST",
        "responseMode": "responseNode"
      },
      "typeVersion": 2
    },
    {
      "id": "ba2850cc-3d2b-45d7-9c1d-87bff38d99c3",
      "name": "ステータス取得",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        300,
        280
      ],
      "parameters": {
        "url": "=https://queue.fal.run/fal-ai/flux/requests/{{ $json.request_id }}/status",
        "options": {},
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth"
      },
      "credentials": {
        "httpHeaderAuth": {
          "id": "0qP44IHCmBfL54Vb",
          "name": "Falai Polina"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "44e08f96-e6b2-49a8-8077-571e07108d8d",
      "name": "待機",
      "type": "n8n-nodes-base.wait",
      "position": [
        680,
        460
      ],
      "webhookId": "150069ed-885b-497f-a32a-09e7088136e6",
      "parameters": {
        "amount": 1
      },
      "typeVersion": 1.1
    },
    {
      "id": "a1455b63-eed2-4c6d-86dc-11bf0937892b",
      "name": "準備完了確認",
      "type": "n8n-nodes-base.if",
      "position": [
        480,
        280
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "ac50759b-e2f3-4efd-a2af-f28b7d209b45",
              "operator": {
                "name": "filter.operator.equals",
                "type": "string",
                "operation": "equals"
              },
              "leftValue": "={{ $json.status }}",
              "rightValue": "COMPLETED"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "6b4446ef-0c5f-4d8b-839e-e7a9d6ae4773",
      "name": "リクエスト送信",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        100,
        280
      ],
      "parameters": {
        "url": "https://queue.fal.run/fal-ai/flux/schnell",
        "method": "POST",
        "options": {},
        "jsonBody": "={\"prompt\": \"{{ $json.body.prompt }}\"}",
        "sendBody": true,
        "sendHeaders": true,
        "specifyBody": "json",
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth",
        "headerParameters": {
          "parameters": [
            {
              "name": "Content-Type",
              "value": "application/json"
            }
          ]
        }
      },
      "credentials": {
        "httpHeaderAuth": {
          "id": "0qP44IHCmBfL54Vb",
          "name": "Falai Polina"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "3f1df77f-8576-4c32-a1c8-7e80f5bf572d",
      "name": "結果取得",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        680,
        280
      ],
      "parameters": {
        "url": "={{ $json.response_url }}",
        "options": {},
        "authentication": "genericCredentialType",
        "genericAuthType": "httpHeaderAuth"
      },
      "credentials": {
        "httpHeaderAuth": {
          "id": "0qP44IHCmBfL54Vb",
          "name": "Falai Polina"
        }
      },
      "typeVersion": 4.2
    },
    {
      "id": "744b0b05-d1f7-4972-b16d-70328b7a36c9",
      "name": "OpenAI Chat Model",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        -260,
        440
      ],
      "parameters": {
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "QpFZ2EiM3WGl6Zr3",
          "name": "Marketing OpenAI"
        }
      },
      "typeVersion": 1.1
    },
    {
      "id": "9ab24ceb-c1c1-42b8-88d9-249c2db60a8d",
      "name": "400エラー",
      "type": "n8n-nodes-base.respondToWebhook",
      "position": [
        100,
        640
      ],
      "parameters": {
        "options": {
          "responseCode": 400
        },
        "respondWith": "json",
        "responseBody": "={{\n{\n  \"error\": \"Prompt is in violation of terms of use. Please try again.\",\n  \"result\": []\n}\n}}"
      },
      "typeVersion": 1.1
    },
    {
      "id": "c5ef424e-1fb5-44d5-9612-4c76c7d1d232",
      "name": "成功",
      "type": "n8n-nodes-base.respondToWebhook",
      "position": [
        900,
        280
      ],
      "parameters": {
        "options": {},
        "respondWith": "json",
        "responseBody": "={{\n{\n  \"error\": null,\n  \"result\": $json.images\n}\n}}"
      },
      "typeVersion": 1.1
    },
    {
      "id": "eb43cc4a-4d15-47b9-9c81-840ecc9cfafa",
      "name": "NSFWフィルター",
      "type": "@n8n/n8n-nodes-langchain.textClassifier",
      "position": [
        -260,
        280
      ],
      "parameters": {
        "options": {
          "fallback": "other"
        },
        "inputText": "={{ $json.body.prompt }}",
        "categories": {
          "categories": [
            {
              "category": "NSFW",
              "description": "text is NSFW"
            },
            {
              "category": "SFW",
              "description": "text is SFW"
            }
          ]
        }
      },
      "typeVersion": 1
    },
    {
      "id": "db102cc6-b414-4187-b269-8f73158f0fb3",
      "name": "付箋1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -480,
        120
      ],
      "parameters": {
        "width": 540,
        "height": 460,
        "content": "## Receives text prompt through a webhook endpoint and filters the prompt for inappropriate content using AI moderation"
      },
      "typeVersion": 1
    },
    {
      "id": "b2ff86e9-62cc-45d1-9f89-6a5d2010c976",
      "name": "付箋2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        80,
        0
      ],
      "parameters": {
        "width": 540,
        "height": 580,
        "content": "## Submits valid prompts to the Fal.ai and polls for completion status and retrieves the generated image when ready\n\nFal.ai is a model inference and finetuning service dedicated to AI image and video. It hosts many popular third party models including Flux by Black Forest Labs.\n\nSign up here - https://fal.ai - for an api key."
      },
      "typeVersion": 1
    }
  ],
  "pinData": {
    "Webhook": [
      {
        "body": {
          "prompt": "A person sitting under a moonlit sky",
          "styleId": "1"
        },
        "query": {},
        "params": {},
        "headers": {
          "host": "[insert your host]",
          "accept": "*/*",
          "origin": "http://localhost:3000",
          "pragma": "no-cache",
          "referer": "http://localhost:3000/",
          "priority": "u=1, i",
          "sec-ch-ua": "\"Chromium\";v=\"134\", \"Not:A-Brand\";v=\"24\", \"Google Chrome\";v=\"134\"",
          "x-real-ip": "10.255.0.2",
          "user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36",
          "content-type": "multipart/form-data; boundary=----WebKitFormBoundary6KvXTaJpPc6UJTId",
          "cache-control": "no-cache",
          "content-length": "268",
          "sec-fetch-dest": "empty",
          "sec-fetch-mode": "cors",
          "sec-fetch-site": "cross-site",
          "accept-encoding": "gzip, deflate, br, zstd",
          "accept-language": "pl-PL,pl;q=0.9,en-US;q=0.8,en;q=0.7,fr;q=0.6,la;q=0.5,de;q=0.4,sk;q=0.3,nl;q=0.2,mt;q=0.1",
          "x-forwarded-for": "10.255.0.2",
          "sec-ch-ua-mobile": "?0",
          "x-forwarded-host": "[insert your host]",
          "x-forwarded-port": "443",
          "x-forwarded-proto": "https",
          "sec-ch-ua-platform": "\"macOS\"",
          "x-forwarded-server": "5f641c71d311"
        },
        "webhookUrl": "https://[insert your host]/webhook/ai_text_to_image_generator",
        "executionMode": "production"
      }
    ]
  },
  "connections": {
    "44e08f96-e6b2-49a8-8077-571e07108d8d": {
      "main": [
        [
          {
            "node": "ba2850cc-3d2b-45d7-9c1d-87bff38d99c3",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "c5b7bac5-6e31-4338-af76-32a34be8ae4d": {
      "main": [
        [
          {
            "node": "eb43cc4a-4d15-47b9-9c81-840ecc9cfafa",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "a1455b63-eed2-4c6d-86dc-11bf0937892b": {
      "main": [
        [
          {
            "node": "3f1df77f-8576-4c32-a1c8-7e80f5bf572d",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "44e08f96-e6b2-49a8-8077-571e07108d8d",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "eb43cc4a-4d15-47b9-9c81-840ecc9cfafa": {
      "main": [
        [
          {
            "node": "9ab24ceb-c1c1-42b8-88d9-249c2db60a8d",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "6b4446ef-0c5f-4d8b-839e-e7a9d6ae4773",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "9ab24ceb-c1c1-42b8-88d9-249c2db60a8d",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "3f1df77f-8576-4c32-a1c8-7e80f5bf572d": {
      "main": [
        [
          {
            "node": "c5ef424e-1fb5-44d5-9612-4c76c7d1d232",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "ba2850cc-3d2b-45d7-9c1d-87bff38d99c3": {
      "main": [
        [
          {
            "node": "a1455b63-eed2-4c6d-86dc-11bf0937892b",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "6b4446ef-0c5f-4d8b-839e-e7a9d6ae4773": {
      "main": [
        [
          {
            "node": "ba2850cc-3d2b-45d7-9c1d-87bff38d99c3",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "744b0b05-d1f7-4972-b16d-70328b7a36c9": {
      "ai_languageModel": [
        [
          {
            "node": "eb43cc4a-4d15-47b9-9c81-840ecc9cfafa",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    }
  }
}
よくある質問

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

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

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

中級

有料ですか?

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

ワークフロー情報
難易度
中級
ノード数12
カテゴリー-
ノードタイプ8
難易度説明

経験者向け、6-15ノードの中程度の複雑さのワークフロー

作成者
n8n Team

n8n Team

@n8n-team

Meet the official n8n team. We specialize in building workflows that transform intricate tasks into seamless operations.

外部リンク
n8n.ioで表示

このワークフローを共有

カテゴリー

カテゴリー: 34