CrewAI
CrewAI's LLM class takes a model, a base URL and a key. Name the model with an openai/ prefix to use an OpenAI-compatible endpoint.
What you need
- Base URL
https://api.opencheap.si/v1 - API keyA
kl_live_…key from the console, kept inOPENCHEAP_API_KEY. - ModelAn id from Models, for example
claude-sonnet-5.
pip install crewaiAn LLM for your agents
import os
from crewai import LLM, Agent, Crew, Task
llm = LLM(
model="openai/claude-sonnet-5",
base_url="https://api.opencheap.si/v1",
api_key=os.environ["OPENCHEAP_API_KEY"],
)
writer = Agent(role="Writer", goal="Answer in one short sentence", backstory="You keep it brief.", llm=llm)
task = Task(description="Say hello to a new user.", expected_output="One sentence.", agent=writer)
print(Crew(agents=[writer], tasks=[task]).kickoff())The openai/ prefix is CrewAI's: it picks the OpenAI-compatible route, and claude-sonnet-5 is what OpenCheap receives. Give every agent that should use OpenCheap the same llm. CrewAI may print that it is approximating the input token count for the model; that is a note about its own counter.
What was checked
Run on October 28, 2026 with CrewAI 1.15.30 on claude-sonnet-5: the crew above ran one agent and one task and returned its answer.