ナビゲーション

連携

n8n を接続する

n8n に Bannerify のコミュニティノードをインストールし、ワークフローで画像と PDF を描画する方法を説明します。

Bannerify ノードは、テンプレートを描画し、ファイルのリンクを返します。ノードに届いたアイテムごとに 1 回ずつ実行されるため、20 個のアイテムを受け取ったノードは、20 個のファイルを作ります。パッケージは、npm の n8n-nodes-bannerify です。

オペレーション

オペレーション 出力 フィールド
Render Image PNG、JPEG、WebP ファイル Template、Format、Modifications JSON
Render PDF PDF ファイル Template、Modifications JSON

どちらのオペレーションも、url フィールドを含むオブジェクトを返します。Bannerify はファイルを CDN に保存し、ファイル 1 つにつき 1 回の生成として数えられます。

前提条件

  • コミュニティノードをインストールできる n8n アカウント。n8n では、Owner と Admin のロールに限られます。
  • Bannerify の API キー。
  • 名前付きのレイヤーがあるテンプレート。名前が重要な理由は、Modificationsで説明しています。

ノードをインストールする

  1. n8n で Settings、Community nodes の順に開きます。
  2. Install をクリックします。
  3. npm のパッケージ名として、n8n-nodes-bannerify を入力します。
  4. 未検証のコードに関するリスクの確認を承諾し、Install をクリックします。

API キーを追加する

  1. ワークフローに Bannerify ノードを追加し、そのための新しい認証情報を作成します。認証情報の種類は Bannerify API です。
  2. API Key にキーを貼り付けます。
  3. API Base URL は https://api.bannerify.co のままにします。
  4. 認証情報を保存します。

ファイルを描画する

  1. Operation として、Render Image または Render PDF を選びます。
  2. Template で、テンプレートを選びます。ノードは、キーを持つワークスペースのテンプレートを読み込みます。
  3. Render Image では、Format を選びます。初期値は PNG で、ほかに JPEG と WebP を選べます。
  4. Modifications JSON に、値を入力します。前のノードのデータを読み取るには、式を使います。
{
  "headline": "{{ $json.title }}",
  "photo": { "src": "{{ $json.imageUrl }}" }
}
  1. ノードを実行します。各出力アイテムには、url フィールドが含まれます。

このフィールドは、キーがレイヤー名のオブジェクト、または API が使う配列を受け付けます。各レイヤーの種類が読み取るフィールドは、Modificationsにまとめています。

描画に失敗すると、ノードはワークフローを停止します。ノードを「エラー時に続行」に設定すると、失敗したアイテムには、エラーメッセージを含む error フィールドが入ります。

レシピ: フォームの回答を PDF にする

  1. Webhook トリガーを追加し、フォームツールをその URL に向けます。
  2. Bannerify ノードを追加し、Render PDF を選びます。Modifications JSON で、回答をレイヤー名にマップします。
  3. Send Email ノードを追加し、メッセージに url を入れます。

トラブルシューティング

問題 対処
Template のリストが空 API キーが、テンプレートを持つワークスペースのものであること、API Base URL が https://api.bannerify.co であることを確認します
レイヤーが変わらない エディターでレイヤー名を確認します。名前は大文字小文字を区別し、存在しない名前は API に無視されます
ノードが JSON エラーで失敗する Modifications JSON が有効な JSON であることを確認します
ノードが使用量の上限のメッセージで失敗する ワークスペースが日次または月間の上限に達しました。アイテム 1 つにつき 1 回の生成として数えられます。クォータと制限を参照してください