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 形式
  • 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.

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.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