Adult Chatbot API Pricing: Cost Per Conversation
At $0.15 per 1M input tokens and $0.50 per 1M output tokens, a 30-turn chat costs under two cents. The details depend on how much history you resend, and this page does the math.

Last updated
Summary
- A 30-turn conversation with full history costs about $0.0178 on our API.
- Trimming history to the last 10 exchanges cuts that to about $0.0121.
- Input dominates the bill in long chats because every turn resends the past.
- Credit is prepaid, never expires, and failed or refused requests are not charged.
The pricing model in one paragraph
Adult chatbot api pricing on our service is plain: $0.15 per 1M input tokens and $0.50 per 1M output tokens, paid from prepaid credit with no subscription and no seat fees. Input means everything you send (system prompt, history, the new message). Output means the reply you get back. Failed or refused requests are not charged, and credit never expires.
The formula for any call is input_tokens / 1,000,000 x 0.15 + output_tokens / 1,000,000 x 0.50. The hard part is not the formula. It is knowing how many tokens a real conversation uses, because chat APIs are stateless and every turn resends the earlier turns. The sections below build that up from a clear set of assumptions.
Assumptions for the worked example
Pick numbers you can replace with your own. For a companion-style chat we assume:
- A system prompt (persona, tone, rules) of 500 tokens.
- User messages of 50 tokens on average.
- Bot replies of 150 tokens on average.
- A conversation of 30 turns, one turn being a user message plus a reply.
Each turn adds 200 tokens to the history (50 + 150). On turn n the request carries the 500-token prompt, the 50-token new message and 200 x (n - 1) tokens of earlier turns, so its input is 550 + 200(n - 1). Measure your own averages from the usage field in real responses and substitute them.
Cost with full history
Add up input across all 30 turns:
turns = 30
input_total = sum(550 + 200 * (n - 1) for n in range(1, turns + 1))
output_total = turns * 150
cost = input_total / 1e6 * 0.15 + output_total / 1e6 * 0.50
print(input_total, output_total, round(cost, 6))
# 103500 4500 0.017775
By hand: 30 x 550 = 16,500, plus 200 x (0 + 1 + ... + 29) = 200 x 435 = 87,000, so input is 103,500 tokens. Output is 30 x 150 = 4,500 tokens. Input cost is $0.015525, output cost is $0.00225, and the total is $0.017775, about $0.0178 per conversation.
Note the split. Input is 87% of the bill even though the output rate is higher per token. That ratio is typical for chat and it is why history management is the main cost lever.
Cost with trimmed history
If you send only the last 10 exchanges (2,000 tokens of history) plus the system prompt, input stops growing after turn 11. For turns 1 to 11 the input is the same as before: 11 x 550 + 200 x 55 = 17,050 tokens. For turns 12 to 30, which is 19 turns, each request carries 500 + 50 + 2,000 = 2,550 tokens: 19 x 2,550 = 48,450. Input total is 65,500 tokens.
Input cost is $0.009825. Output stays at $0.00225. The total is $0.012075, about $0.0121 per conversation, roughly 32% lower than full history. The trade is memory: the bot forgets what happened more than 10 exchanges ago unless you store a short summary and send it too. A 300-token summary adds about $0.000045 per turn, which is small next to the savings.
Scaling to monthly volume
| Conversations per month | Full history | Trimmed to 10 exchanges |
|---|---|---|
| 1,000 | about $17.78 | about $12.08 |
| 10,000 | $177.75 | $120.75 |
| 100,000 | $1,777.50 | $1,207.50 |
To test the unit economics of a product, divide by users. If an average user has 20 conversations a month, that is about $0.36 on full history ($0.3555 exactly). A hypothetical subscription of $5 a month would cover about 281 conversations at that rate, so cost per user is a small slice of revenue unless your users chat constantly. Heavy users cost more, so look at the 90th percentile of usage, not only the mean.
What other things change the bill
Reply length
Doubling the reply to 300 tokens doubles the output line, which in the example moves output from $0.00225 to $0.0045. Set max_tokens and tell the model the length you want in the system prompt.
System prompt size
A 2,000-token persona costs 4x what a 500-token one does on every request. Keep the prompt tight, and move rarely used details into a short notes block that you add only when relevant.
Retries and errors
Failed or refused requests are not charged, so retries after an error do not add to the bill. Retries after a rate limit also cost nothing until a call succeeds. Treat 429 as a signal to wait, not to fail. Our limits are 8 concurrent requests and 300 per minute on a full key; see the docs for the headers that report them.
Output you discard
If your app regenerates replies on request, each regeneration is a normal paid call. Count them in your average.
Measure your own average
The example above is a model of a conversation, not a measurement. Replace it with real numbers in your first week. The OpenAI Python SDK exposes response headers through a raw-response wrapper, so you can log both token usage and the remaining balance for each call:
from openai import OpenAI
client = OpenAI(base_url="https://api.llmadult.com/v1", api_key="YOUR_KEY")
raw = client.chat.completions.with_raw_response.create(
model="uncensored",
messages=[{"role": "user", "content": "Say hello in one sentence."}],
)
resp = raw.parse()
u = resp.usage
cost = u.prompt_tokens / 1e6 * 0.15 + u.completion_tokens / 1e6 * 0.50
print(u.prompt_tokens, u.completion_tokens, round(cost, 8))
print("balance:", raw.headers.get("X-Balance-USD"))
Store the token counts per conversation ID. After a few hundred conversations you can compute the average, the median and the 90th percentile of input tokens. The tail is where surprises hide: one user who leaves a chat open for 400 turns can cost more than fifty casual ones if you never trim history.
Choosing a context budget
The model accepts up to 100,000 tokens of prompt plus completion, but a bigger window is not a reason to fill it. Use the conversation math to pick a budget per request. At the assumptions above, a request carrying 2,550 input tokens costs $0.0003825 plus the output, while a request that fills 20,000 tokens costs $0.003. Both are cheap in isolation. The difference shows at volume: filling 20,000 tokens on every turn of a 30-turn chat means 600,000 input tokens and $0.09 per conversation, about five times the full-history figure above.
A workable policy for most companion products is a fixed budget for history of around 2,000 to 6,000 tokens, plus a rolling summary and a pinned notes block. Raise the budget only for the users or plans where long memory is the product, and charge accordingly.
Funding the account
You top up in crypto only, USDT on TRC20 or USDC on Base, with any whole amount from $20 to $500. Bonuses are +5% from $50, +10% from $100 and +15% from $200. At the full-history cost of $0.017775 per conversation:
- $20 buys about 1,125 conversations.
- $100 arrives as $110 of credit and buys about 6,188 conversations.
- $200 arrives as $230 of credit and buys about 12,940 conversations.
The trial helps you check the numbers first. New users can claim $0.50 of credit with one click on the API key page, valid for 7 days, no card needed. At the same rate it covers about 28 conversations, enough to compare your estimate with the real balance by reading the X-Balance-USD header after each call. The full table is on the pricing page. If you are choosing between services, the adult GPT API comparison sets out the qualitative differences.
A reminder for this category: all characters must be adults, and sexual content involving minors is prohibited on our service without exception.
More guides
Get your API key
Sign up, copy the key, update your endpoint. Setup is that simple.