model.provider, model.model, and model.options.
Provider matrix
When an agent loads, Hyperterse normalizes provider values (lowercased;
- becomes _).
Option keys and env behavior
Model option string values support
{{ env.VAR_NAME }} substitution when the agent model is initialized.
Gemini (Google AI Studio)
api_key(inline or{{ env.VAR_NAME }}substitution)- fallback env:
GOOGLE_API_KEY(recommended)
Vertex AI
projectoption or envGOOGLE_CLOUD_PROJECTlocationoption or envGOOGLE_CLOUD_LOCATION, fallbackGOOGLE_CLOUD_REGION- optional
api_keysupport, fallbackGOOGLE_API_KEY
OpenAI-compatible
base_urldefaults tohttps://api.openai.com/v1- key from
api_key, fallbackOPENAI_API_KEY
Other popular providers
Direct means you can useopenai_compatible with that provider’s
OpenAI-compatible endpoint directly. Indirect means you should put a compatibility
gateway in front first.
OpenAI compatibility
openai_compatible is defined by protocol behavior, not by vendor name.
Accepted provider identifiers
After normalization (lowercase, with- converted to _), Hyperterse accepts:
openai_compatible(canonical)openai(alias)
Required protocol contract
For direct integration, the target endpoint must support:POST {base_url}/chat/completionsAuthorization: Bearer <token>- OpenAI-compatible request/response payloads
- OpenAI-compatible tool-call payloads when tools are enabled
Direct vs indirect usage
Useopenai_compatible directly only when the contract above is satisfied.
Use a compatibility gateway when any of these differ:
- endpoint path
- auth mechanism (for example non-Bearer or required custom headers)
- payload/response/tool-call schema
Production-safe examples
Gemini with env-managed key
Vertex with explicit project/location
OpenAI-compatible with custom gateway
OpenRouter with a free model
Recommended patterns
- Keep secrets in provider default env vars (
OPENAI_API_KEY,GOOGLE_API_KEY) instead of inline literals. - Pin
modelvalues deliberately per agent role (cheap vs reasoning-heavy). - Add one agent per workflow role rather than reusing a single all-purpose prompt.