Credits & Pricing
TokPortal uses a credit-based system as its unified currency. The same credit balance is shared between the API and the web UI — there is no separate API billing.
Credit Costs
| Operation | Cost |
|---|---|
| Account creation | 25 credits |
| Video slot | 2 credits per video |
| Niche warming | 7 credits |
| Deep warming (Instagram only) | 40 credits |
| Video editing | 3 credits per edit slot |
| Comment moderation | 25 credits |
How Credits Are Debited
- Bundle creation — Credits for account creation, video slots, warming, editing, and moderation are calculated server-side and debited atomically when the bundle is created. The client never determines the cost; the server computes the total from the bundle configuration.
- Add video slots — When you add video slots to an existing bundle, credits are debited immediately.
- Add edit slots — When you add edit slots to an existing bundle, credits are debited immediately.
- No refunds on unpublish — Unpublishing an account does not refund credits.
Endpoints
Get Credit Balance
curl -X GET https://app.tokportal.com/api/ext/credits/balance \
-H "X-API-Key: tok_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
{
"data": {
"credits": 1250
}
}
Get Credit History
curl -X GET https://app.tokportal.com/api/ext/credits/history?page=1&per_page=10 \
-H "X-API-Key: tok_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
{
"data": [
{
"id": "txn_abc123",
"type": "debit",
"amount": -52,
"description": "Bundle created: 1 TikTok account, 10 videos, niche warming",
"breakdown": {
"account_creation": 25,
"video_slots": 20,
"niche_warming": 7
},
"balance_after": 1198,
"created_at": "2025-11-20T14:30:00Z"
}
],
"pagination": {
"page": 1,
"per_page": 10,
"total": 47,
"total_pages": 5
}
}
Get Credit Costs
Retrieve the current cost table programmatically:
curl -X GET https://app.tokportal.com/api/ext/credit-costs \
-H "X-API-Key: tok_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
{
"data": {
"account_creation": 25,
"video_slot": 2,
"niche_warming": 7,
"deep_warming": 40,
"video_editing": 3,
"comment_moderation": 25
}
}
Cost Breakdown Example
Creating a bundle with the following configuration:
- 1 TikTok account
- 10 video slots
- Niche warming enabled
- Video editing enabled (10 edit slots)
| Item | Calculation | Cost |
|---|---|---|
| Account creation | 1 x 25 | 25 credits |
| Video slots | 10 x 2 | 20 credits |
| Niche warming | 1 x 7 | 7 credits |
| Video editing | 10 x 3 | 30 credits |
| Total | 82 credits |
If your balance is below the required total, the API returns an INSUFFICIENT_CREDITS error with full details:
{
"error": {
"code": "INSUFFICIENT_CREDITS",
"message": "Not enough credits to complete this operation.",
"details": {
"required": 82,
"available": 50,
"missing": 32,
"breakdown": {
"account_creation": 25,
"video_slots": 20,
"niche_warming": 7,
"video_editing": 30
}
}
}
}