01Start
Quickstart
From zero to talking with an agent in five minutes, then into your own project.
Install
curl -fsSL https://setup.cuelo.dev/install | bashOn Windows: powershell -c "irm setup.cuelo.dev/install.ps1 | iex". Homebrew,
uv, pip and Docker are covered in Installation. Running
endpoints needs uv.
Add your keys
Cuelo reads credentials from a .env file in the current directory, or from
the environment. The defaults need a Smallest key for speech and one LLM key:
SMALLEST_API_KEY=...
CEREBRAS_API_KEY=... # or ANTHROPIC_API_KEY, OPENAI_API_KEY, OPENROUTER_API_KEYEvery provider and its variable is listed in Providers.
Start the default agent
cuelo startThis serves the default agent and the dashboard on http://127.0.0.1:4141 and opens the Talk page. Pick a preset or write a prompt, press Connect and speak. The first start downloads the turn-taking model weights.
Look at the call
Open Calls in the dashboard. Each call has both audio channels, the transcript, every turn-taking decision and a latency breakdown per turn. See Dashboard.
Own the code
When you want a fixed persona, your own tools or a different stack, create a project:
cuelo init support-agent
cd support-agent
cuelo devcuelo init writes config.cuelo and generates the Python project.
cuelo dev serves it on :4141, regenerates when you save config.cuelo,
reloads when you change Python, and serves the dashboard on :4142. Continue
with Projects.
Connect your own client
The server speaks the OpenAI Realtime API. With the OpenAI SDK, point the base URL at Cuelo:
from openai import AsyncOpenAI
client = AsyncOpenAI(base_url="http://127.0.0.1:4141/v1", api_key="unused")
async with client.realtime.connect(model="cuelo") as conn:
await conn.session.update(session={"instructions": "You are a concise barista."})
...Audio is PCM16 mono at 24 kHz in both directions.