Back to guides
Pricing·September 21, 2026·10 min read

Agent Zero API costs: main, utility and embedding models

The software is $0. What you pay for is three separately configured model roles — and one successful chat reply only proves that one of the three works.

Last reviewed on .

Agent Zero, the open-source AI agent framework, costs $0 — its LICENSE file carries MIT terms, copyright Agent Zero, s.r.o., and agent-zero.ai advertises no pricing page, no plan and no paid hosted tier for it — so "Agent Zero pricing" means the model API bill underneath it. What makes that bill different from a single-model agent is that Agent Zero splits it across three model roles, configured separately and billed separately: a main model, a utility model, and an embedding model. Kunavo serves no embedding model, so only the first two roles are ever bought here, and the third stays on the local default or goes to a provider that sells that step. Getting one chat reply back therefore does not mean the integration is finished — it means one of three roles answered.

One disambiguation first, because it sits on the results page rather than off to the side. Agent Zero Token (A0T) is a cryptocurrency on Base, and it placed fourth on the single search-results draw this page has for "agent zero pricing", recorded September 17, 2026, with a Coinbase price page at seventh. One draw is not a ranking. The token is genuinely the project's own — CoinGecko's official-links block points at agent-zero.ai and at the project's GitHub repository — which is what makes it easy to mistake for a price list. It is not one: no token quote is this software's price, this page gives no investment or trading guidance, and the token appears below only as a stated condition on a free endpoint.

Four things called "Agent Zero" that are not this software's price

Only the first row below was observed on the search-results draw for "agent zero pricing"; the other three are name collisions you meet while researching, not things that page returned.

Name collisionWhat it isWhat to do with it
Agent Zero Token (A0T)A cryptocurrency on Base, listed by CoinGecko and Coinbase, whose official-links block points at this project. Both chart pages placed in the top ten on the one draw recordedNever read as a software price. Chart data prices a token, not a framework
Agent Zero (2026)A French action film, originally titled Badh, with US release and disc dates of its ownRental, purchase and disc prices belong to the film
agent-zero on PyPIVersion 0.1.2, described as an AI outbound voice agent framework — a different projectpip install agent-zero does not install this software; use Docker, the A0 Launcher or the install script
llm.agent-zero.aiA first-party endpoint whose terms call it a free bonus feature, gated on staking the project's tokenNot a paid plan and not a vendor free tier. Read the terms before counting on it

Sources checked September 21, 2026: the LICENSE file (MIT, copyright Agent Zero, s.r.o.), the PyPI project page, and the LLM API terms, which state that the service "is a free, bonus feature for the Agent Zero community" and "is not a commercial or paid offering", available to token holders who stake their tokens, with quota "determined dynamically and is not guaranteed". The staking threshold and the resulting quota are not published anywhere this page could read, so neither is stated here. On the software itself, the GitHub API for the agent0ai/agent-zero repository reports it as not archived and not disabled with 19,227 stars, and the latest release as v2.12, published September 9, 2026.

Three roles, three separate bills

Agent Zero's Model Presets guide states that every setup contains a main, a utility and an embedding model. That is not a v1 leftover: conf/model_providers.yaml on main has exactly two top-level sections, chat: with 29 providers and embedding: with 16, and both the main and utility roles draw from the chat list. The installation guide adds that the built-in Browser has no separate default model slot of its own.

RoleWhat it doesWhere the money goes
Main (chat_llm)Conversation, reasoning and tool callsMost of your tokens and most of your bill. Buy it from any chat provider, gateway included
Utility (utility_llm)Summarising messages, managing memory, internal promptsA second, usually much smaller bill on the same chat list — and it can point at a different endpoint entirely
Embedding (embedding_llm)Vectors for memory retrieval and knowledge lookupsNothing by default: the shipped model runs locally on CPU. Kunavo serves no embedding model, so this role is never bought here

The default is worth understanding before you move it. In models.py, an embedding call whose provider is huggingface and whose model name starts with sentence-transformers/ short-circuits to a local SentenceTransformer wrapper — no HTTP request and no key — and the curated Default preset pins that role to sentence-transformers/all-MiniLM-L6-v2. The installation guide also states that changing the embedding_llm "will re-index all of A0's memory", which makes that slot a migration rather than a setting — plan it as one, and keep a backup of the memory directory before you touch it. For the wider question of how retrieval quality and storage interact, RAG implementation covers the same decision outside this framework.

Agent Zero custom API: where the endpoint and the key go

On the search draw recorded September 17, 2026, the query "agent zero custom api" put the project's api-integration guide third, and that document answers a different question — its actual title is "Adding External APIs Without Code" and it is about teaching the agent to call third-party APIs, not about choosing your LLM provider. Here is the provider path instead, read from the repository on September 21, 2026.

  1. Pick the provider. Its id is other; conf/model_providers.yaml names it Other OpenAI compatible and lists it in both the chat: and embedding: sections. The installation guide spells the same thing OpenAI Compatible, so expect both labels in the interface.
  2. Put the key in External Services. The guide's wording is to "add the API key under External Services -> Other OpenAI-compatible API keys, then select OpenAI Compatible as the provider in model settings".
  3. Set the API URL on each role you are moving. It is a per-role field, stored as api_base in the preset file, and the guide describes it as the "URL of the API endpoint for the chat model".
  4. Type the model id by hand, exactly as your gateway's catalog spells it, and keep the prefix convention straight: native providers take the bare id, gateways usually want a vendor prefix.
Model Preset: the roles are configured separately
# One Model Preset, three independent blocks. Each carries its own
# provider, model name and api_base, so the three roles can point at
# three different endpoints — and its own rl_* rate-limit fields.
# Schema read from agent0ai/a0-presets
# on September 21, 2026; the values below are an illustration.
chat:
  provider: other        # the UI calls it 'Other OpenAI compatible'
  name: <the id your gateway's own catalog lists>
  api_base: "https://api.kunavo.com/v1"
  ctx_length: 200000
utility:
  provider: other
  name: <a cheaper id from the same catalog>
  api_base: "https://api.kunavo.com/v1"
  ctx_length: 128000
embedding:
  provider: huggingface  # shipped default: local, CPU, no HTTP call
  name: sentence-transformers/all-MiniLM-L6-v2
  api_base: ""

Under the hood, models.py rewrites the provider immediately before the call — the comment in the source reads remap other to openai for litellm — so a custom endpoint must speak the OpenAI Chat Completions shape, and every chat provider in the catalog carries a0_api_mode: chat. LiteLLM is the transport for all of it, pinned in requirements.txt as litellm==1.88.1 with the comment "CVE-2026-42271 fix: patched floor is 1.83.7". If you would rather not type the credential into the interface, the environment route is read in this order:

.env — the alternative to typing the key into the UI
# models.py get_api_key() reads these three spellings in this order,
# for provider id `other`. A comma-separated value is round-robined
# across calls. Read from main on September 21, 2026.
API_KEY_OTHER=your-key
# OTHER_API_KEY=your-key
# OTHER_API_TOKEN=your-key

One Docker trap worth repeating from the installation guide: inside the container, localhost and 127.0.0.1 in an API base URL mean the Agent Zero container, not your host, so a model server on the host needs http://host.docker.internal:<port> or the bridge address. That applies to local runtimes, not to a public HTTPS endpoint.

Two defects in the official setup documentation are worth knowing before you follow it literally, because both were confirmed on September 21, 2026. First, the installation guide's A0 Launcher download links are hardcoded to v0.9 and the text points at "the A0 Launcher v0.9 release", while the launcher's own releases page shows v1.7, published September 9, 2026 — eight releases newer. Use the releases page rather than the pinned download URLs. Second, the guide's "Model Naming by Provider" table puts an Anthropic model id in the example cell of its OpenAI row; the surrounding prose has the distinction right. Take the general rule from the prose, not from that table row: a native provider takes the bare model id, and a gateway usually wants a vendor prefix.

Four limits a custom endpoint runs into

What is missingRead fromWhat it means for you
No model dropdownThe other entry has no models_list block, which is what the Model Configuration plugin readsType the id; a typo surfaces as "Invalid model ID"
No prompt-cache markers senthelpers/litellm_transport.py: two separate gates, both keyed to a named provider or a named host — a base URL outside those names passes neitherAgent Zero sends no cache breakpoints and no cache key. It does not mean a gateway that caches on its own side stops doing so
An open crash report that describes reseller endpointsIssue #1769, open since July 15, 2026A documented report, not a reproduction — see below
Two embedding failure modes with an unmerged fixPR #1437, open and unmerged since April 4, 2026Relevant only if you move that role off the local default

The caching gate is the one most likely to change a budget, so here is exactly what the source says. _supports_cache_control_markers returns true only when the api_base contains openrouter.ai or anthropic.com, or when the normalised provider is in a fixed set that includes anthropic, bedrock, gemini, minimax, openrouter and vertex_ai. The other provider normalises to openai, which is not in that set. The second path, _is_openai_prompt_cache_provider, returns false for any api_base that is not api.openai.com or openai.azure.com. So for a base URL that carries none of those four host names, and whose provider normalises to openai, Agent Zero applies neither Anthropic-style breakpoints nor OpenAI cache keys. Scope that carefully: it is a statement about what Agent Zero sends, not a claim that a cache discount is unavailable.

On the two bug reports, state them as what they are. Issue #1769 is a user report, open on September 21, 2026, titled "LiteLLM calls exit(-9) when a model in model_cost has a litellm_provider that differs from the provider's actual litellm_provider mapping"; its own scope line says it affects "any provider that resells or proxies models from multiple origins", which describes a gateway. Nobody reproduced it for this page, and whether it triggers for any specific model id is untested. PR #1437 reports that LiteLLM 1.80.11 and later send encoding_format: null when it is unset and that strict validators reject that with a 422, plus an un-truncated memory-recall query that can overflow an embedding model's context. It is open and unmerged; its parent issue #1436 is closed, and how that issue was resolved could not be determined, so neither "fixed" nor "live" is claimed here.

A worked per-role cost estimate

These are illustrative token arithmetic, not measured task costs and not a bill ceiling. Assume one week of steady use: 6 million uncached input tokens and 300,000 output tokens on the main role, and 1.5 million input and 150,000 output tokens on the utility role. That split is an assumption for illustration — nobody metered an Agent Zero loop for this page. Rates are live Kunavo catalog prices per million tokens.

Main-role modelInput / output per 1MEstimated week, main role only
GPT-5.6 Sol$2.00 / $12.00$15.60
Claude Opus 5$2.00 / $10.00$15.00
Claude Sonnet 4.6$1.20 / $6.00$9.00
GPT-5.6 Terra$0.70 / $4.20$5.46
Gemini 3.1 Pro$0.70 / $4.20$5.46
Utility-role modelInput / output per 1MEstimated week, utility role only
Claude Haiku 4.5$0.40 / $2.00$0.90
Gemini 2.5 Flash$0.09 / $0.75$0.25
GPT-5.6 Luna$0.07 / $0.42$0.17

Two readings, and they point in opposite directions. First, under these assumptions the main-role choice spans $10.14 a week between the dearest and cheapest rows above, while the utility-role choice spans $0.73. Optimising the second slot is not where the money is unless your workload is unusually background-heavy — and the installation guide warns against going too small there anyway, since very small models (it names 4B) often fail at reliable memory extraction. Second, the two roles combine independently: GPT-5.6 Terra with GPT-5.6 Luna estimates at $5.63 a week against $16.50 for GPT-5.6 Sol with Claude Haiku 4.5. The third role adds no API charge at all while it stays on the local CPU default.

For calibration against the project's own choices, Agent Zero downloads three curated presets at first start when no saved collection exists. Default pairs a GPT-5.6 Terra chat model with a Google flash-lite utility model; Power pairs GPT-5.6 Sol with GPT-5.6 Luna; Efficiency pairs a GLM chat model with a DeepSeek utility model. Only Default spells the embedding role out, and it pins the local CPU model; Efficiency and Power carry no embedding block at all in that file. Those refs are written in the OpenRouter style that file uses, so none of them is a Kunavo id as written — use the ids Kunavo's own catalog lists. That file was last pushed July 17, 2026, so its model choices may lag the market.

Scale by your own weeks before treating any of this as a budget. Kunavo's catalog amount is a billing floor rather than a cap: when the upstream reports its charge, the bill is the greater of catalog cost and upstream cost times the applicable markup. Cache charges and external tools sit outside this example. The minimum Kunavo top-up is $10 in prepaid credit — a funding minimum, not a task fee and not a subscription. See billing details.

Best API for Agent Zero: which route wins when

RouteWins whenWhat you give up
Direct vendor APIOne vendor's flagship does all your main-role work and you want its own caching and batch discountsA second model for the utility role usually means a second account and a second key
An OpenAI-compatible gatewayYou want one key and one balance across both paid roles, and the freedom to move the utility role without opening another accountNo model dropdown, no cache markers sent from Agent Zero, and the reseller-shaped crash report above is open rather than resolved
SubscriptionFlat-rate heavy daily use suits you better than metered tokensAgent Zero has no subscription of its own; the documented route is the first-party Cline Pass plugin, which bills only models carrying its cline-pass/ prefix and leaves everything else metered
Local model serverSmall or private work, no per-request charge; Ollama, LM Studio, vLLM, llama.cpp and oMLX are all documentedCapability gap against hosted frontier models, plus the hardware — and inside Docker the base URL is host.docker.internal or the Docker host gateway address, never localhost
llm.agent-zero.aiNot a purchase route at allIts terms call it a free bonus feature gated on staking the project's token, with quota determined dynamically and not guaranteed

One first-party detail makes the role-by-role argument concrete rather than theoretical. The Cline Pass plugin exists partly because a subscription API that only streams breaks the utility calls specifically — the plugin injects a no-op streaming callback so background work such as chat naming, compaction and memory consolidation keeps working. Roles fail separately, which is the whole reason a single successful chat reply is not an integration test. Agent Zero also ships an LLM Cost Tracker plugin that groups usage by call class — main chat, subordinate agents and utility among them — and ships with no prices at all, telling you to "Fill in rates from your provider's official pricing page". Fill it in per role, or the dashboard bills every class at whatever single rate you typed.

Set it up, then verify all three roles

Kunavo has not runtime-tested Agent Zero against its endpoint, and publishes no Agent Zero integration page; everything above was read from Agent Zero's own source and documentation on September 21, 2026. So verify by role rather than by first reply: send one chat message for the main role, then trigger background work — start a new conversation so automatic naming fires, or let a session run long enough to compact — and confirm the utility model was the one that answered. Leave the embedding role on the local default unless you have decided to migrate it, because that change re-indexes memory. Keep a working route available throughout, run one bounded task, and read the charge your account recorded against the cost tracker's own estimate.

If you are routing the two paid roles at one endpoint, the quickstart has the base URL and a first request, and creating a Kunavo account takes the $10 prepaid minimum with no subscription. For the wider decisions: the OpenAI-compatible API reference covers the endpoint shape Agent Zero speaks, Agent Zero vs OpenClaw compares the two harnesses on execution and memory, LiteLLM alternatives covers the transport layer every Agent Zero call passes through, and AI cost optimization covers measuring a real task instead of a rate card.

FAQ

How much does Agent Zero cost?

The Agent Zero framework costs $0. Its LICENSE file carries MIT terms, copyright Agent Zero, s.r.o., and agent-zero.ai publishes no pricing page, no plan and no subscription for the software; the Docker image, the A0 Launcher desktop app and the shell installer are all free. What you pay for is model API tokens, the machine you run the container on, and any paid tool APIs you wire in yourself. Two same-name products are not this software's price: Agent Zero Token (A0T) is a cryptocurrency whose CoinGecko and Coinbase chart pages both appeared in the top ten for the query 'agent zero pricing' on the one search draw recorded for this page, and Agent Zero (2026) is a French action film, original title Badh, with its own rental and disc prices — that one did not appear on the query, but it shares the name. Repository, licence and site checked September 21, 2026; search draw recorded September 17, 2026.

What is the best model for Agent Zero?

There is no single best model, because Agent Zero bills three roles and they have different requirements. The main role does the conversation, reasoning and tool calls, so it carries most of the tokens and most of the cost; pick the least expensive model that finishes your tasks with review effort you accept. The utility role does summarising, memory consolidation and other background work, and Agent Zero's own installation guide warns that very small models — it names 4B — often fail at reliable memory extraction, pointing at 70B-class models or strong cloud flash or mini models instead, so it is not a free place to economise. The third role is embeddings, and Kunavo serves no embedding model, so that role is bought elsewhere or left on the shipped local CPU default. Nobody has benchmarked models against Agent Zero's loop for this page, so treat any ranking claim, including this one's absence, as untested.

How do I connect Agent Zero to a custom API?

Select the OpenAI-compatible provider and give it a base URL and a key. In conf/model_providers.yaml that provider's id is `other` and its name is 'Other OpenAI compatible'; Agent Zero's installation guide calls the same thing 'OpenAI Compatible' and puts the credential under External Services, then Other OpenAI-compatible API keys. The base URL is the per-role API URL field, stored as api_base in the preset file, so main, utility and embedding each get their own. In models.py, provider id `other` is remapped to LiteLLM's openai provider before the call, so the endpoint must speak the OpenAI Chat Completions shape. The key can also come from the environment as API_KEY_OTHER, OTHER_API_KEY or OTHER_API_TOKEN, in that order of preference. Source read September 21, 2026; no runtime test was run against any gateway for this page.

Why is there no model dropdown for my custom endpoint in Agent Zero?

Because the provider entry has no model-listing URL. In conf/model_providers.yaml the `other` provider carries only a name, a litellm_provider value and a kwargs block — no models_list section, which is the field the Model Configuration plugin uses to populate a dropdown, and which providers such as openai, anthropic and openrouter do carry. The model id therefore has to be typed by hand, exactly as your gateway's own catalog spells it. A wrong id surfaces as 'Invalid model ID'; Agent Zero's troubleshooting guide covers that error for a different pair of providers, noting that openai/gpt-5.3 is correct for OpenRouter and incorrect for the native OpenAI provider, which takes no prefix. Checked September 21, 2026.

What is the best API for Agent Zero?

It depends on which role you are buying and how you work. A direct vendor API wins when one vendor's flagship does all your main-role work and you want that vendor's own caching and batch discounts. A gateway wins when you want one key and one balance across both paid roles, or when you want to move the utility role to a cheaper model without opening a second account. A subscription wins on flat-rate heavy daily use, and Agent Zero has a first-party plugin for exactly that: Cline Pass routes models carrying a cline-pass/ prefix against a Cline subscription instead of per-token credits. A local model server — Ollama, LM Studio, vLLM, llama.cpp or oMLX, all documented in Agent Zero's installation guide — wins for small or private work with no per-request charge. The first-party endpoint at llm.agent-zero.ai is not a purchasable option: its terms describe a free bonus feature gated on staking the project's token, with quota determined dynamically and not guaranteed.

What is the cheapest API for Agent Zero?

Cheapest per token and cheapest to finish the task are different questions, and Agent Zero's role split makes the difference visible. Under one stated assumption — 6 million uncached input and 300,000 output tokens a week on the main role, 1.5 million input and 150,000 output on the utility role — the choice of main model moves the weekly figure by several dollars while the choice of utility model moves it by well under one, because the main role carries most of the traffic. The floor is lower still if the work suits a local model, which has no per-request charge at all, and the embedding role is already free of API charges on the shipped CPU default. But a cheaper main model that needs a second or third attempt can cost more than a stronger one that finished first, and no measurement of attempt counts inside Agent Zero's loop exists on this page. Size it against your own tasks rather than against a rate card.

Does pip install agent-zero install this framework?

No. The agent-zero package on PyPI is version 0.1.2 and describes itself as an AI outbound voice agent framework — an unrelated project that happens to share the name. Agent Zero the AI agent framework installs from its Docker image with docker run -p 80:80 -v a0_usr:/a0/usr agent0ai/agent-zero, from the A0 Launcher desktop app, or from the A0 Install script at bash.agent-zero.ai. Note also that the GitHub repository moved from the personal account frdel to the agent0ai organisation, so older tutorials and third-party link blocks still cite the old path; it redirects, but agent0ai/agent-zero is the current one. Checked September 21, 2026.

Agent Zero repository state, latest release, issue and pull-request status, provider catalog, models.py, the LiteLLM transport, requirements, the curated preset file, the installation and troubleshooting guides, the LLM API terms and the PyPI collision were all checked September 21, 2026. Search-result positions come from one draw recorded September 17, 2026, and are a single draw, not a ranking. Kunavo token rates are read from the live catalog; every dollar figure on this page is illustrative token arithmetic on a stated assumption rather than a measured task cost.