# 料金体系 {#pricing}

Takumi Runner は、ワークフローの実行時間に応じた従量課金制です。このページでは、料金の仕組みを説明します。

## 課金モデル {#billing-model}

Takumi Runner の料金は、**実行時間（分単位）** に基づいて計算されます。1 分未満の端数は切り上げとなり、1 ジョブあたりの最小課金は 1 分です。請求は月次で、決済は Takumi サブスクリプションに登録された決済手段により行われます。

## SKU 毎の単価 {#price-per-sku}

現在提供している SKU の単価は以下のとおりです。

| SKU                 | vCPU | メモリ | 単価（JPY/分） | 単価（USD/分） |
| ------------------- | ---- | ------ | -------------- | -------------- |
| `linux-amd64-2core` | 2    | 8 GiB  | ¥1             | 要お問い合わせ |

:::info
`linux-amd64-2core` は `runs-on: takumi-runner` ラベルに対応します。円建て以外での請求をご提供できる場合があります。詳しくはお問い合わせください。
:::

## 課金対象と計測方法 {#what-is-billed}

### 課金される時間 {#billed-time}

課金対象の実行時間は、GitHub が `workflow_job` Webhook で通知するタイムスタンプに基づいて計測されます。具体的には、ジョブ開始時（`action: in_progress`）の `started_at` からジョブ完了時（`action: completed`）の `completed_at` までの差分が課金対象です。以下の図は、ジョブのライフサイクルにおける課金区間を示しています。

```
  queued           in_progress              completed
    |                  |                        |
    +------------------+------------------------+
    |  waiting (free)  |   billed (per minute)  |
    +------------------+------------------------+
                       ^                        ^
                   started_at             completed_at
```

- **課金される** ものとして、ジョブのステップ実行時間（チェックアウト、ビルド、テストなど）
- **課金されない** ものとして、キュー待ち時間、VM の起動・終了時間

ジョブの実行時間は、`completed_at` のタイムスタンプを基準に該当月の請求に計上されます。

### 失敗・キャンセルされたジョブ {#failed-cancelled-jobs}

ジョブが途中で失敗した場合やキャンセルされた場合も、実際に実行された時間分が課金されます。ランナーに割り当てられる前にキャンセルされたジョブは課金されません。
