重複送信を避けて MaxAPI 画像 API を n8n に接続
HTTP Request と認証情報の保存を使い、手動送信と状態確認を別ワークフローに分けてタスク状態を扱います。
技術確認日:
1. 認証を専用の認証情報に保存
HTTP Header Auth の認証情報を作り、Name を Authorization、Value を Bearer YOUR_MAXAPI_KEY にして、認証情報の編集画面内だけで実キーに置き換えます。HTTP Request で Generic Credential Type → Header Auth を選び、保存済み認証を指定します。URL、Code ノード、JSON 本文、スクリーンショットにキーを入れません。Console で権限、固定ルート、残高を確認し、プロンプトや非公開結果が残る実行履歴へのアクセスも制限します。
2. 手動ワークフローから 1 回送信
Manual Trigger → HTTP Request のワークフローを作り、POST https://api.maxapi.dev/v1/images/generations に下記 JSON を送ります。入力は 1 件から始めます。応答は JSON、Never Error はオフ、リダイレクトは無効、SSL 検証は有効にします。この POST の自動再試行・ページ送りは無効にし、生成したいときだけ実行します。返された id と poll_url を自分のジョブ記録に保存し、状態更新のためにこのワークフローを再実行しません。
{
"model": "google/gemini-3.1-flash-lite-image",
"prompt": "A red ceramic bowl on a cream background, soft studio light.",
"resolution": "1K",
"aspect_ratio": "1:1",
"n": 1,
"async": true
}3. GET 専用の別ワークフローで状態確認
2 つ目のワークフローを作り、専用の Manual Trigger と GET の HTTP Request を接続し、同じ認証を使います。保存済み poll_url の HTTPS、api.maxapi.dev、/v1/images/generations/{id} などの画像タスクパスを確認します。相対パスは固定 API オリジンを基準にし、別ホストやリダイレクトへキーを送らないでください。このフローには生成 POST を置きません。状態確認の際に前段の送信ノードを再実行しないための分離です。
4. HTTP 成功だけでなくタスク状態で分岐
標準の本文のみの JSON 出力では応答の status を見ます。Include Response Headers and Status を有効にした場合は body.status を確認します。queued/running は待ってから GET、succeeded は data の確認、failed は記録して停止です。未知の状態も調査のため停止します。202 や状態確認の 200 は画像完成の証拠ではありません。別の画像ホストから取得するノードには MaxAPI 認証を設定しないでください。
5. 定期実行や一括処理の前に上限を設定
自動化の前に、ジョブの所有者、受理されたタスク ID、送信状態を永続化します。GET 回数、待機時間、同時 worker 数を別々に制限してください。ローカルの上限はサーバータスクをキャンセルしません。POST 後のタイムアウトは結果不明なので、再送前に履歴を確認します。401/403、429、ポリシーエラーを区別し、復旧と費用上限を確認するまで自動トリガーを無効にします。自動的な重複排除は保証しません。
モデル別パラメーター
公開設定のスナップショットであり、現在の稼働状況ではありません。パラメーター、ルート、参照画像の上限は各モデルページを確認してください。
- Gemini 3.1 Flash Lite Image
google/gemini-3.1-flash-lite-image - Gemini 3.1 Flash Image Preview
google/gemini-3.1-flash-image-preview