Skip to content

Models and Run Cost

Every Horizon agent runs on a large language model. Unlike most agent platforms, Horizon does not expose model tuning to the people who build agents — there is no temperature dial, no output-length setting, and no per-agent model picker in the agent builder. This page describes what actually exists.

The model is a single field, and most agents never set it

Section titled “The model is a single field, and most agents never set it”

An agent deployment carries one optional model field: modelName, a free-text model identifier. There are no tiers and no model families to choose between.

When it is unset — which is the normal case — runs use the platform default:

anthropic/claude-sonnet-4

Model selection is an administrative control, not a builder-facing one. The edit control lives on the agent’s store listing and is gated on backend access, so ordinary org users — including people who build and deploy agents — cannot see or change it.

Two consequences worth being clear about:

  • Editing the model on a store listing changes the listing. It is not a per-agent override you can apply to an agent you have already deployed.
  • If you need a specific model for a specific workload, that is a request to your Horizon administrator, not a setting to go find.

tokensPerRun is a wallet charge, not an output limit

Section titled “tokensPerRun is a wallet charge, not an output limit”

This is the one that costs money if you misread it. tokensPerRun is an optional integer on the deployment, and it is the price of one run against your token wallet:

const cost = BigInt(deployment.tokensPerRun ?? 1);

It does not cap how long a response can be, and it does not influence the model’s behaviour in any way. When it is unset, a run costs 1 token.

Because the charge is per run rather than per token consumed, cost scales with how often your agents run, not with how much the model reads or writes on any given run.

Stated explicitly, because these are common expectations from other platforms and their absence is silent:

Setting Status
Temperature Does not exist — no occurrence anywhere in the platform
Max output tokens Does not exist. tokensPerRun is a wallet charge, not a cap
Model tiers (Flagship / Standard / Fast) Do not exist. AgentTier is operator / department / process, which describes what kind of agent it is, not which model it uses
Per-agent model picker in the builder Does not exist — see Who can change it above
Context-window configuration Not user-configurable

Since the per-run charge is fixed and the model is not yours to tune, cost control is about how often agents run and how much work each run does:

  • Prefer scheduled or triggered runs over polling-style agents that run on a timer regardless of whether there is anything to do.
  • Keep instructions tight. They are re-sent on every run, and a long system prompt makes each run slower without making it cheaper.
  • Constrain skill output with filters and pagination, so a run is not pulling data it will not use.