Skip to main content
BytePlus account spend sits on a separate bill from AWS, GCP, and Azure. Connect with an IAM Access Key ID and Secret Access Key so bill details land in with your other billing datasources. This connector imports ListBillDetail for the whole BytePlus account. That includes Seedance and other ModelArk products, plus the rest of the account bill. Costory stores it as a billing datasource, the same as other SaaS billing sources.
Use a BytePlus IAM Access Key, not a ModelArk or Seedance API key. Attach BillingCenterReadOnlyAccess. ArkReadOnlyAccess cannot call ListBillDetail. Costory currently ingests the whole BytePlus account bill. There is no Seedance product-code filter yet.
1

Create an IAM Access Key

In BytePlus Console > IAM > Key Management, create an IAM Access Key ID and Secret Access Key. Copy the secret immediately. It is shown once.Do not use a ModelArk or Seedance API key (Bearer). Costory signs Billing OpenAPI with HMAC-SHA256 (service=billing).
2

Attach BillingCenterReadOnlyAccess

Attach BillingCenterReadOnlyAccess to that IAM user. Main-account keys can call billing by default. IAM-user keys need that policy. ArkReadOnlyAccess is not enough.
3

Connect in Costory

Go to Integrations, click + Add integration, then choose BytePlus Platform under Billing. The connect URL is /integration/new/seedance-ai/billing.
4

Enter connection details

Fill Connection name (default BytePlus Platform), Access Key ID, and Secret Access Key.Region is optional. It is the HMAC signing region, not a hostname. Leave it empty for ap-singapore-1. The billing host stays billing.byteplusapi.com (International). A wrong signing region typically fails as SignatureDoesNotMatch.Start date is optional. Leave it empty to use Costory’s default lookback. The BytePlus API cap is the last 24 months, earliest 2022-01.
5

Validate, then save

Click Validate. Costory calls ListBillDetail with a signed HMAC request. Save stays disabled until the Access Key can read bill details. An empty current-month list is still success. If this is the only billing source and it is demo data, Costory asks you to confirm before replacing it.
On first sync, Costory backfills up to 24 months of bill details (earliest 2022-01), depending on what BytePlus retains. New data then follows the usual data refresh cadence. SaaS sources typically appear in about 10 minutes.

Field reference

What Costory includes

Costory pulls ListBillDetail and maps it into . Typical lines are billed BytePlus products for that account, including Seedance and ModelArk when they appear on the invoice. Explorer dollars are invoice cash: billed amount is PayableAmount, list amount is OriginalBillAmount. How to analyze BytePlus costs
  • Spend over time: use the same date presets as other billing sources in Explorer
  • Spend by product or SKU: group by Service name or SKU when those fields are populated from bill details
What Costory does not include
  • ModelArk or Seedance Bearer API keys (wrong credential)
  • A Seedance-only product filter (Costory currently ingests the whole account bill)
  • Volcengine China billing (billing.byteplusapi.com.cn, cn-* regions)
  • CNY to USD conversion beyond what BytePlus already returns
  • Savings-plan amortization beyond PayableAmount
Rotate the Access Key pair from Integrations when you need a new credential. The stored region stays the same. A region move is a different signing scope: create a new datasource.

Troubleshooting

Billing Data

All billing providers and shared setup notes.

Kling AI billing

Connect Kling Open Platform unit deductions.

OpenRouter billing

Import OpenRouter organization costs.

Explorer

Filter and group BytePlus spend with the rest of your stack.
Last modified on September 22, 2026