The Infrastructure of Uncensored Intelligence

The uncensored AI API: Shannon models with no refusals and no filters, served from our own GPUs. OpenAI- and Anthropic-compatible — drop in the SDK you already use, one key, streaming, tool calling and reasoning on every endpoint.

21 uncensored models 256K context window from $0.50/1M 3 compatible APIs 3 networks: TLS, Tor, I2P
shannon deepseekzaimoonshotainvidiaminimaxxiaomitencentpoolsidethinkingmachines
Reachable over Tor and I2P Onion service, I2P eepsite and an encrypted TLS mirror. Same /v1 routes, same key, streaming included; no cookies, no JavaScript, no third-party requests. api-encrypted.shannon-ai.com shannon…4cad.onion acvnvkde….b32.i2p Tor & I2P endpoints →

Models & pricing

PER 1M TOKENS

9 Shannon tiers and 12 hosted open-weight models behind one endpoint, with streaming and tool calling on every id. Usage is billed against your token quota, valued at $5 per million quota tokens. Model ids are stable — pin them in production; GET /v1/models returns this same table.

Hosted open-weight models 262,144-token context on every id; input and output billed separately; each id accepts what the model it imitates accepts

Model Input Structured output In / out per 1M
DeepSeek-V4-Pro-08133BIT-REAPDeepSeek · 1.6T MoE · 49B active Text in JSON schema $1.95 / $3.90 More →
GLM-5.23BIT-REAPZ.ai · 744B MoE · 40B active Text in JSON schema $0.73 / $2.34 More →
Kimi-K33BIT-REAPMoonshot AI · 2.8T MoE · 104B active Text + image in JSON schema $3.83 / $19.12 More →
Nemotron3Ultra3BIT-REAPNVIDIA · 550B hybrid Mamba-Attention MoE · 55B active Text in JSON schema $0.75 / $3.30 More →
MiniMax-M33BIT-REAPMiniMax · 428B MoE · 23B active · sparse attention Text + image in JSON schema $0.50 / $2.00 More →
DeepSeek-V4-Flash-0731W4A16-AUTOROUND-REAPDeepSeek · 284B MoE · 13B active Text in JSON schema $0.50 / $2.00 More →
Kimi-K2.6W4A16-AUTOROUND-REAPMoonshot AI · 1T MoE · 32B active Text + image in JSON schema $0.78 / $3.67 More →
Laguna-S-2.1W4A16-AUTOROUND-REAPPoolside · 118B MoE · 8B active Text in No structured output $0.50 / $2.00 More →
inklingW4A16-AUTOROUND-REAPThinking Machines · 975B MoE · 41B active Text + image in JSON object $1.42 / $6.07 More →
MiMo-V2.5-ProW8A16Xiaomi · 1.02T MoE · 42B active · 8-bit Text in JSON schema $0.50 / $2.00 More →
MiMo-V2.5W8A16Xiaomi · 8-bit multimodal · W8A16 Text + image in JSON schema $0.50 / $2.00 More →
Hy3W8A16Tencent · 295B MoE · 21B active · 8-bit Text in JSON schema $0.50 / $2.00 More →

Shannon models one flat rate for input and output

Model Context Input Structured output Price / 1M tokens
Shannon 1.6 Liteshannon-1.6-lite 192K Text + image in JSON schema $3.90
Shannon 1.6 Proshannon-1.6-pro 192K Text + image in JSON schema $7.80
Shannon 2 Liteshannon-2-lite 192K Text + image in JSON schema $3.90
Shannon 2 Proshannon-2-pro 192K Text + image in JSON schema $5.85
Shannon 3shannon-3 192K Text + image in JSON schema $3.35
Shannon 3 Proshannon-3-pro 192K Text + image in JSON schema $3.35
Shannon 3.1shannon-3.1 192K Text + image in JSON schema $3.35
Shannon 3.1 Proshannon-3.1-pro 192K Text + image in JSON schema $3.35
Shannon Coder 1shannon-coder-1 128K Text in JSON schema $8.00

Streaming responses include exact token usage in the final chunk. You are billed for the tokens you send and the reasoning and answer you receive — never for the pipeline's own rendering passes.

სწრაფი დაწყება

1 · Create a key 2 · Point your SDK at Shannon 3 · Ship
Python
from openai import OpenAI

client = OpenAI(
    api_key="YOUR_API_KEY",
    base_url="https://api.shannon-ai.com/v1"
)

response = client.chat.completions.create(
    model="shannon-3",
    messages=[
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "Hello, Shannon!"}
    ],
    max_tokens=1024
)

print(response.choices[0].message.content)

პასუხის ფორმატი

200 · JSON
{
  "id": "chatcmpl-abc123",
  "object": "chat.completion",
  "created": 1234567890,
  "model": "Shannon 1.6 Lite",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Hello! I'm Shannon, your AI assistant. How can I help you today?"
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 25,
    "completion_tokens": 18,
    "total_tokens": 43
  }
}

API Playground

ინტერაქტიული

Try every model and endpoint in the browser with your own key — streaming output, request inspector, and generated code you can paste straight into your app.

Interactive API console

Chat with any model, three endpoint dialects, tool calls, live latency and cost.

Launch Playground

შესაძლებლობები

Everything the chat product can do, exposed over the wire.

თავსებადი

Drop-in ჩანაცვლება

მუშაობს OpenAI და Anthropic SDK-ებთან. უბრალოდ შეცვალეთ base URL.

ინსტრუმენტები

ფუნქციის გამოძახება

განსაზღვრეთ ინსტრუმენტები, Shannon-მა თავად გამოიძახოს. მხარს უჭერს auto, forced და none რეჟიმებს.

ძიება

ჩაშენებული ვებძიება

რეალურ დროში ვებძიება წყაროების მითითებით. ავტომატურად ხელმისაწვდომია.

JSON

სტრუქტურირებული შედეგები

JSON რეჟიმი და JSON Schema იძულებით გამოყენება სანდო მონაცემთა ამოსაღებად.

აგენტური

მრავალჯერადი ინსტრუმენტები

ფუნქციების ავტომატური შესრულების ციკლები. თითო მოთხოვნაზე 10-მდე იტერაცია.

სწრაფი

სტრიმინგი

Server-sent events რეალურ დროში ტოკენების სტრიმინგისთვის.

მიმოხილვა

LIVE

Point your existing OpenAI or Anthropic SDK at Shannon and keep the same code. Every endpoint speaks the format you already use.

URL

OpenAI-თან თავსებადი

https://api.shannon-ai.com/v1/chat/completions

გამოიყენეთ Chat Completions API ფუნქციის გამოძახებით და სტრიმინგით.

URL

Anthropic-თან თავსებადი

https://api.shannon-ai.com/v1/messages

Claude Messages ფორმატი ინსტრუმენტებით და anthropic-version ჰედერით.

ჰედერები

ავთენტიკაცია

Authorization: Bearer <api-key>

ან X-API-Key და anthropic-version Claude-სტილის გამოძახებებისთვის.

წვდომა

სტატუსი

საჯარო დოკუმენტაცია - გამოძახებისთვის საჭიროა გასაღები

სტრიმინგი, ფუნქციის გამოძახება, სტრუქტურირებული შედეგები, ვებძიება.

Before your first request

  • SDK მიმართეთ Shannon-ზე — baseURL მიუთითეთ ზემოთ მოცემულ OpenAI ან Anthropic ენდპოინტებზე.
  • დაამაგრეთ API გასაღები — OpenAI გამოძახებებისთვის გამოიყენეთ Bearer ტოკენები ან X-API-Key + anthropic-version.
  • ჩართეთ ინსტრუმენტები და სტრუქტურირებული შედეგები — მხარს უჭერს OpenAI tools/functions, JSON schema და ჩაშენებულ web_search-ს.
  • გამოყენების კონტროლი — როდესაც შესული ხართ, ამ გვერდზე ნახავთ ტოკენებისა და ძიების ხარჯს.

ავთენტიკაცია

One key works everywhere. OpenAI-style requests use a Bearer header; Anthropic-style requests use x-api-key.

OpenAI-compatible
Authorization: Bearer YOUR_API_KEY

Anthropic-compatible

Anthropic-compatible
x-api-key: YOUR_API_KEY
anthropic-version: 2023-06-01

Tor & I2P endpoints

The API is also published as a Tor onion service and an I2P eepsite. Same routes, same key; only the base URL and the proxy change.

NetworkBase URL
Clear webhttps://api.shannon-ai.com/v1
Clear web (TLS, encrypted mirror)https://api-encrypted.shannon-ai.com/v1
Tor (onion service)http://shannonmd773o5vxz75byha5rkea7nzr3srotw46uwythq3pjl6y4cad.onion/v1
I2P (eepsite)http://acvnvkdea4xaczzjap7chysqqi4kkvp2eorfwkasindzmjpa47da.b32.i2p/v1

cURL through Tor

cURL · Tor
curl --socks5-hostname 127.0.0.1:9050 http://shannonmd773o5vxz75byha5rkea7nzr3srotw46uwythq3pjl6y4cad.onion/v1/chat/completions \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "shannon-3-lite", "stream": true, "messages": [{"role": "user", "content": "Hello over Tor"}]}'

cURL through I2P

cURL · I2P
curl --proxy http://127.0.0.1:4444 http://acvnvkdea4xaczzjap7chysqqi4kkvp2eorfwkasindzmjpa47da.b32.i2p/v1/models \
  -H "Authorization: Bearer YOUR_API_KEY"

SDK base URL

Python · openai
import httpx
from openai import OpenAI

client = OpenAI(
    api_key="YOUR_API_KEY",
    base_url="http://shannonmd773o5vxz75byha5rkea7nzr3srotw46uwythq3pjl6y4cad.onion/v1",
    http_client=httpx.Client(proxy="socks5h://127.0.0.1:9050", timeout=600),
)

Cookies are never accepted on /v1, so the API key is the only credential. Streaming works over both networks; keep-alive frames are sent every few seconds.

ფუნქციის გამოძახება

Python
from openai import OpenAI
import json

client = OpenAI(
    api_key="YOUR_API_KEY",
    base_url="https://api.shannon-ai.com/v1"
)

# Define available tools/functions
tools = [
    {
        "type": "function",
        "function": {
            "name": "get_weather",
            "description": "Get current weather for a location",
            "parameters": {
                "type": "object",
                "properties": {
                    "location": {
                        "type": "string",
                        "description": "City name, e.g., 'Tokyo'"
                    },
                    "unit": {
                        "type": "string",
                        "enum": ["celsius", "fahrenheit"]
                    }
                },
                "required": ["location"]
            }
        }
    }
]

response = client.chat.completions.create(
    model="shannon-3",
    messages=[{"role": "user", "content": "What's the weather in Tokyo?"}],
    tools=tools,
    tool_choice="auto"
)

# Check if model wants to call a function
if response.choices[0].message.tool_calls:
    tool_call = response.choices[0].message.tool_calls[0]
    print(f"Function: {tool_call.function.name}")
    print(f"Arguments: {tool_call.function.arguments}")

tool_choice

"auto" მოდელი გადაწყვეტს, გამოიძახოს თუ არა ფუნქცია (ნაგულისხმევი)
"none" გამორთეთ ფუნქციის გამოძახება ამ მოთხოვნისთვის
{"type": "function", "function": {"name": "..."}} მოითხოვეთ კონკრეტული ფუნქციის გამოძახება

ფუნქციის გამოძახების პასუხი

200 · JSON
{
  "id": "chatcmpl-xyz",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": null,
        "tool_calls": [
          {
            "id": "call_abc123",
            "type": "function",
            "function": {
              "name": "get_weather",
              "arguments": "{\"location\": \"Tokyo\", \"unit\": \"celsius\"}"
            }
          }
        ]
      },
      "finish_reason": "tool_calls"
    }
  ]
}

სტრუქტურირებული შედეგები

Python
from openai import OpenAI

client = OpenAI(
    api_key="YOUR_API_KEY",
    base_url="https://api.shannon-ai.com/v1"
)

# Force JSON output with schema
response = client.chat.completions.create(
    model="shannon-3",
    messages=[
        {"role": "user", "content": "Extract: John Doe, 30 years old, engineer"}
    ],
    response_format={
        "type": "json_schema",
        "json_schema": {
            "name": "person_info",
            "schema": {
                "type": "object",
                "properties": {
                    "name": {"type": "string"},
                    "age": {"type": "integer"},
                    "occupation": {"type": "string"}
                },
                "required": ["name", "age", "occupation"]
            }
        }
    }
)

import json
data = json.loads(response.choices[0].message.content)
print(data)  # {"name": "John Doe", "age": 30, "occupation": "engineer"}

პასუხის ფორმატის ვარიანტები

{"type": "json_object"} ვალიდური JSON-ის იძულება (სქემის გარეშე)
{"type": "json_schema", "json_schema": {...}} ზუსტად თქვენი სქემის შესაბამისი გამოსავალის იძულება

სტრიმინგი

Server-sent events, OpenAI chunk format. Thinking models stream reasoning_content deltas before the answer; the final chunk carries exact usage.

Python
from openai import OpenAI

client = OpenAI(
    api_key="YOUR_API_KEY",
    base_url="https://api.shannon-ai.com/v1"
)

# Enable streaming for real-time responses
# Thinking models stream reasoning_content first, then content
stream = client.chat.completions.create(
    model="GLM-5.2-3BIT-REAP",
    messages=[
        {"role": "user", "content": "Write a short poem about AI"}
    ],
    stream=True
)

for chunk in stream:
    delta = chunk.choices[0].delta
    if getattr(delta, "reasoning_content", None):
        print(delta.reasoning_content, end="", flush=True)  # thinking stream
    if delta.content:
        print(delta.content, end="", flush=True)

Responses API

NEW

POST /v1/responses — the OpenAI Responses dialect: instructions, input items, function_call / function_call_output for tool loops, reasoning summaries as output items. Same models, same key.

Python
from openai import OpenAI

client = OpenAI(api_key="YOUR_API_KEY", base_url="https://api.shannon-ai.com/v1")

response = client.responses.create(
    model="shannon-3",
    instructions="You are a concise assistant.",
    input="Summarize the three-way handshake in two sentences.",
    reasoning={"effort": "low"},
)
print(response.output_text)

# Tool loop: function_call items come back in response.output; answer them
# with function_call_output items on the next call.

Streaming emits response.created, reasoning_summary_text.delta, output_text.delta, function_call_arguments.delta and response.completed; a failed generation ends with response.failed. Non-streaming is the default.

Reasoning effort

NEW

Every thinking model streams its trace as reasoning_content deltas (or a thinking block) before the answer, and finish_reason: length tells you the answer hit max_tokens. The depth knob — reasoning_effort on /v1/chat/completions (off, low, medium, high), reasoning.effort on /v1/responses, thinking.budget_tokens on /v1/messages — is read by the hosted open-weight models; the Shannon tiers accept it and choose their own depth. GET /v1/models reports reasoning_effort per model.

Python
from openai import OpenAI

client = OpenAI(api_key="YOUR_API_KEY", base_url="https://api.shannon-ai.com/v1")

# reasoning_effort: off | low | medium | high. Read by the hosted open-weight
# models, where it sets how long the solve pass thinks. Shannon tiers accept the
# field and pick their own depth -- GET /v1/models reports which is which.
stream = client.chat.completions.create(
    model="GLM-5.2-3BIT-REAP",
    reasoning_effort="medium",
    stream=True,
    messages=[{"role": "user", "content": "Is 221 prime?"}],
)
for chunk in stream:
    delta = chunk.choices[0].delta
    if getattr(delta, "reasoning_content", None):
        print(delta.reasoning_content, end="", flush=True)   # thinking
    if delta.content:
        print(delta.content, end="", flush=True)             # answer

Anthropic ფორმატი

Drop-in for the Anthropic SDK — point it at our base URL and keep your Messages code.

https://api.shannon-ai.com/v1/messages
Python
import anthropic

client = anthropic.Anthropic(
    api_key="YOUR_API_KEY",
    base_url="https://api.shannon-ai.com"
)

response = client.messages.create(
    model="shannon-3",
    max_tokens=1024,
    messages=[
        {"role": "user", "content": "Hello, Shannon!"}
    ],
    # Tool use (Anthropic format)
    tools=[{
        "name": "web_search",
        "description": "Search the web",
        "input_schema": {
            "type": "object",
            "properties": {
                "query": {"type": "string"}
            },
            "required": ["query"]
        }
    }]
)

print(response.content[0].text)

CLI coding tools

NEW

Use Shannon as the model behind Claude Code, Codex CLI and other agent CLIs.

Claude Code

Anthropic's official CLI coding agent. Point it at Shannon to use as your AI backend for reading, editing, and running code directly in your terminal.

ANTHROPIC_BASE_URL=https://api.shannon-ai.com ANTHROPIC_API_KEY=sk-YOUR_KEY claude

Codex CLI

OpenAI's open-source coding agent. Uses the Responses API for multi-turn tool use, file editing, and shell commands — all routed through Shannon.

OPENAI_BASE_URL=https://api.shannon-ai.com/v1 OPENAI_API_KEY=sk-YOUR_KEY codex

Claude Code

Shell
# Install Claude Code (requires Node.js 18+)
npm install -g @anthropic-ai/claude-code

# Connect to Shannon AI as backend
export ANTHROPIC_BASE_URL=https://api.shannon-ai.com
export ANTHROPIC_API_KEY=sk-YOUR_API_KEY

# Launch Claude Code in bare mode (no Anthropic account needed)
claude

# Or run a one-shot command
claude -p "Explain this codebase"

# Claude Code will use Shannon's Anthropic-compatible API
# for all AI operations: reading files, editing code,
# running tests, and multi-turn tool use.

Codex CLI

Shell
# Install Codex CLI
npm install -g @openai/codex

# Connect to Shannon AI as backend
export OPENAI_BASE_URL=https://api.shannon-ai.com/v1
export OPENAI_API_KEY=sk-YOUR_API_KEY

# Launch Codex
codex

# Or run a one-shot command
codex "fix the bug in main.py"

# Codex uses the Responses API (POST /v1/responses)
# Shannon handles tool calls including:
# - Reading and writing files
# - Running shell commands
# - Multi-turn function calling

SDK-ები

Any OpenAI or Anthropic SDK works out of the box.

Python

ოფიციალური OpenAI Python SDK — მუშაობს Shannon-თან

pip install openai Documentation →

JavaScript / TypeScript

ოფიციალური OpenAI Node.js SDK — მუშაობს Shannon-თან

npm install openai Documentation →

Go

საზოგადოებრივი Go კლიენტი OpenAI-თან თავსებადი API-ებისთვის

go get github.com/sashabaranov/go-openai Documentation →

Ruby

საზოგადოებრივი Ruby კლიენტი OpenAI-თან თავსებადი API-ებისთვის

gem install ruby-openai Documentation →

PHP

საზოგადოებრივი PHP კლიენტი OpenAI-თან თავსებადი API-ებისთვის

composer require openai-php/client Documentation →

Rust

Async Rust კლიენტი OpenAI-თან თავსებადი API-ებისთვის

cargo add async-openai Documentation →

Python (Anthropic)

ოფიციალური Anthropic Python SDK — მუშაობს Shannon-თან

pip install anthropic Documentation →

TypeScript (Anthropic)

ოფიციალური Anthropic TypeScript SDK — მუშაობს Shannon-თან

npm install @anthropic-ai/sdk Documentation →

შეცდომების დამუშავება

Status Type Meaning
400 არასწორი მოთხოვნა მოთხოვნის ფორმატი ან პარამეტრები არასწორია
401 ავტორიზაცია ვერ მოხერხდა არასწორი ან გამოტოვებული API გასაღები
429 კვოტა გადაჭარბდა ტოკენების ან ძიების კვოტა გადაჭარბდა
429 სიხშირის შეზღუდვა ძალიან ბევრი მოთხოვნა, შეანელეთ
500 სერვერის შეცდომა შიდა შეცდომა, სცადეთ მოგვიანებით

Error body

4xx · JSON
{
  "error": {
    "message": "Invalid API key provided",
    "type": "authentication_error",
    "code": "invalid_api_key"
  }
}

ცვლილებების ჟურნალი

2.2.0

2026-03-28
  • ახალი Claude Code support — use Shannon as your Anthropic backend for the official CLI coding agent
  • ახალი Codex CLI support — full Responses API with multi-turn tool use for OpenAI's coding agent
  • გაუმჯობესებული Anthropic streaming format fixes — proper content_block lifecycle, tool_use deltas, toolu_ prefixes
  • გაუმჯობესებული Schema sanitization for Gemini — strips $schema, additionalProperties, $ref and other unsupported fields from tool schemas

2.1.0

2025-01-03
  • ახალი დაემატა shannon-coder-1 მოდელი Claude Code CLI ინტეგრაციისთვის
  • ახალი Coder მოდელისთვის გამოძახებაზე დაფუძნებული კვოტის სისტემა
  • გაუმჯობესებული ფუნქციის გამოძახების სანდოობა გაუმჯობესდა

2.0.0

2024-12-15
  • ახალი დაემატა Anthropic Messages API თავსებადობა
  • ახალი მრავალსაფეხურიანი ინსტრუმენტების შესრულება (10-მდე იტერაცია)
  • ახალი JSON Schema პასუხის ფორმატის მხარდაჭერა
  • გაუმჯობესებული გაუმჯობესებული ვებძიება უკეთესი ციტატებით

1.5.0

2024-11-20
  • ახალი დაემატა shannon-deep-dapo მოდელი რთული მსჯელობისთვის
  • ახალი ჩაშენებული web_search ფუნქცია
  • გაუმჯობესებული სტრიმინგ პასუხებისთვის დაიკლო დაყოვნებამ

1.0.0

2024-10-01
  • ახალი API-ის საწყისი გამოშვება
  • ახალი OpenAI-თან თავსებადი chat completions ენდპოინტი
  • ახალი ფუნქციის გამოძახების მხარდაჭერა
  • ახალი სტრიმინგი Server-Sent Events-ით

თქვენი API გასაღები

GUEST

Sign in to view and manage your API key.

•••••••••••••••• Sign in

ბილინგი

GUEST

შესვლა მოგსarankanებთ ბალანსის სანახავად. ყოველი API მოთხოვნა, იქნება ეს hosted თუ Shannon, იკლებს იმავე ბალანსიდან, როგორც ჩეთი: ჯერ დღევანდელი გეგმის ლიმიტი, შემდეგ კი შეძენილი კრედიტი.

მოდელების ფასები მოცემულია ზემოთ Models & pricing სექციაში. Hosted მოდელები ცალკე ათვლიან შემავალ და გამავალ მონაცემებს; Shannon მოდელები იყენებენ ერთიან ტარიფს. ორივე ანგარიშდება თქვენი ბალანსიდან $5-ის ფასად 1M კვოტა ტოკენზე. ფასების ნახვა →

თქვენი გამოყენება

Sign in to see your recent API activity.

API calls (30 days)
Billed tokens (30 days)
ღირებულება (30 დღე)

მზად ხართ ასაშენებლად?

Free tier included with every account. Your key is one click away.