Docs

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.