Docs target current release v0.7.0.v0.7.1 is under review

Model adapters

The native Agent accepts any object implementing opentine's async Model protocol. These are current examples, not a model allowlist: adapters pass model identifiers through to their provider.

models.py
1from opentine import Agent
2from opentine.models.anthropic import Anthropic
3from opentine.models.google import Google
4from opentine.models.ollama import Ollama
5from opentine.models.openai import OpenAI
6
7Agent(model=OpenAI("gpt-5.6"))
8Agent(model=Anthropic("claude-sonnet-5"))
9Agent(model=Google("gemini-3.5-flash"))
10Agent(model=Ollama("qwen3"))

Install extras

Terminal
pip install "opentine[anthropic]"
pip install "opentine[openai]"
pip install "opentine[google]"
pip install "opentine[compat]"
# Ollama uses core httpx

Hosted and local compatible wrappers

compatible.py
from opentine.models.compat import (
    DeepSeek, GLM, Grok, Groq, Hermes, Kimi, Ministral,
    Mistral, OpenRouter, Qwen, Together,
    Jan, KoboldCpp, LlamaCpp, LlamaCppPython, LiteLLM,
    LMStudio, LocalAI, MLXLM, NvidiaNIM, SGLang, TGI,
    TensorRTLLM, Unsloth, VLLM,
)

Hosted wrappers use provider-scoped identities so unknown models never inherit another provider's price. Named local wrappers are endpoint conveniences over the same Chat Completions transport, not separate protocol implementations.

Support versus billing coverage

Any model ID accepted by an endpoint can run. The signed pricing catalog is a curated set of exact, effective-dated cards; missing cards produce explicit unknown billing instead of blocking execution or guessing a price. Local runtimes default to unmetered.

Capability properties

supports_tools and supports_thinking are adapter or runtime hints. Actual support depends on the selected model, provider, chat template, and server flags.

See usage and pricing for streamed usage and rate-card caveats.