請求の照会とエクスポート
期間を選択して消費統計を確認し、Excel 請求書を出力します。
請求統計はモデル使用量、呼び出し回数、金額を時間単位で集計します。Excel は保存とオフライン照合に使用します。
アクセストークンを準備
プロフィールの「セキュリティ」でアクセストークンを作成し、請求統計を照会または請求書をエクスポートの Try It に入力します。
期間とフィルターを選択
- 集計単位を選びます。日次集計には「日」を選択します。
- 開始・終了を秒単位の Unix タイムスタンプで入力するか、右側の日付選択を使用します。日付はブラウザーのローカル時刻で変換されます。終日を対象にする場合は終了時刻を確認してください。
- 特定の API Key・モデルだけを対象にする場合は名前を入力します。全記録を見る場合は両方空欄にします。
| フィルター | 必須 | 使用方法 |
|---|---|---|
集計単位 type | はい | 1=分、2=時、3=日、4=週、5=月 |
| 開始・終了 | はい | startTime、endTime は秒単位。終了は開始以降 |
API Key 名 tokenName | いいえ | 秘密鍵やアクセストークンではなく名前。省略時は名前で絞り込まない |
モデル名 modelName | いいえ | 実際のモデル名。省略時はモデルで絞り込まない |
統計を取得・確認
請求統計を照会の Try It で送信します。本文の code=200 は業務成功、data は集計配列であり、個々の呼び出しログではありません。
time、timeGroup:記録時刻と秒単位のグループ時刻。callCount、totalUseTime:呼び出し回数と累計時間。totalPromptTokens、totalCompletionTokensとキャッシュ項目:入出力とキャッシュ使用量。totalAmount:消費金額。詳細と応答例は Reference を参照し、Token 数を金額として扱わないでください。
code: 200、data: [] は照会成功ですが、期間・条件に一致する記録がないことを表します。
選択項目が null の場合、0 として扱わないでください。
Excel 請求書を出力
請求書をエクスポートの Try It で同じ条件を送信します。ファイル取得に成功したら:
- 結果の出力期間を確認します。
- 自動生成された期間付きファイル名を使うか「ファイル名」を編集します。
.xlsxは自動で維持されます。 - 「Excel 請求書をダウンロード」でローカルに保存します。
ファイル名の時刻はブラウザーのローカル時刻です。内容と列はプラットフォームが生成し、名前を変えても変わりません。集計と出力の照合は期間・単位・名前条件をそろえてください。
HTTP 200 だけでは出力成功とは限りません。JSON の業務エラーを .xlsx として保存しないでください。
よくある問題
| 現象 | 対処 |
|---|---|
| 成功したが記録なし | 時刻単位・期間を確認し、名前フィルターを空にする |
業務 code: 401、認証失敗 | アクセストークンを確認し、有効でも失敗する場合はサポートへ |
出力の業務 code: 400、パラメーター検証失敗 | 集計単位と開始・終了を確認 |
出力の業務 code: 500、ERROR | JSON と型を確認し、正しくても失敗する場合は管理者へ |
| Excel で開けない | Content-Type を確認し、JSON エラーを保存していないか確認 |
これらの業務エラーは HTTP 200 の場合があります。HTTP だけで判断せず、詳細例は各 Reference を参照してください。
最新価格はモデルマーケットプレイスで確認できます。
プログラムから呼び出す
Bash 例は curl と jq を使用し、認証取得・統計・Excel 保存の 3 段階です。
次の 3 ブロックを順に 1 つの .sh にまとめ、トークンと期間を変更し bash で実行します。対話端末に別々に貼り付けないでください。
例は北京時間 2026-10-10 00:00:00 から 2026-10-20 23:59:59の日次集計で、名前フィルターはありません。必要な期間に変更してください。
1. 請求認証を取得
アクセストークンで GET /api/user/self を呼び、data.remark の token を取得して同じサイトの請求に使用します。アクセストークンは最初の Bearer 認証用であり、請求の token Header を直接置換できません。
set -euo pipefail
ACCESS_TOKEN='your-user-token'
BILLING_TOKEN=$(curl --fail --silent --show-error "https://api.agtcloud.cn/api/user/self" \
-H "Authorization: Bearer ${ACCESS_TOKEN}" | \
jq -er '
select(.success == true)
| .data.remark | fromjson | .token
| select(type == "string" or type == "number")
| tostring | select(length > 0)
')2. 統計を照会
curl --fail-with-body "https://api.agtcloud.cn/bill/stats" \
-X POST \
-H "token: ${BILLING_TOKEN}" \
-H 'Content-Type: application/json' \
-d '{
"type": 3,
"startTime": 1791561600,
"endTime": 1792511999
}'cURL の終了値だけでなく JSON の code で業務成功を判断します。ルートの timestamp はミリ秒で、照会期間は秒です。
3. Excel を検証して保存
成功応答は application/vnd.openxmlformats-officedocument.spreadsheetml.sheet のストリームで、JSON 業務エラーではありません。
まず一時ファイルに保存し、HTTP 200・Excel 型・非空の場合のみ bill_export.xlsx として保存します。既存ファイルは上書きしません。
response_file=$(mktemp './.bill_export.XXXXXX')
[[ "$response_file" == ./.bill_export.* && -f "$response_file" && ! -L "$response_file" ]] || exit 1
trap 'if [[ "$response_file" == ./.bill_export.* && -f "$response_file" && ! -L "$response_file" ]]; then rm -f -- "$response_file"; fi' EXIT
response_meta=$(curl --silent --show-error "https://api.agtcloud.cn/bill/excel" \
-X POST \
-H "token: ${BILLING_TOKEN}" \
-H 'Content-Type: application/json' \
-d '{
"type": 3,
"startTime": 1791561600,
"endTime": 1792511999
}' \
--output "$response_file" \
--write-out '%{http_code}\n%{content_type}')
http_status=${response_meta%%$'\n'*}
content_type=${response_meta#*$'\n'}
if [[ "$http_status" != 200 || "${content_type%%;*}" != application/vnd.openxmlformats-officedocument.spreadsheetml.sheet || ! -s "$response_file" ]]; then
printf 'Export failed: HTTP %s (%s)\n' "$http_status" "$content_type" >&2
if [[ "${content_type%%;*}" == application/json ]]; then
jq '{code, message}' "$response_file" >&2
fi
exit 1
fi
if [[ -e bill_export.xlsx || -L bill_export.xlsx ]]; then
printf 'bill_export.xlsx already exists; choose another filename.\n' >&2
exit 1
fi
mv -n -- "$response_file" bill_export.xlsx
if [[ -e "$response_file" ]]; then
printf 'bill_export.xlsx already exists; choose another filename.\n' >&2
exit 1
fi
printf 'Saved bill_export.xlsx\n'