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 URLhttps://api.opencheap.si/v1
  • API keyA kl_live_… key from the console, kept in OPENCHEAP_API_KEY.
  • ModelAn id from Models, for example claude-sonnet-5.
pip install crewai

An 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.