AI operations and Tokens
Paid AI through the API, max_tokens, prices, per-key caps and what a sandbox does instead.
Some endpoints run NOWScale's AI and spend the Workspace's Tokens, exactly as the same feature in the app does. Your key needs the ai:use permission. Today the API offers drafting a reply to a comment (POST /v1/ai/comment_replies); more operations follow.
Every paid call states its limit
Send max_tokens, the most the call may cost, in Tokens:
curl https://api.nowscale.com/v1/ai/comment_replies \
-H "Authorization: Bearer $NOWSCALE_KEY" \
-H "Idempotency-Key: 3f2a9c4e-1b7d-4e6a-9c2f-8d1e0b4a7c55" \
-H "Content-Type: application/json" \
-d '{"comment": "What camera do you use?", "video_title": "My studio tour", "max_tokens": 1}'- Without
max_tokensthe call is refused with402 max_tokens_requiredand nothing is charged. The problem'squotetells you the price: itsoperationandtokens, a decimal string. - When the price is higher than
max_tokens, the call is refused with402 max_tokens_exceededand the samequote. - Otherwise the operation runs at that price, and the response's
tokenssays what was charged.
The price is fixed when the call starts: if it changes before the charge, the call is refused rather than charged more. Send an Idempotency-Key so a retry after a network error never charges twice.
Caps per key
When you create a key with the ai:use permission in Settings > API keys, you can give it a daily and a monthly Token cap. A call that would pass a cap is refused with 402 key_spend_cap_reached, which names the cap and the window (day or month, counted in UTC). A call that fails gives its reservation back.
The Workspace's own balance, plan allowance and Extra Usage settings still apply first: 402 insufficient_balance or 402 overage_disabled mean the Workspace, not the key, is out of Tokens.
In a sandbox
AI in a sandbox is simulated: the answer is a realistic placeholder marked "simulated": true, no model runs and nothing is charged (tokens is "0"). Prices, max_tokens and key caps behave exactly as in live mode, so you can test the whole flow. The sandbox's test balance only refuses a call it could not cover.