x-litellm-response-cost レスポンスヘッダーに報告します。対象となるのは、実行ごとに Comfy クレジット価格を報告するモデルです(コストを報告しない実行を参照)。LiteLLM はすべてのパススルーレスポンスでこのヘッダーを読み取り、リクエストの支出として記録するため、それらのモデル用の価格表を自分で管理する必要はありません。
LiteLLM の組み込み
fal_ai/ プロバイダーは画像生成のみをカバーしています。一般的なワークロードを LiteLLM 経由でルーティングするには、ネイティブプロバイダーではなく、ここに示すようなパススルーエンドポイントを使用してください。パススルーを設定する
1
Comfy APIキーを作成する
Comfy ワークスペースでキーを作成し、LiteLLM Proxy プロセスから利用できるようにします:
2
config.yaml に Router を追加する
config.yaml
include_subpath: trueは/comfy/v2/models/{provider}/{model}をhttps://api.comfy.org/v2/models/{provider}/{model}に転送するため、1組のエントリで全ての Router モデルをカバーできます。pathとtargetは/v2/modelsに限定したままにしてください。パススルーを API ルートに向けると、LiteLLM キーを持つ呼び出し元が、LiteLLM の支出追跡の範囲外で、あなたの Comfy キーを他のすべての Comfy API ルートに利用できてしまいます。methodsは同じパス上の2つのエントリを分けます。パススルーエンドポイントがmethodsをサポートする LiteLLM Proxy のリリースが必要です。このページは v1.103.0 で確認しています。X-API-Keyはあなたのcomfyui-キーを運びます。Router は同じキーをAuthorization: Bearer comfyui-...としても受け付けます。forward_headersはオフのままにしてください。オンにすると、LiteLLM は呼び出し元の LiteLLM キーを含むすべての受信ヘッダーを Router に転送します。オフの場合、呼び出し元はIdempotency-Keyをx-pass-Idempotency-Keyとして渡します。LiteLLM はx-pass-プレフィックスを取り除いて転送します。通常のIdempotency-Keyヘッダーは Router に届かないため、再試行すると2回目の生成が実行され課金されます。timeoutは Router の実行期限より長く設定してください。そうすることで、LiteLLM が諦める前に Router が自身の504とリクエスト ID を返せます。期限はデフォルトで10分で、LiteLLM のパススルーのデフォルトタイムアウトである600秒と同じです。
3
プロキシ経由で Router を呼び出す
呼び出し元は自身の LiteLLM キーで認証します。ボディはモデル自身の入力で、Comfy Router リファレンスとまったく同じです:
支出がどのように記録されるか
コストを報告する同期実行には、次のレスポンスヘッダーが付きます:X-Comfy-Credits-Used は、その実行の Comfy クレジットでの価格を小数点以下 2 桁に丸めたものです。X-Litellm-Response-Cost は同じ価格を、丸めていないクレジット量から USD に換算したもので、表示されたクレジットを換算レートで割った値とは下位の桁で異なることがあります。ヘッダー名は大文字と小文字を区別しないため、LiteLLM はこれを x-litellm-response-cost として読み取ります。LiteLLM は送信されたとおりに正確に記録し、あなたの cost_per_request の代わりにこれを使用します。x-litellm-total-tokens は常に 0 です。メディアの実行はトークンでは計量されないためです。
X-Comfy-Credits-Used と同様に、このヘッダーが報告するのは確定した請求額ではなく価格です。照合は LiteLLM の合計ではなく、ワークスペースの請求 に対して行ってください。
コストを報告しない実行
一部の実行にはx-litellm-response-cost が付きません。X-Comfy-Credits-Used と同じケースで存在しません:
- Comfy クレジットではなく、自分のプロバイダーキーに請求される実行
- Router の、実行ごとのクレジット価格を報告するモデルのリストにまだ載っていないモデル。そのリストは保守的で、一部のプロバイダーはまったく載っていません
- Comfy の請求に到達しなかった課金
- エラーレスポンス
Idempotency-Key(プロキシ経由では x-pass-Idempotency-Key として送信)を使ったリトライのために保存済みの結果を再生する場合にも存在しません。そのリトライは再度課金されないため、再生はその実行の正確なコストを二度目に報告しません。
ヘッダーが存在しない場合、LiteLLM はエンドポイントの cost_per_request にフォールバックします。これは上記のすべてのケースに当てはまります。したがって、エラーレスポンス、自分のプロバイダーキーに請求される実行、冪等な再生は、Comfy がそれらのクレジットを請求していなくても、あなたの見積もり額で記録されます。典型的な実行の妥当な見積もりを 0 ではなく設定してください。そうすれば、コストを報告しない実行が支出レポートで無料として表示されません。また、それらの行によって LiteLLM の合計が Comfy の請求額を上回ることを想定してください。価格が付けられ、本当にコストがかからなかった実行は x-litellm-response-cost: 0 を報告し、LiteLLM はこれをゼロとして記録します。
キュー配信
キュー配信では、1回の生成が複数のリクエストとして LiteLLM に到達し、それぞれが独立した支出行になります。
送信レスポンスの
status_url、response_url、cancel_url は絶対 https://api.comfy.org/... URL であり、LiteLLM はレスポンスボディを書き換えません。これらをプロキシ経由で呼び出すには、https://api.comfy.org をプロキシの /comfy プレフィックスに置き換えます。たとえば http://localhost:4000/comfy/v2/models/... です。Comfy にストレートに送信すると、あなたの LiteLLM キーは拒否されます。
キューのレスポンスはまだ x-litellm-response-cost を含んでいないため、キュー中の生成は正確な価格ではなく、あなたの見積もりで記録されます。エンドポイントを方法ごとに分割すると、その見積もりはポーリングごとではなく、送信時に一度だけ記録されます。LiteLLM で実行ごとの正確な支出を得るには、同期ルートを使用してください。
注意事項
- LiteLLM は使用額を記録しますが、課金内容は変更しません。Comfy は、プロキシを使用しない場合とまったく同じようにワークスペースに請求します。
- すべてのモデルのリクエストとレスポンスの完全なスキーマは、Comfy Router リファレンスにあります。デッドライン、リトライ、その他の制限については、機能と制限を参照してください。