> ## Documentation Index
> Fetch the complete documentation index at: https://docs.hiperai.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 課金モード API キー

# 課金モード API キー

SecureAI は API キーに対して 2 つの異なる請求モードをサポートしており、管理者はさまざまな API 統合に対する使用状況の追跡方法と請求方法を制御できます。

## 概要

API キーは、次の 2 つの請求モードのいずれかを使用して構成できます。

* **ユーザーの完了**: ユーザーのライセンス完了バケットから差し引かれます
* **モデルごとの使用量**: 実際のモデルの使用量に基づいてユーザーのクレジット カードに請求されます。

## 請求モード

### ユーザー完了モード

**デフォルト モード** - API キーはデフォルトでこのモードを使用します。

#### 仕組み

* ユーザーの月間ライセンス割り当てから完了数を差し引きます。
* Web インターフェースと同じ完了制限を使用します
* ユーザーの既存のライセンスを超える追加料金はありません
* 利用可能なクォータがなく、ユーザーがモデル別の使用法を有効にしている場合は、モデル別の使用法にフォールバックします。

#### 使用例

* 既存のライセンス割り当てを使用する内部アプリケーション
* 開発およびテスト環境
* 予測可能な固定コストが必要なアプリケーション
* 既存のライセンス制限内に収まりたい場合

#### 構成

```json theme={null}
{
  "billingMode": "user-completions",
  "dailyLimit": 100,
  "monthlyLimit": 1000
}
```

### モデルモード別の使用法

**詳細モード** - 明示的な構成とユーザーの許可が必要です。

#### 仕組み

* 実際のトークン使用量とモデルコストに基づいた料金
* 入力トークン、出力トークン、合計トークンを追跡します。
* モデル固有の価格設定に基づいてコストを計算します
* ユーザーはアカウントでモデル別の使用法を有効にする必要があります
* 毎月の金額制限を設定可能

#### 使用例

* 正確なコスト追跡が必要な大量アプリケーション
* 高コストモデルを使用するアプリケーション (GPT-5.x、Claude Opus/Sonnet など)
* 詳細な使用状況分析が必要な場合
* 使用した分だけ支払いたいアプリケーション

#### 構成

```json theme={null}
{
  "billingMode": "usage-by-model",
  "usageByModel": {
    "enabled": true,
    "dollarLimit": 100
  }
}
```

## API キーの作成

### 課金モードを使用した API キーの作成

SecureAI 管理パネルから API キーを作成および構成します。

1. `Admin -> API Keys` に移動します。
2. API キーを作成または編集します。
3. `billingMode` を `user-completions` または `usage-by-model` に設定します。
4. 制限、許可されるモデル、許可されるインデックス、および許可される SMLTP ポリシーを構成します。

### 請求モードの検証

システムは、請求モードの要件を検証します。

* **モデル別使用法モード**: ユーザーはモデル別使用法を有効にする必要があります。
* **ユーザー完了モード**: 任意のユーザーで動作しますが、使用可能なクォータがない場合はモデルごとの使用法に戻る可能性があります。

## 使用状況の追跡

### ユーザー完了の追跡

ユーザー完了モードの場合、システムは以下を追跡します。

* 毎日および毎月の完了数
* モデル固有の使用統計
* クォータの消費と制限

### モデル追跡による使用法

モデル別使用状況モードの場合、システムは以下を追跡します。

* 入力トークン、出力トークン、合計トークン
* モデル固有の費用とポイント
* 毎月の支出額
* 詳細な使用状況分析

## API 応答の例

### ユーザー完了モードの応答

```json theme={null}
{
  "success": true,
  "id": "req_123456789",
  "object": "chat.completion",
  "created": 1640995200,
  "model": "openai/gpt-5-nano",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Hello! How can I help you today?"
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 10,
    "completion_tokens": 8,
    "total_tokens": 18
  },
  "metadata": {
    "conversation_id": "conv_123",
    "index_used": "my-index",
    "smltp_policy_used": "public",
    "rag_enabled": true,
    "documents_retrieved": 2
  }
}
```

### モデル別の使用法 モード応答

```json theme={null}
{
  "success": true,
  "id": "req_123456789",
  "object": "chat.completion",
  "created": 1640995200,
  "model": "openai/gpt-5-nano",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Hello! How can I help you today?"
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 10,
    "completion_tokens": 8,
    "total_tokens": 18,
    "input_tokens": 10,
    "output_tokens": 8
  },
  "metadata": {
    "conversation_id": "conv_123",
    "index_used": "my-index",
    "smltp_policy_used": "public",
    "rag_enabled": true,
    "documents_retrieved": 2
  }
}
```

## エラー処理

### モデル別の使用が有効になっていません

```json theme={null}
{
  "success": false,
  "error": "Usage by Model required",
  "message": "This API key is configured for Usage by Model billing, but the user does not have Usage by Model enabled. Please contact an administrator to enable Usage by Model for this user.",
  "request_id": "req-abc123"
}
```

### クォータを超過しました (ユーザーによる完了)

```json theme={null}
{
  "success": false,
  "error": "Completion limit exceeded",
  "message": "You have reached your monthly Standard completion limit of 1000. To continue using AI models, please contact an administrator to activate Usage by Model in Admin Panel > APIs > Edit.",
  "request_id": "req-abc123"
}
```

### 予算超過 (モデル別の使用量)

```json theme={null}
{
  "success": false,
  "error": "Usage by Model budget exceeded",
  "message": "You have reached your Usage by Model budget limit of $100.00.",
  "request_id": "req-abc123"
}
```

## ベストプラクティス

### 適切な請求モードの選択

1. **次の場合にユーザー入力を使用します**
   * 予測可能なコストが必要
   * 既存のライセンス制限内にあります
   * 内部ツールを構築しているところです
   * 既存のクォータ割り当てを使用したい場合

2. **次の場合にモデルごとの使用法を使用します**
   * 詳細なコスト追跡が必要です
   * 高価なモデルを頻繁に使用している
   * 実際の使用量に対してのみ支払いたい
   * 詳細な使用状況分析が必要です

### 構成に関する推奨事項

1. **適切な制限を設定します:**
   * レート制御の 1 日あたりの制限
   * コスト管理のための月次制限
   * モデル別使用量モードのドル制限

2. **使用状況の監視:**
   * API キーの使用状況を定期的に追跡する
   * 限界に近づいた場合のアラートを設定する
   * 使用パターンを毎月確認します

3. **セキュリティに関する考慮事項:**
   * 機密性の高いアプリケーションには IP 制限を使用する
   * API キーを定期的にローテーションする
   * 異常な使用パターンを監視する

## フォールバック メカニズム

### ユーザーによるモデルのフォールバックによる使用の完了

User Completions API キーがクォータを使い果たした場合、次の場合、システムは自動的にモデルごとの使用法に戻ります。

1. **ユーザーはアカウント設定でモデル別の使用法を有効にしています**
2. **ユーザーにはモデル別の使用状況の割り当てで利用可能な予算がある**
3. **API キーによりフォールバックが可能** (デフォルトの動作)

#### フォールバック プロセス

```json theme={null}
{
  "success": true,
  "id": "req_123456789",
  "object": "chat.completion",
  "created": 1640995200,
  "model": "openai/gpt-5-nano",
  "choices": [...],
  "usage": {
    "prompt_tokens": 10,
    "completion_tokens": 8,
    "total_tokens": 18
  },
  "metadata": {
    "conversation_id": "conv_123",
    "index_used": "my-index",
    "smltp_policy_used": "public",
    "rag_enabled": true,
    "documents_retrieved": 2,
    "billing_fallback": {
      "original_mode": "user-completions",
      "fallback_mode": "usage-by-model",
      "reason": "quota_exhausted"
    }
  }
}
```

### 検証ロジック

#### モデル要件ごとの使用法

システムは、モデルごとの使用量の請求を許可する前に、次のことを検証します。

1. **ユーザー アカウント設定**: ユーザーは「モデル別の使用」を有効にする必要があります
2. **月次予算**: ユーザーは割り当てに利用可能な予算を持っている必要があります
3. **API キー構成**: API キーはモデルごとに使用するように構成するか、フォールバックを許可する必要があります。
4. **モデル アクセス**: ユーザーは要求されたモデルにアクセスできる必要があります

#### 混合請求シナリオ

異なる課金モードを持つ複数の API キーが使用される場合:

* **ユーザー完了キー**はユーザーの月次割り当てを消費します
* **モデル キーによる使用量**はユーザーの予算割り当てから消費されます
* **フォールバック シナリオ**では、まずユーザーの完了を優先し、次にモデルごとの使用状況を優先します。
* **クォータの枯渇**により、利用可能な場合は自動フォールバックがトリガーされます

## モード間の移行

### ユーザーの入力からモデル別の使用まで

1. **モデル別の使用法を有効にする**: ユーザーのアカウントでモデル別の使用法が有効になっていることを確認します。
2. **API キーの更新**: API キー構成で課金モードを変更します。
3. **予算制限の設定**: 適切な毎月の金額制限を設定します。
4. **使用状況を監視**: 完了の使用状況と予算の消費状況の両方を追跡します
5. **フォールバックのテスト**: フォールバック動作が正しく動作することを確認します。

### モデル別の使用法からユーザーによる完了まで

1. **クォータの確認**: ユーザーに十分な月間完了クォータがあることを確認します。
2. **API キーの更新**: API キー構成で課金モードを変更します。
3. **使用状況を監視**: 月間制限に対して完了消費量を追跡します。
4. **フォールバックの構成**: クォータを使い果たした場合に、モデルごとの使用量へのフォールバックを設定します。
5. **制限のテスト**: クォータ制限が適切に適用されていることを確認します

### 移行のベスト プラクティス

* **段階的な移行**: 最初に少量の API キーを使用してテストします
* **両方の指標を監視**: 完了の使用状況と予算の消費量の両方を追跡します
* **適切な制限を設定**: 両方のモードに対して現実的な制限を構成します
* **文書の変更**: 監査目的で請求モードの変更を追跡します。
* **ユーザーコミュニケーション**: 請求モードの変更とその影響についてユーザーに通知します。

## 監視と分析

### 使用状況分析

システムは、両方の請求モードの詳細な分析を提供します。

* **ユーザーの完了**: 完了数、クォータの使用状況、モデルの分布
* **モデル別の使用状況**: トークン数、コスト、モデル固有の分析

### 管理パネルの統合

管理パネルには以下が提供されます。

* リアルタイムの使用状況監視
* 課金モードの設定
* 使用状況の分析とレポート
* コストの追跡とアラート

## トラブルシューティング

### 一般的な問題

1. **モデルごとの使用が機能しない:**
   * ユーザーがモデルごとの使用を有効にしていることを確認します。
   * 毎月の金額制限を確認する
   * 適切なモデルへのアクセスを確保する

2. **ユーザー コンプリーションの割り当ての問題:**
   * ユーザーのライセンス層を確認する
   * 毎月の完了制限を確認する
   * フォールバックとしてモデルごとの使用を有効にすることを検討してください

3. **API キー認証エラー:**
   * API キーがアクティブであることを確認します
   * IP制限を確認する
   * 適切な権限を確保する

### サポート

請求モードに関する問題については、次のとおりです。

1. 管理パネルで使用状況の統計を確認します。
2. API キー構成を確認する
3. 請求モードの変更についてはシステム管理者に連絡してください
4. ログを監視して詳細なエラー情報を確認する
