1 つの Make モジュールを任意のシナリオに配置し、前のステップからエンティティをマッピングすると、構造化され、スキーマで検証され、複数のモデルでフュージョンされた JSON オブジェクトを受け取れます — 40 言語の多言語出力を単一の LLM パスで生成します。動的ドロップダウンとプラン制限に対応したエラー処理を備えた 9 つのファーストクラスモジュールで、Make の操作単位の課金モデル向けに設計されています。
Entity Enricher は Server-Sent Events ストリームを利用する n8n コネクター をすでに提供しています。Make のモジュールは SSE をネイティブに扱えず、各モジュールは 1 回の単一な HTTP 呼び出しになります。エンリッチメントを 1 つの Make オペレーションとして実行できるよう、バックエンドは専用の POST /api/single/enrich/sync エンドポイントを公開しており、ストリーミングフローをサーバー側でラップして、最終的なフュージョン結果を 1 つのレスポンスで返します。
言語フィールドで複数の言語を選択すると、Entity Enricher はすべての多言語プロパティを選択したすべての言語で1回のLLM呼び出しで入力します — 言語ごとにN回の逐次往復は行いません。40の言語が、欧州、アジア、中東、アフリカの主要市場をカバーします。
languages = ["en", "fr", "de", "ja"] を指定した 1 回の Enrich Entity 呼び出しの結果:
{
"names": {
"primary": {
"en": "Aspirin",
"fr": "Aspirine",
"de": "Aspirin",
"ja": "アスピリン"
}
},
"indications": {
"en": "Pain, fever, inflammation; antiplatelet therapy.",
"fr": "Douleur, fièvre, inflammation ; antiagrégant plaquettaire.",
"de": "Schmerz, Fieber, Entzündung; Thrombozytenaggregationshemmer.",
"ja": "痛み、発熱、炎症;抗血小板療法。"
}
}下流の Make モジュールは任意の言語を直接マッピングできます:{{enrichEntity.result.names.primary.fr}}。Languages ドロップダウンには全 40 言語のリストが表示され、組織のプロファイルで選択可能な言語数が制限されている場合はプラン制限の通知が表示されます。

Make アプリのソースは公開 TOT-Concept リポジトリにあります(Entity Enricher のモノレポから同期)。v1.0 が Make.com マーケットプレイスに登場するまでは、Developer Hub からサイドロードしてください。
make-app-entity-enricher/ ディレクトリを .zip としてアップロードするか、各 .json/.imljson ファイルをエディターの対応するタブに貼り付けてください。ent_XXXXXXXXXXXX)を使用して APIキー接続を追加します。接続は /api/enrichment/options に対して自動的にテストされます。
Makeモジュール内の選択可能なすべてのフィールドは、設定時にEntity Enricher APIを呼び出すRPCによって設定されます。ピン留めされたスキーマが最初に表示され(📌で示されます)、モデルラベルには100万トークンあたりの価格が含まれ、プラン制限のある組織はクォータに達すると通知が表示されます。

https://entityenricher.aiです。セルフホスト環境の場合のみ上書きしてください。中心となるモジュールは、動的なドロップダウンで入力フィールドを提供します:スキーマ、モデル(複数選択)、言語(複数選択)、戦略、オプションの分類モデルおよびアービトレーションモデル、Web検索、レスポンススキーマ、厳密な構造化出力、タイムアウト、メタデータの切り替えです。Entity dataフィールドを介して、以前の任意のモジュールからエンティティをマッピングできます。
2つ以上のmodelを選択すると、結果はサーバー側で自動的にfusionされます。Make出力パネルにはis_fused: true、source_modelsのリスト、そして一致したフィールドと競合したフィールドを集計するfusionサマリーが表示されます:

5つのカテゴリーにまたがる9つのモジュール。検索モジュールは、下流のIterator/Aggregatorチェーン向けに結果ごとに1つのバンドルを出力します。アクションモジュールは単一のバンドルを出力します。
| カテゴリ | モジュール | 説明 |
|---|---|---|
| Enrichment | Enrich Entity | マルチモデルフュージョンによる単一呼び出しエンリッチメント。最終的にフュージョンされた(または最良の単一モデルの)結果を返します。分類警告時には自動的にキャンセルされます。 |
| Schemas | List Schemas | 保存済みのschemaごとに1つのMakeバンドルを返し、Iterator/Aggregatorチェーンですぐに利用できます。 |
| Schemas | Get Schema Details | 専門領域、プロパティ、検索キーを含むスキーマの全内容です。 |
| Records | List Records | フィルター(タイプ、成功、フリーテキスト)を使って過去のエンリッチメントレコードを検索します。 |
| Records | Get Record | prompt ごとの完全なメトリクスを含む単一のenrichment結果を取得します。 |
| Fusion | Merge Results | 複数のエンリッチメント結果を、必要に応じて別のLLMアービターで再マージします。 |
| Attachments | Upload Attachment | ファイル(上流モジュールからバッファとしてマッピングされたもの、例:HTTP ▸ Get a File)をアップロードし、Enrich Entity で使用するアタッチメント ID を返します。 |
| Attachments | Delete Attachment | IDでattachmentを削除します。enrichment後の便利なクリーンアップ手順です。 |
| Configuration | Get Options | 利用可能なモデル、言語、ストラテジー、および組織のプラン上限。 |
Make シナリオは操作単位で課金されます。Make アプリは n8n コネクタの Batch Enrich モジュールを移植する代わりに、Make 組み込みの Iterator + Enrich Entity を使用します。各反復は独立しており、障害が連鎖せず、課金は処理された内容を正確に反映します。
1回の Enrich Entity 呼び出しで、選択したすべての言語における多言語プロパティをすべて設定します。N回の順次往復ではなく、1回のLLMパスで生成されます。任意の言語を直接マッピングできます:{{result.names.primary.fr}}。
専用の POST /api/single/enrich/sync エンドポイントが、サーバー側でストリーミングフローをラップします。1つのMake操作=1つのバンドル。ポーリングも、2モジュール構成も不要です。
7つの RPC が設定時にスキーマ、モデル、言語、戦略、分類/アービトレーションモデル、Web検索オプションを取得します。ピン留めされたスキーマが最初に表示され、モデルのラベルには料金が含まれます。
2つ以上のモデルを選択すると、結果は自動的にフュージョンされます。出力バンドルには is_fused、source_models[]、および fusion: {agreed_fields, conflicted_fields, total_fields} のサマリーが含まれます。
任意の安価な分類モデルが、エンリッチメントの実行前にエンティティがスキーマの期待する型と一致するかを検証します。不一致の場合は、幻覚されたデータではなく型付きのDataErrorが生成されます。
HTTP 402エラー(プランの上限またはクレジット不足)は、型付きのMake OutOfMoneyErrorになります。メッセージには、バックエンドの人間が読める詳細(クレジットが尽きた場合は課金チャージ用URLを含む)と機械可読なコードが反映されます。シナリオのエラーハンドラーでコードに応じて分岐し、人間に警告したり、より安価なモデルにフォールバックしたり、一時停止したりできます。
Web検索のドロップダウンはparameters.modelsを読み取り、選択されたモデルのいずれもsupports_web_searchを宣言していない場合は無効になります。
Make シナリオは操作単位で課金されます。複数エンティティのワークフローは Make 組み込みの Iterator + Enrich Entity を使用し、エンティティごとのきめ細かなエラー処理と正確な課金を実現します。
呼び出しごとのデフォルトのタイムアウトは300秒で、範囲は[10, 900]です。ジョブが時間内に完了しない場合、サーバー側で自動的にキャンセルされ、型付きのConnectionErrorが返されます。
バックエンドが返し得るすべてのステータスは、型付きのMakeエラーにマッピングされるため、シナリオのエラーハンドラーは文字列を解析するのではなく、失敗モードに応じて分岐できます。

| HTTP | Make のエラータイプ | 発火するタイミング |
|---|---|---|
| 400 | DataError | スキーマが見つからない、検索キーが不足している、モデルまたは言語が無効です。 |
| 401 | InvalidCredentials | API キーが正しくないか、指定されていません。 |
| 402 | OutOfMoneyError | プラン上限の超過またはクレジット不足です。メッセージ = body.detail.detail(人間が読める形式で、insufficient_credits の場合はチャージ用URLを含みます)+ body.detail.code(機械可読)。code で分岐します: insufficient_credits、model_limit_exceeded、language_limit_exceeded、concurrent_job_limit_reached、daily/weekly/monthly_prompt_limit_exceeded。 |
| 403 | AccessDeniedError | ロールまたはスコープが不足しています。 |
| 404 | InvalidConfigurationError | スキーマまたはレコードが見つかりません。 |
| 422 | DataError | classification警告。body.detail.classification には status、reasoning、confidence、entity_description が含まれます。 |
| 429 | RateLimitError | プロバイダーのレート制限(一時的)。 |
| 499 | RuntimeError | ジョブがキャンセルされました。 |
| 502 | ConnectionError | アップストリームのLLMプロバイダーエラー(例: コンテキストオーバーフロー)。 |
| 504 | ConnectionError | timeout_seconds が経過したため、ジョブはサーバー側で自動的にキャンセルされました。 |