Credits & Costs
How PlayKit's credit and billing system works
Credits & Costs
Overview
PlayKit uses a credit system denominated in USD. Credits are consumed each time the game makes an AI call. The system supports two billing modes — developer billing (you pay) and player billing (players pay).
Billing Modes
Developer Billing
All AI costs are charged to your developer account. Your game is effectively free for players from a PlayKit perspective.
Use cases: casual games, games with no monetization requirement, or games where you prefer a flat cost structure.
Player Billing
AI costs are charged to the individual player's balance. Players accumulate credits through daily refresh and optional in-app purchases.
Use cases: games with Steam IAP, or games where AI usage scales with player engagement and you want to offset infrastructure costs.
You configure the billing mode per game in the PlayKit Dashboard.
How AI Calls Are Priced
Two pricing models apply depending on the AI capability:
Token-based (text generation, speech recognition): Costs scale with the number of tokens processed. Input and output tokens have separate rates.
Call-based (image generation, 3D generation): A fixed cost per request, regardless of complexity.
Hybrid: Some models combine a per-call fee with per-token costs.
You can see current pricing for each model on the PlayKit Dashboard.
Daily Credits
In player billing mode, each player receives a small credit refresh once per day (on first API call of the day). This allows casual players to try your game without requiring an upfront purchase.
The refresh amount is configured per game. The SDK exposes a daily_credits_refreshed event that fires when the refresh occurs, which you can use to notify the player.
Player Wallets
Credits are scoped by distribution channel. A player who purchases credits via Steam has a Steam wallet; a player on the standalone channel has a unified wallet. These are separate balances.
Supported channels: standalone, steam, ios, android, xbox, playstation, nintendo, epic
Handling Insufficient Credits
When a player's balance is too low to complete an AI call, the SDK emits an insufficient_credits event (or OnInsufficientCredits in Unity/Unreal). Handle this event to show a top-up prompt or gracefully degrade the feature.
// JavaScript
sdk.on('insufficient_credits', () => {
sdk.openRechargeWindow();
});// Unity
playerClient.OnInsufficientCredits += () => {
PlayKit_RechargeManager.OpenRechargeWindow();
};Cost Estimation
You can retrieve a player's current balance before making an expensive call:
const info = await sdk.getPlayerInfo();
console.log(info.balance); // USD balanceThis is useful for conditionally enabling high-cost features like image generation or 3D model generation based on the player's available balance.
Steam Micro-transactions
For Steam-distributed games, PlayKit integrates with Steam Micro-transactions (MicroTxn) to handle in-game purchases. Players buy credits in-game via Steam's payment flow. This requires the Unity Steam Addon and Steam billing mode configured in your game settings.
Contact help@playkit.ai to enable Steam billing for your game.