SHANNON A.I. ロゴ
SHANNON A.I.
チャット 料金 API 研究 会社 Pentest AI 起動ブースト
サインイン
プランと使用量
チャット 料金 API 研究 会社 Pentest AI 起動ブースト サインイン プランと使用量

言語を選択

すべての言語は平等です。使いたい言語を選んでください。

API ドキュメント

Shannon API

OpenAI と Anthropic 互換のAI API。関数呼び出し、Web検索、構造化出力に対応。

APIキーを取得 Playground を試す V2
ドキュメント
  • OV 概要
  • CP 機能
  • QS クイックスタート
  • PG API プレイグラウンド 新規
  • AU 認証
  • ML モデル
  • FN 関数呼び出し
  • JS 構造化出力
  • SS ストリーミング
  • WS 内蔵Web検索
  • AN Anthropic 形式
  • CT cli-tools 新規
  • SD SDKs
  • ER エラー処理
  • CL 変更履歴
  • AK あなたの API キー
  • US 使用状況

Shannon AI API Documentation

概要

公開ドキュメント

Shannon の OpenAI/Anthropic 互換 API でリリースするために必要なすべて。

ベースURL OpenAI互換
https://api.shannon-ai.com/v1/chat/completions

function calling と streaming に対応した Chat Completions API を利用します。

ベースURL Anthropic互換
https://api.shannon-ai.com/v1/messages

tools と anthropic-version ヘッダーを使う Claude Messages 形式。

ヘッダー 認証
認証: Bearer <あなたのキー>

または Claude 形式の呼び出しに X-API-Key + anthropic-version を使用します。

Access Status
Public docs - Key required to call

Streaming、function calling、構造化出力、Web 検索。

導入チェックリスト
  • +
    SDK の接続先を Shannon に設定
    baseURL を上記の OpenAI または Anthropic エンドポイントに設定します。
    Setup
  • +
    API キーを設定
    OpenAI 形式は Bearer、または X-API-Key + anthropic-version を使用します。
    Security
  • +
    tools と構造化出力を有効化
    OpenAI tools/functions、JSON schema、組み込み web_search をサポート。
    機能
  • +
    使用量を確認
    ログイン後、このページでトークンと検索の消費量を確認できます。
    Analytics

機能

OpenAI + Anthropic

OpenAI / Anthropic API のドロップイン互換。tools、構造化出力、組み込み Web 検索をネイティブサポート。

AI

ドロップイン置き換え

互換

OpenAI と Anthropic の SDK で動作。ベースURLを変更するだけ。

AI

関数呼び出し

ツール

ツールを定義し、Shannon に呼び出させます。auto/forced/none をサポート。

AI

Web検索内蔵

検索

出典付きのリアルタイムWeb検索。自動で利用可能。

AI

構造化出力

JSON

JSONモードとJSON Schema強制で確実なデータ抽出。

AI

マルチターン・ツール

エージェント

関数実行の自動ループ。1リクエスト最大10回。

AI

ストリーミング

高速

Server‑Sent Events によるリアルタイムトークンストリーミング。

クイックスタート

5分

3ステップで開始。Shannon は OpenAI と Anthropic のクライアントに対応します。

1

ベースURLを設定

OpenAI 互換エンドポイントを使用します。

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

APIキーを追加

Authorization ヘッダーに Bearer 認証を使用します。

3

最初のメッセージを送信

言語を選び、キーに差し替えます。

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-1.6-lite",
    messages=[
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "Hello, Shannon!"}
    ],
    max_tokens=1024
)

print(response.choices[0].message.content)
JavaScript
import OpenAI from 'openai';

const client = new OpenAI({
  apiKey: 'YOUR_API_KEY',
  baseURL: 'https://api.shannon-ai.com/v1'
});

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

console.log(response.choices[0].message.content);
Go
package main

import (
    "context"
    "fmt"
    openai "github.com/sashabaranov/go-openai"
)

func main() {
    config := openai.DefaultConfig("YOUR_API_KEY")
    config.BaseURL = "https://api.shannon-ai.com/v1"
    client := openai.NewClientWithConfig(config)

    resp, err := client.CreateChatCompletion(
        context.Background(),
        openai.ChatCompletionRequest{
            Model: "shannon-1.6-lite",
            Messages: []openai.ChatCompletionMessage{
                {Role: "system", Content: "You are a helpful assistant."},
                {Role: "user", Content: "Hello, Shannon!"},
            },
            MaxTokens: 1024,
        },
    )
    if err != nil {
        panic(err)
    }
    fmt.Println(resp.Choices[0].Message.Content)
}
cURL
curl -X POST "https://api.shannon-ai.com/v1/chat/completions" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "shannon-1.6-lite",
    "messages": [
      {"role": "system", "content": "You are a helpful assistant."},
      {"role": "user", "content": "Hello, Shannon!"}
    ],
    "max_tokens": 1024
  }'

応答フォーマット

成功レスポンス
{
  "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 プレイグラウンド

新規

ブラウザで Shannon API を直接テストできます。リクエストを作成し、実行してリアルタイムの応答を確認してください。

1

Chat, Responses, Messages

Switch across OpenAI Chat Completions, Responses, and Anthropic Messages without leaving the playground.

2

Stream live output

Run real requests, inspect raw JSON, and view stream events from the same operator console.

3

Reuse your key

Signed-in users can pull their Shannon API key straight into the dedicated playground workspace.

/ja/docs/playground

The playground now lives on its own route so the API docs stay Astro-rendered while the request builder remains an explicitly interactive client tool.

Playground を試す V2 APIキーを取得

認証

すべての API リクエストには Shannon API キーによる認証が必要です。

OpenAI Format (Recommended)

HTTP
Authorization: Bearer YOUR_API_KEY

Anthropic 形式

HTTP
X-API-Key: YOUR_API_KEY
anthropic-version: 2023-06-01

モデル

Shannon は用途別に最適化された複数モデルを提供します。

AI
shannon-1.6-lite Shannon 1.6 Lite

Fast, efficient responses for everyday tasks

コンテキスト 128K
最適な用途 Chat, Q&A, Content Generation
AI
shannon-1.6-pro Shannon 1.6 Pro

Advanced reasoning for complex problems

コンテキスト 128K
最適な用途 Analysis, Research, Complex Tasks
AI
shannon-2-lite Shannon 2 Lite

コンテキスト 128K
最適な用途
AI
shannon-2-pro Shannon 2 Pro

コンテキスト 128K
最適な用途
AI
shannon-coder-1 Shannon Coder

Optimized for Claude Code CLI with call-based quota

コンテキスト 128K
最適な用途 Code Generation, Tool Use, CLI Integration
Call-based quota

関数呼び出し

Define tools that Shannon can call to perform actions or retrieve information.

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-1.6-lite",
    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}")
JavaScript
import OpenAI from 'openai';

const client = new OpenAI({
  apiKey: 'YOUR_API_KEY',
  baseURL: 'https://api.shannon-ai.com/v1'
});

const tools = [
  {
    type: 'function',
    function: {
      name: 'get_weather',
      description: 'Get current weather for a location',
      parameters: {
        type: 'object',
        properties: {
          location: { type: 'string', description: "City name" },
          unit: { type: 'string', enum: ['celsius', 'fahrenheit'] }
        },
        required: ['location']
      }
    }
  }
];

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

if (response.choices[0].message.tool_calls) {
  const toolCall = response.choices[0].message.tool_calls[0];
  console.log('Function:', toolCall.function.name);
  console.log('Arguments:', toolCall.function.arguments);
}

ツール選択オプション

"auto" Model decides whether to call a function (default)
"none" Disable function calling for this request
{"type": "function", "function": {"name": "..."}} Force a specific function call

関数呼び出しレスポンス

When model calls a function
{
  "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"
    }
  ]
}

構造化出力

Force Shannon to respond with valid JSON that matches your schema.

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-1.6-lite",
    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"}
JavaScript
import OpenAI from 'openai';

const client = new OpenAI({
  apiKey: 'YOUR_API_KEY',
  baseURL: 'https://api.shannon-ai.com/v1'
});

const response = await client.chat.completions.create({
  model: 'shannon-1.6-lite',
  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']
      }
    }
  }
});

const data = JSON.parse(response.choices[0].message.content);
console.log(data); // { name: "John Doe", age: 30, occupation: "engineer" }

レスポンス形式オプション

{"type": "json_object"} Force valid JSON output (no specific schema)
{"type": "json_schema", "json_schema": {...}} Force output matching your exact schema

ストリーミング

Enable real-time token streaming with Server-Sent Events for responsive UIs.

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
stream = client.chat.completions.create(
    model="shannon-1.6-lite",
    messages=[
        {"role": "user", "content": "Write a short poem about AI"}
    ],
    stream=True
)

for chunk in stream:
    if chunk.choices[0].delta.content:
        print(chunk.choices[0].delta.content, end="", flush=True)
JavaScript
import OpenAI from 'openai';

const client = new OpenAI({
  apiKey: 'YOUR_API_KEY',
  baseURL: 'https://api.shannon-ai.com/v1'
});

// Enable streaming for real-time responses
const stream = await client.chat.completions.create({
  model: 'shannon-1.6-lite',
  messages: [
    { role: 'user', content: 'Write a short poem about AI' }
  ],
  stream: true
});

for await (const chunk of stream) {
  const content = chunk.choices[0]?.delta?.content;
  if (content) process.stdout.write(content);
}
ヒント: Streaming responses arrive as Server-Sent Events. Each chunk contains a delta with partial content.

内蔵Web検索

Shannon includes a built-in web_search function that's automatically available.

Python
from openai import OpenAI

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

# Web search is automatically available!
# Shannon will use it when needed for current information

response = client.chat.completions.create(
    model="shannon-1.6-lite",
    messages=[
        {"role": "user", "content": "What are the latest AI news today?"}
    ],
    # Optionally, explicitly define web_search tool
    tools=[{
        "type": "function",
        "function": {
            "name": "web_search",
            "description": "Search the web for current information",
            "parameters": {
                "type": "object",
                "properties": {
                    "query": {"type": "string", "description": "Search query"}
                },
                "required": ["query"]
            }
        }
    }]
)

print(response.choices[0].message.content)
# Response includes sources and citations
JavaScript
import OpenAI from 'openai';

const client = new OpenAI({
  apiKey: 'YOUR_API_KEY',
  baseURL: 'https://api.shannon-ai.com/v1'
});

// Web search is automatically available!
// Shannon will use it when needed for current information

const response = await client.chat.completions.create({
  model: 'shannon-1.6-lite',
  messages: [
    { role: 'user', content: 'What are the latest AI news today?' }
  ],
  // Optionally, explicitly define web_search tool
  tools: [{
    type: 'function',
    function: {
      name: 'web_search',
      description: 'Search the web for current information',
      parameters: {
        type: 'object',
        properties: {
          query: { type: 'string', description: 'Search query' }
        },
        required: ['query']
      }
    }
  }]
});

console.log(response.choices[0].message.content);
// Response includes sources and citations
プロのヒント: Web 検索結果には出典が含まれます。Shannon が自動で引用します。

Anthropic 形式

Shannon は Anthropic の Messages API 形式にも対応しています。

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/messages"
)

response = client.messages.create(
    model="shannon-1.6-lite",
    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)
JavaScript
import Anthropic from '@anthropic-ai/sdk';

const client = new Anthropic({
  apiKey: 'YOUR_API_KEY',
  baseURL: 'https://api.shannon-ai.com/messages'
});

const response = await client.messages.create({
  model: 'shannon-1.6-lite',
  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']
    }
  }]
});

console.log(response.content[0].text);
必須ヘッダー: Anthropic format requires anthropic-version: 2023-06-01.

CLI Coding Agents

NEW

Use Shannon as the AI backend for popular CLI coding agents. Read files, edit code, run tests — all powered by Shannon's API.

CLI 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 --bare
View Docs ->
CLI 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
View Docs ->

Claude Code

Anthropic's official CLI coding agent. Set two environment variables and launch with --bare to skip Anthropic account login.

Bash
# 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 --bare

# Or run a one-shot command
claude --bare -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.
Shell Config
# Alternative: set env vars permanently in your shell profile
# ~/.bashrc or ~/.zshrc

export ANTHROPIC_BASE_URL=https://api.shannon-ai.com
export ANTHROPIC_API_KEY=sk-YOUR_API_KEY

# Then just run:
claude --bare

# Supported features through Shannon:
# - Multi-turn conversations with full context
# - File reading and editing (tool use)
# - Shell command execution
# - Streaming responses
# - All Claude Code slash commands (/compact, /clear, etc.)

Codex CLI

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

Bash
# 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
Shell Config
# Alternative: set env vars permanently
# ~/.bashrc or ~/.zshrc

export OPENAI_BASE_URL=https://api.shannon-ai.com/v1
export OPENAI_API_KEY=sk-YOUR_API_KEY

# Then just run:
codex

# Supported features through Shannon:
# - Responses API with full tool use
# - Function calling (file read/write, shell exec)
# - Streaming with real-time output
# - Multi-turn conversations
# - All Codex approval modes (suggest, auto-edit, full-auto)
How It Works: Both tools send standard API requests (Anthropic Messages or OpenAI Responses) to Shannon. Shannon routes them through Gemini with full tool-use support. No Anthropic or OpenAI account needed — just your Shannon API key.

SDKs

互換

Use any OpenAI or Anthropic SDK - just change the base URL.

OpenAI-Compatible SDKs

SDK Python

Official OpenAI Python SDK - works with Shannon

pip install openai
View Docs ->
SDK JavaScript / TypeScript

Official OpenAI Node.js SDK - works with Shannon

npm install openai
View Docs ->
SDK Go

Community Go client for OpenAI-compatible APIs

go get github.com/sashabaranov/go-openai
View Docs ->
SDK Ruby

Community Ruby client for OpenAI-compatible APIs

gem install ruby-openai
View Docs ->
SDK PHP

Community PHP client for OpenAI-compatible APIs

composer require openai-php/client
View Docs ->
SDK Rust

Async Rust client for OpenAI-compatible APIs

cargo add async-openai
View Docs ->

Anthropic-Compatible SDKs

SDK Python (Anthropic)

Official Anthropic Python SDK - works with Shannon

pip install anthropic
View Docs ->
SDK TypeScript (Anthropic)

Official Anthropic TypeScript SDK - works with Shannon

npm install @anthropic-ai/sdk
View Docs ->

エラー処理

Shannon は標準的な HTTP ステータスコードを使用し、詳細なエラーメッセージを返します。

400 不正なリクエスト リクエスト形式またはパラメータが無効です
401 未認可 API キーが無効または欠落しています
402 クォータ超過 トークンまたは検索のクォータを超過しました
429 レート制限 リクエストが多すぎます。速度を落としてください
500 サーバーエラー 内部エラーです。後でもう一度お試しください

エラーレスポンス形式

エラーレスポンス
{
  "error": {
    "message": "Invalid API key provided",
    "type": "authentication_error",
    "code": "invalid_api_key"
  }
}

変更履歴

LOG

Recent updates and improvements to the Shannon API.

v2.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
  • Improved Anthropic streaming format fixes — proper content_block lifecycle, tool_use deltas, toolu_ prefixes
  • Improved Schema sanitization for Gemini — strips $schema, additionalProperties, $ref and other unsupported fields from tool schemas
v2.1.0
2025-01-03
  • 新規 Added shannon-coder-1 model for Claude Code CLI integration
  • 新規 Call-based quota system for Coder model
  • Improved Improved function calling reliability
v2.0.0
2024-12-15
  • 新規 Added Anthropic Messages API compatibility
  • 新規 Multi-turn tool execution (up to 10 iterations)
  • 新規 JSON Schema response format support
  • Improved Enhanced web search with better citations
v1.5.0
2024-11-20
  • 新規 Added shannon-deep-dapo model for complex reasoning
  • 新規 Built-in web_search function
  • Improved Reduced latency for streaming responses
v1.0.0
2024-10-01
  • 新規 Initial API release
  • 新規 OpenAI-compatible chat completions endpoint
  • 新規 Function calling support
  • 新規 Streaming via Server-Sent Events

あなたの API キー

Access
OpenAI 形式は Bearer、または X-API-Key + anthropic-version を使用します。
YOUR_API_KEY
APIキーを取得

API キーは秘密にしてください。再生成すると新しいキーが作成され、古いキーは無効になります。

バージョン: 1
最終ローテーション: なし
最終使用: なし

使用状況

ログイン後、このページでトークンと検索の消費量を確認できます。

-- API 呼び出し
-- 使用トークン

Shannon Coder(shannon-coder-1)

Shannon Coder (shannon-coder-1) の呼び出しベースのクォータ。4 時間ごとにリセットされます。

0 使用済み呼び出し
0 残りの呼び出し

構築の準備はできましたか?

Get your API key and start building with Shannon AI today.

APIキーを取得 料金を見る

人気の検索:

別のキーワードを試してください
移動: ↑ ↓ 選択: Enter 閉じる: Esc