Quickstart
The API is OpenAI-compatible: any SDK, framework, or agent harness works unchanged. Three steps from zero to first token.
1 Get a key
Ask the owner for private-beta access, then sign in to the consoleand create an API key. Test credits are issued manually; public checkout is not open.
2 Point your client at us
Change base_url and pass your key. Everything else stays the same. Install the SDK with pip install openai, set UNBOUND_API_KEY in your environment, and run both Python blocks below in the same script.
import os from openai import OpenAI client = OpenAI( base_url="https://api.unboundmodels.com/v1", api_key=os.environ["UNBOUND_API_KEY"], )
3 Call the model
Use the model id from the catalog. Streaming is recommended: if the model is asleep, the stream opens immediately and keeps your client connected while it wakes. Measured cached restarts took 65–67 seconds; host migration can take much longer. There is no startup fee; actual input and output tokens are billed.
stream = client.chat.completions.create(
model="unbound/qwen3.8-27b",
messages=[{"role": "user", "content": "Hello"}],
stream=True,
)
for chunk in stream:
for choice in chunk.choices:
if choice.delta.content:
print(choice.delta.content, end="", flush=True)
print()Tool calls, reasoning traces, structured output, and stream_options with include_usage all work exactly as in the OpenAI API. Prompts and completions are not stored.
Repeated input and usage
Input is $0.35/M tokens, repeated input $0.07/M, and output $2.50/M. Every matching token prefix is eligible across API keys on the same account and immutable model build, with no minimum length or block rounding. Eligibility is captured when a request is admitted, before any GPU warm-up, using successful metered completions from the preceding five minutes.
A successful metered completion renews its input prefix for another five minutes. Errors, missing metering, and cancellations do not renew eligibility. Extending or shortening a conversation only renews the prefix actually submitted, not an older unused suffix. Simultaneous requests cannot reuse a completion that had not settled when they were admitted.
This is a billing guarantee independent of physical KV cache: it survives GPU or gateway restart on the same configured build. It is not a time-to-first-token guarantee; cold starts and cache eviction can still require warm-up or recomputation.
In response usage.prompt_tokens_details, discounted_tokens is the repeated input billed at the lower rate, while cached_tokens remains the physical GPU cache-hit count. Both are subsets of prompt_tokens, not extra tokens to add. For streaming, request stream_options.include_usage to receive final usage. Input token identifiers are internal and are not returned or persisted.