Skip to content
Updates & support on Telegram

Agents

One key for the whole agent loop.

Planning, tool calls, retries and long context all hit the same endpoint. Swap the model mid-loop without touching auth, billing or streaming code.

01 — Agents

Why agents work well here

An agent loop makes many small calls and a few large ones. Per-token billing, a single credential and a stable request shape mean you can route each step to the cheapest model that can handle it.

Route by step

Send planning to a reasoning tier and tool-call turns to a fast tier. One key covers both.

No seat pricing

Agent loops burn tokens unpredictably. Prepaid per-token billing keeps the cost linear.

1M-token context

GPT-6 Astra, Kimi K3 and GLM-5.3 hold whole repositories and long transcripts in one call.

Tool calling

The standard tools array is forwarded upstream, so function calling works without a shim.

Streaming

SSE deltas keep interactive agents responsive; usage arrives in the final frame.

One credential

Every framework reads the same key and base URL, so a second agent stack costs nothing to add.

Frameworks and runtimes

Each of these accepts a custom OpenAI-compatible base URL. Pick the one your team already uses.

OpenAI Agents SDK

Native

Set baseURL and apiKey on the client. Handoffs, guardrails and tracing work unchanged.

LangGraph

Native

Point ChatOpenAI at /v1 and keep your graph, checkpointing and human-in-the-loop nodes.

CrewAI

Native

Configure the LLM with the gateway base URL; roles and tasks stay in your code.

AutoGen

Native

Use the OpenAI-compatible client config for multi-agent conversations and code executors.

Claude Agent SDK

Via bridge

Route through the Anthropic-compatible bridge described in the Claude Code guide.

MCP servers

Native

Any MCP host that speaks the OpenAI protocol can call this catalog as its model backend.

02 — Loop

A loop that stays cheap

The pattern that keeps agent runs affordable: classify, then escalate only when the cheap tier fails.

  1. 01

    Plan on a reasoning tier

    One call to GPT-6 Sol or Claude Opus 5.5 to decompose the task. This is where quality matters most.

  2. 02

    Execute on a fast tier

    Tool-call turns and file reads go to DeepSeek V4.1 Flash or MiMo V2.6 Flash at a fraction of the cost.

  3. 03

    Escalate on failure

    Retry a failed step on a stronger model instead of rerunning the whole loop.

  4. 04

    Reconcile from usage

    Read token counts and cost from the usage object on each response; no separate metering service.

Minimal agent client

The same client works for every framework below — only the base URL and key change.

from openai import OpenAI

client = OpenAI(
    base_url="https://uncensoredai.dev/v1",
    api_key="sk-ua-XXXX-XXXX-XXXX-XXXX",
)

# Plan on the reasoning tier.
plan = client.chat.completions.create(
    model="gpt-6-sol",
    messages=[{"role": "user", "content": "List the steps to rename a symbol."}],
)

# Execute tool turns on the cheap tier.
step = client.chat.completions.create(
    model="deepseek-v4.1-flash",
    messages=[{"role": "user", "content": "Apply step 1."}],
)
AI Agents on One API Key — Frameworks & Patterns · UncensoredAI