LLM integration
Add a language model to the product you already have.
Acasa Labs provides LLM integration services: we add OpenAI, Anthropic, Gemini, and open-weight models to your existing web app, mobile app, or backend, with keys on the server, costs tracked, and output checked. NoteTube switches models per conversation across five providers, and SigmaCPM records the token use and cost of every LLM call.
The problem
Calling the API takes an afternoon. Running it in production does not.
The first prompt works in a notebook. Then the real questions arrive. Which provider, and what happens when it is slow or down? Who pays for a user who sends a thousand requests? How do you stop the model inventing a field? Where do the keys live in a mobile app? What does a month of this cost? An LLM feature that ships without answers to these turns into a surprise bill or a support problem.
What we build
- 01
Features inside your product
Summaries, extraction, drafting, classification, and chat, added to the screens your users already open.
- 02
A model layer you can swap
One interface over several providers, so you can change models for quality, price, or data rules without rewriting features.
- 03
Cost and usage controls
Tokens and cost recorded per call, limits per user or plan, and caching where answers repeat.
- 04
Structured, checked output
Responses parsed into typed fields and validated, with rules that drop or flag anything the model cannot support.
From production
From LLM features we run.
Five providers behind one choice
NoteTubeNoteTube lets each conversation run on OpenAI, Gemini, Claude, Llama, or Mistral. Model calls go through a separate FastAPI service, so the web and mobile clients never hold an AI key.
Every call has a price
SigmaCPMSigmaCPM calls models through OpenRouter and records tokens and cost on every LLM call.
Read the right pages first
SigmaCPMBefore extraction, SigmaCPM retrieves the candidate pages of a tender, so the model reads the pages that matter instead of the whole package.
Providers swappable by config
KraftrKraftr's generation providers are pluggable by config, so the product can change models without a rebuild, and moderation runs on every generation.
Honest trade-offs
When you should not add an LLM
If the task has a right answer that a rule or a query can find, such as a lookup, a calculation, or a fixed form, write the rule. It is cheaper, instant, and testable. Use a model where the input is free text, documents, or images, and where a person can check what it produces. We will tell you which features on your list fall on which side.
What we reach for
- OpenAI, Anthropic, Gemini
- Llama, Mistral, OpenRouter
- FastAPI, Django, Node
- Structured output, JSON schema
- Redis caching
- Token and cost logging
- Evaluation sets
Proof
Shipped, not pitched.
01Our product
NoteTube
A lecture becomes a study system: chat, flashcards, quizzes, all grounded in the source.
An AI learning platform that turns PDFs, YouTube lectures, recordings, and notes into a structured notebook with grounded chat, spaced-repetition flashcards, and graded quizzes.
Web · iOS · Android · Chrome extension · MCP server
02Our product
SigmaCPM
Construction project management where AI reads the tender and shows its work.
One project record for civil contractors, from tender to closeout: bids, contracts, RFIs, vendor quotes, and drawings. The AI pulls line items and bond terms out of tender PDFs and cites the page for every value.
Web · API · Chrome extension
03Our product
Kraftr
One flat-lay photo becomes catalog-ready 4K on-model imagery.
An AI catalog studio for fashion and jewelry brands. Upload one flat-lay or hanger shot per SKU and get on-model imagery at up to 4K, in ten aspect ratios, sized for Amazon, Myntra, Flipkart, and Shopify.
Web · iOS · Android
Questions
LLM integration questions we get asked.
Can you add AI to our existing app without rebuilding it?
Yes. We add a service or a module beside what you have, ship one or two features first, and leave the rest of the codebase alone. Django, FastAPI, Node, and Next.js apps are all straightforward to extend.
Which LLM should we use?
It depends on the task, the cost per call, latency, and where your data is allowed to go. We test two or three models on your real inputs, pick on the results, and build so you can switch later.
How do you control the cost?
We record tokens and cost on every call, cap usage per user or plan, cache repeated work, and use smaller models for simple steps. You see the cost per feature, not only a monthly bill.
Will the provider train on our data?
Most providers say their business APIs do not train on your data by default, but terms differ by provider and plan, so we check them with you. Where data cannot leave your environment, open-weight models can run on your own infrastructure.
How do you test an LLM feature?
With an evaluation set built from your real inputs and the answers you expect. We run it before launch and after every prompt or model change, so improvements are measured, not guessed.
LLM integration
Which feature in your product needs a model?
Tell us the feature and show us a few real inputs. We will tell you which model fits, what it would cost per use, and how we would ship it.


