ナビゲーションにスキップ

個人アクセストークン

個人アクセストークン

個人アクセストークンは、BeatAPI アカウントの操作を自動化するための認証情報です。アカウントの権限を持つため、スクリプトからタスクやテキストリクエストごとの費用などのアカウントデータを取得できます。モデル、タスク、ワークフローのリクエストには引き続き API キーを使用します。

個人アクセストークンと API キーの違い

個人アクセストークンAPI キー
接頭辞nap_sk-
用途GET /v1/account/usage/records などのアカウント自動化モデル、タスク、ワークフローのリクエスト
数有効にできるのはアカウントごとに 1 つ必要な数だけ作成可能
制限モデル、IP、利用額の個別制限はありませんキーごとにモデル、IP、利用額を制限可能
有効期限期限なし。再発行または失効で無効になりますキーごとに有効期限を設定可能

作成、再発行、失効

  1. ダッシュボードにサインインし、アカウントのセキュリティを開きます。
  2. 個人トークンを作成を選び、本人確認を完了します。
  3. トークンをコピーします。トークン全体を表示するのは今回だけで、画面を閉じるとページから削除されます。
  4. 自動化を実行する環境に、BEATAPI_PERSONAL_TOKEN などのシークレットとして保存します。

個人トークンを再発行すると新しいトークンが発行され、以前のトークンは直ちに無効になります。個人トークンを失効するとトークンが削除され、使用しているツールは直ちにアクセスできなくなります。どちらの操作にも本人確認が必要です。トークンは信頼できるサーバーにのみ保管し、ブラウザーのコード、モバイルアプリ、共有リポジトリには含めないでください。

呼び出せるエンドポイント

エンドポイント用途
GET /v1/account/usage/records課金されたリクエストを新しい順に一覧表示
GET /v1/account/usage/records/{id}タスク ID またはリクエスト ID で 1 件の記録を取得
GET /v1/usageアカウントの集計と内訳。クイックスタートを参照

トークンは Authorization: Bearer <token> で送信します。これらのエンドポイントには usage:read 権限が必要で、個人トークンにはこの権限が含まれています。利用記録の 2 つのエンドポイントは API キーで呼び出すと 403 forbidden を返します。GET /v1/usage は API キーとこのトークンのどちらでも呼び出せ、同じ集計を返します。今後、このトークンで呼び出せるアカウント用エンドポイントを追加していきます。

1 件のタスクを照合する

タスク作成時に返る data.id を保存し、次のように取得します。

curl https://api.beatapi.io/v1/account/usage/records/task_7Qm2Xc9LpR4vT8sKa1Nf6YbH3eWdJ0uZ \
-H "Authorization: Bearer $BEATAPI_PERSONAL_TOKEN"
{
"data": {
"object": "usage_record",
"id": "task_7Qm2Xc9LpR4vT8sKa1Nf6YbH3eWdJ0uZ",
"type": "image",
"model": "seedream-5-pro",
"task_id": "task_7Qm2Xc9LpR4vT8sKa1Nf6YbH3eWdJ0uZ",
"request_id": "202610290330051234567893f9a1c2eXy7Kp2Qd",
"api_key": { "id": "1287", "title": "production", "key_prefix": "sk-Ab3d" },
"status": "succeeded",
"created_at": 1793244605,
"currency": "USD",
"credits_charged": 0.06,
"credits_refunded": 0,
"usage": { "images": 2 }
}
}

テキストリクエストでは、レスポンスヘッダー X-BeatAPI-Request-Id のリクエスト ID を使用します。テキストのレスポンスボディの id が chatcmpl-<request ID> の場合は、その値でも取得できます。タスク作成リクエストのリクエスト ID で取得すると、タスク ID と同じ記録が返ります。

利用記録を一覧表示する

curl -G https://api.beatapi.io/v1/account/usage/records \
-H "Authorization: Bearer $BEATAPI_PERSONAL_TOKEN" \
--data-urlencode "start=2026-10-01T00:00:00Z" \
--data-urlencode "end=2026-11-01T00:00:00Z" \
--data-urlencode "limit=100"
{
"data": {
"object": "list",
"data": [
{
"object": "usage_record",
"id": "20261029041512987654321b3f9a1c2eQm8Rt4Lw",
"type": "text",
"model": "deepseek-v4.1-flash",
"request_id": "20261029041512987654321b3f9a1c2eQm8Rt4Lw",
"api_key": { "id": "1287", "title": "production", "key_prefix": "sk-Ab3d" },
"status": "succeeded",
"created_at": 1793247312,
"currency": "USD",
"credits_charged": 0.002468,
"credits_refunded": 0,
"usage": { "input_tokens": 1200, "output_tokens": 350, "cached_tokens": 1024 }
}
],
"has_more": true,
"next_cursor": "eyJ0IjoxNzkzMjQ3MzEyLCJpIjo5ODc2NTQzMn0"
}
}
パラメーター説明
start含める最も古い created_at。Unix 秒または RFC 3339(例: 2026-10-01T00:00:00Z)
end上限(この値は含みません)。形式は start と同じです
model公開モデル ID(例: seedream-5-pro)
typetext、image、video、workflow、data、realtime、other のいずれか
api_key_idAPI キーの数値 ID(api_key.id と同じ)
limit1 ページの件数。1〜100 で、既定値は 20 です
cursor前のページの next_cursor

has_more が true の間は、cursor を付けて次のページを取得します。不明なパラメーター、1〜100 の範囲外の limit、ミリ秒のタイムスタンプは無視されず、400 bad_request が返ります。

利用記録のフィールド

フィールド説明
objectusage_record
idタスクの場合はタスク ID、それ以外はリクエスト ID
typetext、image、video、workflow、data、realtime、other
model公開モデル ID
task_idタスクの場合のみ
request_id記録を作成したリクエストのリクエスト ID(判明している場合)
api_key支払いに使われた API キーの id、title、key_prefix。ダッシュボードのお試し利用では null
statusqueued、processing、succeeded、failed。料金が全額返金された場合は refunded
created_atUnix 秒
currencyUSD
credits_charged割引と精算を反映した支払額(USD)。小数点以下最大 6 桁
credits_refunded残高に返金された金額(USD)
usage課金対象の数量。テキストは input_tokens、output_tokens、cached_tokens、cache_write_tokens、メディアは images、seconds、resolution

タスクの金額は、GET /v1/tasks/{task_id} が返す usage.credits_charged と usage.credits_refunded と一致します。タスクの精算額が予約額を上回るか下回る場合、記録には精算後の合計が表示されます。取得できるのは自分のアカウントの記録だけで、他のアカウントの ID には 404 not_found が返ります。

エラー

ステータスcode発生する場合
400bad_requestクエリーパラメーターが無効
401unauthorizedトークンがない、不明、または期限切れ
403forbidden利用記録のエンドポイントに API キーが送信された、またはトークンに usage:read がない
404not_foundアカウントにその ID の記録がない

エラーは共通のエラーオブジェクトで返ります。