# TokenTally by Harlo > TokenTally counts tokens for text across o200k_base and cl100k_base side by side, truncates text to a token budget, chunks text for RAG on paragraph/sentence boundaries with offsets, and estimates cost per model. OpenAI counts (o200k_base, cl100k_base) are exact for those tokenizers. Claude, Gemini and Llama counts are APPROXIMATE (proxy encoding; real tokenizers differ, often by 10-20%, and newer Claude tokenizers by ~30% or more). Cost estimates use a dated price table (prices_as_of 2026-10-27) and are estimates, not live billing. Stateless: text is not stored or logged; no URL fetching. Max input is 256 KB. A single unbroken run of characters near that cap may hit a CPU timeout (503); normal text at the cap is supported. ## Endpoints - POST https://tokentally.mike-tusa.workers.dev/v1/count: Count tokens for text in o200k_base and cl100k_base side by side, plus approximate Claude/Gemini/Llama counts with method notes. OpenAI counts (o200k_base, cl100k_base) are exact for those tokenizers. Claude, Gemini and Llama counts are APPROXIMATE (proxy encoding; real tokenizers differ, often by 10-20%, and newer Claude tokenizers by ~30% or more). Cost estimates use a dated price table (prices_as_of 2026-10-27) and are estimates, not live billing. Stateless: text is not stored or logged; no URL fetching. Max input is 256 KB. A single unbroken run of characters near that cap may hit a CPU timeout (503); normal text at the cap is supported. - POST https://tokentally.mike-tusa.workers.dev/v1/truncate: Truncate text to max_tokens (keep start or end) for an encoding or model. - POST https://tokentally.mike-tusa.workers.dev/v1/chunk: Split text into token-bounded chunks on paragraph/sentence boundaries with character offsets, token counts and optional overlap. - POST https://tokentally.mike-tusa.workers.dev/v1/estimate: Estimate USD cost per model from text or input_tokens plus output_tokens using a dated price table (prices_as_of 2026-10-27). Estimates, not live billing. - GET https://tokentally.mike-tusa.workers.dev/v1/encodings: encodings endpoint. - POST https://tokentally.mike-tusa.workers.dev/mcp: remote MCP server (tools: count_tokens, truncate_to_budget, chunk_text, estimate_cost) - GET https://tokentally.mike-tusa.workers.dev/openapi.json ## Limits and plans No key: about 60 requests/min per IP. Plans: Free $0/mo · 2,000 calls/mo; BASIC $9/mo · 50,000 calls/mo; PRO $15/mo · 250,000 calls/mo. ## Honest limits OpenAI counts (o200k_base, cl100k_base) are exact for those tokenizers. Claude, Gemini and Llama counts are APPROXIMATE (proxy encoding; real tokenizers differ, often by 10-20%, and newer Claude tokenizers by ~30% or more). Cost estimates use a dated price table (prices_as_of 2026-10-27) and are estimates, not live billing. Stateless: text is not stored or logged; no URL fetching. Max input is 256 KB. A single unbroken run of characters near that cap may hit a CPU timeout (503); normal text at the cap is supported. Stateless: request bodies are not stored or logged. Brand: Harlo. Support: digitalpromohub.support@gmail.com