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

# 料金と実際の請求額

> API Keyで利用できる料金と、生成レスポンスで確定した請求額を確認します

> [!NOTE]
>
> 中国本土から利用する場合は、Base URLに `https://toapis.cn` を使用してください。以下の例の `https://toapis.com` を `https://toapis.cn` に置き換えます。

`GET /v1/pricing` は、現在のAPI Keyで利用できる画像・動画モデルの料金を返します。顧客別の固定価格または割引と、有効なグループ価格はすでに反映されています。

このエンドポイントが返すのは料金カタログです。1 回の生成に対する見積もりではありません。価格の予約や固定、生成パラメータからの合計金額の計算は行いません。

## 認証

**Authorization** `string` *required*

生成API Keyを `Bearer YOUR_API_KEY` の形式で指定します。

## クエリパラメータ

**model** `string`

完全一致のモデルID。省略すると、利用可能な画像・動画モデルをすべて返します。

**type** `string`

`image` または `video` で絞り込みます。

**limit** `integer` (default: 100)

返すモデル数。`1` から `100` まで指定できます。

**after** `string`

前回のレスポンスの `next_after` をページネーションカーソルとして指定します。

Seedanceの地域別バリアントには個別のモデルIDがあります。たとえば `model` に `seedance-2-5`、`seedance-2-5-cn`、`seedance-2-5-global` を指定します。地域専用のクエリパラメータはありません。

```bash cURL theme={null}
curl --request GET \
  --url 'https://toapis.com/v1/pricing?model=seedance-2-5' \
  --header 'Authorization: Bearer <token>'
```

```json 200 theme={null}
{
  "object": "list",
  "currency": "USD",
  "data": [
    {
      "id": "seedance-2-5",
      "type": "video",
      "prices": [
        {
          "group": "default",
          "conditions": {"resolution": "720p", "has_video_input": false},
          "charge_type": "per_token",
          "price_basis": "total_tokens",
          "unit": "1m_tokens",
          "unit_price": "4"
        }
      ]
    }
  ],
  "has_more": false,
  "next_after": ""
}
```

上記の金額はレスポンス形式の例です。現在のAPI Keyに対して返された値を利用してください。

## 料金フィールド

**currency** `string`

料金の通貨。現在は `USD` です。

**object** `string`

オブジェクトの種類。常に `list` です。

**data** `array`

利用可能なモデル。各項目には完全一致のモデル `id`、`type`、0 件以上の `prices` が含まれます。

**has\_more** `boolean`

次のページがあるかどうかを示します。

**next\_after** `string`

次のリクエストで使うカーソル。`has_more` が `false` の場合は空文字列です。

**prices\[].group** `string`

料金が適用されるルーティンググループ。API Keyが自動グループ選択を使用する場合、複数のグループが返ることがあります。

**prices\[].conditions** `object`

料金が成立する条件。料金に影響するモデルの既定値も含まれます。生成リクエストをこの値に合わせてください。

**prices\[].charge\_type** `string`

`per_request`、`per_second`、または `per_token`。

**prices\[].price\_basis** `string`

課金基準。`request`、`output_seconds`、`total_tokens`、または `text_input_tokens`。

**prices\[].unit** `string`

料金単位。`request`、`second`、または `1m_tokens`。

**prices\[].unit\_price** `string`

USD建ての有効な単価を10進文字列で返します。顧客別料金とグループ倍率は反映済みです。グループ倍率を再度掛けないでください。

料金には `input_unit_price`、`input_image_unit_price`、`free_input_image_count`、`minimum_charge_usd`、`image_token_prices` が含まれる場合があります。時間帯別料金では `pricing_period`、`pricing_timezone`、`pricing_schedule_version`、`pricing_peak_windows` が含まれる場合があります。

画像トークン料金の `image_token_prices` には、`text_input`、`cached_text_input`、`image_input`、`cached_image_input`、`image_output` が含まれます。各金額の単位は100万トークンあたりのUSDです。

記載された条件と互換性がある有効な候補チャネルが1つ以上存在する料金だけを返します。この確認ではルートを予約せず、チャネルのリアルタイムな正常性も検査しません。安全に完全な料金を公開できない場合、モデルの `prices` は空になることがあります。空の配列や料金項目の欠落は、無料であることを意味しません。

## 実際の請求額

請求額を確認できる場合、生成レスポンスには次のオブジェクトが含まれます。

```json theme={null}
{
  "billing": {
    "status": "settled",
    "credits": "100",
    "cost_usd": "0.5"
  }
}
```

| フィールド | 意味 |
| - | - |
| `status` | `pending`、`settled`、または `refunded` |
| `credits` | 確定したToAPIs Creditsの消費量。10進文字列 |
| `cost_usd` | 同じ確定済み請求のUSD金額。10進文字列 |

`pending` は最終金額が未確定であることを示し、金額フィールドは省略されます。`refunded` は確定した純請求額がゼロであることを示します。`billing` 全体がない場合は、安全に公開できる値を確認できなかったことを示します。無料という意味ではありません。

このオブジェクトは次の場所に含まれる場合があります。

* 画像と動画の統合タスク照会 `GET /v1/tasks/{task_id}`
* 非同期画像タスク照会 `GET /v1/images/generations/{task_id}`
* 非同期動画タスク照会 `GET /v1/videos/generations/{task_id}`
* Task Webhookの `data.billing`
* 対応する非ストリーミング同期画像生成・編集レスポンスのトップレベル `billing`

非同期処理では、完了後のタスク照会を最終請求額のフォールバックとして使用してください。ストリーミング画像レスポンス、未対応のプロバイダーレスポンス形式、Playground、遅延バッチ課金では省略される場合があります。

## タスクの使用量フィールド

画像と動画のタスク照会では, 確認済みの課金数量をトップレベルの `usage` に返します. 成功 Webhook の `data.usage` も同じ定義です. 課金数量, モデルが報告したトークン内訳, ツールの使用回数は, それぞれ取得できる場合に併せて返されます.

| フィールド | 型 | 説明 |
| - | - | - |
| `charge_type` | string | 課金方式: `per_request`, `per_second`, `per_token` |
| `requests` | integer | 課金対象のリクエスト数. 通常の画像リクエストの `n` はこの回数に直接乗算されません. Midjourney 動画で有効な `batch_size` は課金回数に含まれます |
| `billed_tokens` | integer | 料金計算に使用したトークン数. 一部の画像処理では設定済みの仮引き落とし用トークン数を使うため, 上流の実際の生成量とは限りません |
| `output_seconds` | integer | 課金対象となる出力動画の長さ, 整数秒 |
| `input_seconds` | integer | 課金対象となる入力動画の長さ, 整数秒 |
| `input_images` | integer | 無料枠を差し引いた課金対象の入力画像数 |
| `input_tokens`, `output_tokens`, `prompt_tokens`, `completion_tokens`, `total_tokens` | integer | 動画モデルが報告した非負整数のトークン内訳. 取得できたフィールドのみ返され, 確認済みのトークン課金の確定処理で `total_tokens` が補完される場合があります |
| `tool_usage` | object | `web_search`, `image_search`, `grounding_queries` などのツール使用回数. 取得できた項目を返し, トークン内訳とは独立しています |

課金数量は, このタスクに保存された課金記録に基づきます. 固定料金では作成時に確認された数量, 後払いの確定処理では最終数量を使用します. 現在の価格や金額から使用量を逆算しません. `per_request` は `requests`, `per_second` は `output_seconds`, `per_token` は `billed_tokens` を使います. 入力動画や入力画像の追加課金項目は必要な場合に返し, ゼロの場合は省略します.

金額のみ保存され, 検証できる課金数量がない過去のタスクでは, 確認できないフィールドを省略します. 未提供のトークン内訳をゼロで補完しません. トークン課金の確定後, 動画トークンの内訳は, 報告された合計が最終課金数量と一致する場合のみ保持します. `usage` と `billing` の有無は独立しており, 使用量がなくても未課金とは限らず, 結果の返却も妨げません. 逆に, `charge_type` などの課金数量が返される場合は, 必ず `billing.status=settled` と実際の金額も返されます. 提出時に一括課金される固定料金タスクも `settled` を返します. タスク照会と Webhook は同じ確認条件とフィールド値を使います.

## エラー

| ステータス | コード | 意味 |
| - | - | - |
| `400` | `invalid_request_error` | 未対応のクエリパラメータ、または無効な `type` / `limit` |
| `401` / `403` | 状況により異なる | API Keyが無効、期限切れ、制限対象、または対象のアカウント・グループを利用できない |
| `404` | `model_not_found` | 完全一致のモデルIDをこのAPI Keyで利用できない |
| `503` | `pricing_unavailable` | 顧客別料金を安全に取得できない。公開価格へのフォールバックは行わない |

レスポンスには `Cache-Control: private, no-store` が設定されます。


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.