使用量と課金
プラグインの使用量フィールド、モデルの使用量グループ、課金式、およびプラグインレベルの価格上書きについて学びます。
プラグインが使用量を報告し、ホストが価格を決定する
タスクプラグインは、使用量フックを通じて秒数、数量、トークン、クレジット、または列挙条件を報告します。実際の価格、事前控除、事後控除、決済、および払い戻しは、New API ホストによって処理されます。
マーケットプレイスでの使用量例は公式価格表ではありません。 プラグインをインストールした後も、インスタンスのモデル価格設定で適切な価格を設定し、チャネルとグループのルールを確認する必要があります。
使用量フィールドの確認
プラグインマーケットプレイスのプラグイン詳細で「使用量フィールド」を確認します。フィールド定義は usageSchema または現在のモデルに対応する usageProfiles から取得されます。
| タイプ | 宣言方法 | 用途 |
|---|---|---|
| 数値 | type: "number"`、単位は `second`、`count`、`token`、または `credit | 時間、成果物の数量、トークン、またはアップストリームの課金単位 |
| ブール値 | type: "boolean" | オーディオなどの条件が有効になっているか |
| 列挙型 | enum: [...] | 解像度、品質レベル、またはタスクタイプ |
count フィールドは unitLabel を使用して「枚」「曲」などの単位名を表示できます。これはフィールドキー、単位タイプ、または課金ロジックを変更しません。フィールドの説明と列挙型の表示名も、式が参照する元の値を変更しません。
モデルの価格設定
- システム設定のモデル価格設定で対象モデルを見つけます。
- そのモデルが使用するプラグインと使用量フィールドを確認し、適切な課金モードを選択します。
- タスク使用量価格エディタを使用するか、これらのフィールドに一致する課金式を入力します。
- プラグインが提供する使用量例を使用して結果を確認します。保存後、モデルを呼び出し、実際のログと決済を照合します。
例えば、プラグインが実際に seconds フィールドを宣言し報告している場合にのみ、以下の例は意味を持ちます。
tier("standard", u("seconds") * 0.02)これは、standard ティアで、seconds に例示の単価を乗じて計算されることを意味します。0.02 は構文の説明のみを目的としており、公式プラグインの推奨価格ではありません。元の式での価格はUSDを使用します。最終的な控除は、インスタンスのグループ化やリクエスト比率などのルールにも影響されます。
フィールドはプラグインから取得する必要があります
seconds、duration、video_tokens などのフィールドを互換性があるものと見なさないでください。
式中の u("フィールド名")
は、現在のプラグイン、現在のモデルが報告するフィールドと一致している必要があります。
タスク使用量式も、テキストトークン課金式内のすべての関数を直接流用することはできません。
モデルごとの使用量設定
同じプラグインでも、meta.usageProfiles を使用して、異なるモデルに対してそれぞれ独自の完全なスキーマと例を宣言できます。例えば、画像モデルは枚数で課金し、動画モデルは秒数で課金するなどです。
- プロファイルに一致するモデルは、そのプロファイルの完全なフィールド定義を使用し、デフォルトの
usageSchemaをマージしたり継承したりしません。 - プロファイルに一致しないモデルは、プラグインのデフォルトスキーマと例を使用します。
- 1つのモデルは最大1つのプロファイルに属します。モデル名には
meta.modelsで宣言された名前を使用します。 - 使用量プロファイルを更新しても、保存済みの課金式は自動的に移行されません。
同一モデルのプラグインレベルの価格上書き
異なるプラグインが同じモデルをサポートする場合でも、異なるフィールドを報告したり、異なるコストを採用したりする可能性があります。モデル価格ページでは、各プラグインプロバイダーを表示し、それぞれ課金式を保存できます。
プラグインレベルの式は billing_setting.plugin_billing_expr に保存され、キーは <pluginKey>::<model> です。上書きが存在する場合は上書き値が使用され、そうでない場合はモデルレベルの式が継承されます。上書きのないプロバイダーは、モデル式と互換性がある必要があります。
共有モデルの場合、実際の式中のリテラル u() フィールドがそのプロバイダーが選択したスキーマにない場合、そのプロバイダーは未設定と見なされ、model_price_error が返されます。モデルのデフォルト式を修正するか、そのプラグインに独立した式を設定する必要があります。
保存された上書きは、プロバイダーが1つだけになった場合でも有効です。プラグインが利用できなくなった場合やモデルを宣言しなくなった場合、古い上書きは stale とマークされます。それは元の値を保持することも、明示的に削除することもできますが、新しい有効なバインディングとして扱われることはありません。プラグインレベルの上書きは、モデル価格の同期に伴って自動的に配布されることはありません。
事前控除と最終決済
提出段階では推定使用量を抽出し、完了段階で実際の使用量を報告できます。ホストは、タスクで凍結された課金設定に基づいて差額を計算し処理します。プラグインはホストのクォータを返したり、独自に決済を実行したりしてはなりません。
使用量の欠落や解析異常は無料を意味しません。不明な使用量をゼロと記述してエラーを隠蔽しないでください。プラグインのログとホストの記録を確認する必要があります。正当な明示的なゼロ値は保持されるべきです。
アップグレード時の確認
アップグレード前に、そのバージョンの更新ログのマイグレーションを読み、フィールド名の変更、課金単位、解像度レベル、デフォルトパラメータ、モデルプロファイル、およびプロバイダーの上書きを重点的に確認してください。価格を再設定する必要がある場合は、まず設定を完了してからトラフィックを開放してください。
開発ガイドラインは API v1 リファレンス を参照し、公開時の課金移行説明要件は 公開ガイドライン を参照してください。
このガイドはいかがですか?
最終更新