# Culpa vs Literal AI > Literal AI shut down on 2025-10-31. It shipped an effective-dated price book you configured yourself. Culpa ships the same shape, maintained for you. URL: https://getculpa.com/culpa-vs-literal-ai Last reviewed: 2026-08-03 ## Answer Literal AI was an LLMOps platform, discontinued with service running until 2025-10-31. It priced calls from a price book you configured and dated yourself. Culpa, a local-first LLM cost, margin, and forecast ledger, ships that price book versioned and maintained, prices every call from it, and forecasts next month from your own history. ## Why this happens Literal AI got the architecture right and handed you the maintenance. Its cost tracking asked you to configure, per model, a Pattern as a regular expression such as gpt-4o followed by a wildcard, an Input Price in USD per million tokens, an Output Price in the same unit, and optionally a Period with start and end dates that its own docs describe as useful for handling price changes. That's an effective-dated price book, which is the correct shape and the same one Culpa uses. Two differences decide how it behaves in practice. The rates were yours to enter and yours to keep current, so a page of settings quietly became the thing your cost reporting depended on. And matching by regular expression means a pattern written for one family silently catches the next model that shares its prefix, at last year's rate. The dashboard then showed total cost, cost per conversation and a breakdown by model. The company discontinued the product with service available until 2025-10-31, saying it couldn't differentiate enough in a competitive market to build sustainable revenue. ## What this usually looks like - Your model rates live in a settings page and nobody remembers who last updated them. - A new model in a familiar family started billing at an older model's rate. - Cost reporting was right last quarter and nobody can say whether it still is. - You have cost per conversation and no way to set it against what that customer pays. - A price change landed mid-month and your totals reflect one rate for the whole period. ## Common mistakes - Matching models by prefix pattern. Why it hurts: A pattern written for one family catches its successor automatically, and prices it at the old rate without warning. Do instead: Match exact model identifiers, and let an unknown model fail loudly rather than price wrongly. - Keeping your rate card in a settings page. Why it hurts: It becomes tribal knowledge with no version history, no review, and no way to explain last quarter's numbers. Do instead: Keep rates versioned with effective dates, so any past month can be recomputed exactly as it was billed. - Reading cost per conversation as margin. Why it hurts: Literal AI had cost per conversation. Margin needs the revenue that conversation earned, which no observability tool holds. Do instead: Join spend to revenue, or accept that you're measuring cost and not profitability. - Assuming a mid-month price change applies cleanly. Why it hurts: Without dated rates, one month gets a single rate and the arithmetic quietly stops matching the invoice. Do instead: Use effective-dated rates so each call prices at the rate in force when it ran. ## Self-check - Find where your model rates are stored and who last changed them. - Add a new model in an existing family and check which rate it picked up. - Recompute a month from six months ago and see whether it matches what you reported then. - Ask your tool for cost per customer against what that customer pays you. - Check what happens to pricing on the day a provider changes a rate mid-month. ## What a prefix pattern does on the day a family gains a member Literal AI matched models by regular expression, its own docs giving gpt-4o with a wildcard as the example for all GPT-4o variants. Model families gain members and the new member rarely shares the old rate. Take 10M input tokens billed under a pattern written for a $2.50 per million tier when the call actually ran on a $5.00 per million model that the pattern also matched. Rates are real points from the price book effective 2026-07-02, and the volume is modelled. 10M input tokens at the intended $2.50 per million = $25.00 10M input tokens at the actual $5.00 per million = $50.00 the pattern reports $25.00 against a true $50.00, understating by $25.00 understatement is 50% of true spend, and nothing in the tool flags it A wrong rate is worse than a missing one, because a missing rate is visible. Culpa matches exact model ids and records cost_complete as false when a model is absent from the book, so an unpriced call shows up as unpriced instead of silently taking a neighbour's rate. ## Cost figures Every figure carries its confidence and its source. No figure on this page is provider-reported. - $25.00, understatement on 10M input tokens when a prefix pattern prices a $5.00 model at a $2.50 rate [calculated] Source: Pattern matching behaviour from docs.literalai.com/guides/settings/llm, read 2026-08-03, which gives a regular expression on the model name as the matching mechanism. Rates of $2.50 and $5.00 per million input tokens are real points from the price book effective 2026-07-02. Token volume and the mismatch scenario are modelled: 10 x $2.50 = $25.00 reported against 10 x $5.00 = $50.00 true, a $25.00 gap. ## FAQ Q: When did Literal AI shut down? A: Its own migration guide says the service remained available until 2025-10-31. The team wrote that it couldn't differentiate enough in a competitive market to build sustainable revenue, discontinued Literal AI, and sought a new maintainer for Chainlit. The documentation is still online. Q: How did Literal AI track LLM cost? A: Through a price book you configured. Per model you set a Pattern as a regular expression, an Input Price and an Output Price in USD per million tokens, and optionally a Period with start and end dates that the docs describe as useful for handling price changes. The dashboard then showed total cost, cost per conversation and a breakdown by model. Q: What did Literal AI recommend that users move to? A: Its guide names LangSmith, Langfuse, or a self-hosted open source data layer for teams that want storage without observability or evaluation. It also advises choosing something that supports OpenTelemetry. Culpa isn't on that list and this page doesn't pretend otherwise. Q: What's wrong with matching models by pattern? A: It fails silently in the direction you can't see. A pattern written for one family catches the next model with the same prefix and prices it at the older rate, so your reporting stays confidently wrong. Exact matching with an explicit incomplete flag turns that into a visible gap instead. Q: Is Culpa just a rebuild of Literal AI's cost tracking? A: The rate table with effective dates is the same idea and worth crediting. What Culpa adds is who maintains it, exact model matching with an incomplete flag, exact decimal money, the revenue each customer pays you, and a forecast of next month. Literal AI stopped at cost per conversation, which is attribution rather than margin. ## Sources - Literal AI migration guide: https://docs.literalai.com/more/migration-guide - Literal AI cost tracking settings: https://docs.literalai.com/guides/settings/llm - Literal AI dashboard: https://docs.literalai.com/guides/dashboard Run the free Cost Leak Scan: https://app.getculpa.com/scan?source=pseo&slug=culpa-vs-literal-ai&cluster=competitor Machine-readable index of every guide: https://getculpa.com/api/pages Human-readable index of every guide: https://getculpa.com/guides Site overview: https://app.getculpa.com/llms.txt Privacy: Culpa runs on your infrastructure. Your prompts and responses never leave it. Culpa counts calls to run your plan, and it fails open, so if it ever breaks your app keeps running.