Drop-in Replacement
CompatibleMiasa amin'ny OpenAI sy Anthropic SDKs. Ovay fotsiny ny base URL.
Mitovy lanja ny fiteny rehetra. Safidio izay tianao hampiasaina.
API AI mifanaraka amin'ny OpenAI sy Anthropic miaraka amin'ny function calling, web search, ary structured outputs.
Ny zavatra rehetra ilainao hanombohana amin'ny API mifanaraka amin'ny OpenAI sy Anthropic an'i Shannon.
https://api.shannon-ai.com/v1/chat/completions Ampiasao ny Chat Completions API miaraka amin'ny function calling sy streaming.
https://api.shannon-ai.com/v1/messages Claude Messages format miaraka amin'ny tools sy anthropic-version header.
Authorization: Bearer <api-key> Na X-API-Key miaraka amin'ny anthropic-version ho an'ny Claude style calls.
Antontan-taratasy ho an'ny rehetra - mila key raha te hiantso Streaming, function calling, structured outputs, web search.
Drop-in replacement ho an'ny OpenAI sy Anthropic APIs; manohana tools, structured outputs, ary built-in web search.
Miasa amin'ny OpenAI sy Anthropic SDKs. Ovay fotsiny ny base URL.
Farito ny tools, avelao i Shannon hiantso azy. Manohana auto, forced, none.
Web search amin'ny fotoana tena izy miaraka amin'ny citations. Azo ampiasaina ho azy.
JSON mode sy JSON Schema enforcement ho an'ny famoahana data azo itokisana.
Automatic function execution loops. Hatrany amin'ny 10 iterations isaky ny request.
Server-sent events ho an'ny real-time token streaming.
Manomboka amin'ny dingana 3. Shannon dia manahaka ny OpenAI sy Anthropic clients.
Ampiasao ny OpenAI-compatible endpoint.
https://api.shannon-ai.com/v1/chat/completions Ampiasao Bearer auth ao amin'ny Authorization header.
Safidio ny fiteny ary ovao ny key-nao.
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) 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); 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 -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
}
} Andramo mivantana ao amin'ny navigateur ny Shannon API. Mamoròna ny fangatahana, alefaso, ary jereo avy hatrany ny valiny.
Switch across OpenAI Chat Completions, Responses, and Anthropic Messages without leaving the playground.
Run real requests, inspect raw JSON, and view stream events from the same operator console.
Signed-in users can pull their Shannon API key straight into the dedicated playground workspace.
/mg/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.
Ny API requests rehetra dia mila fanamarinana amin'ny Shannon API key.
Authorization: Bearer YOUR_API_KEY X-API-Key: YOUR_API_KEY
anthropic-version: 2023-06-01 Shannon dia manolotra modely maromaro voaomana ho an'ny fampiasana isan-karazany.
shannon-1.6-lite Shannon 1.6 Lite Valiny haingana sy mahomby ho an'ny asa andavanandro
shannon-1.6-pro Shannon 1.6 Pro Reasoning mandroso ho an'ny olana sarotra
shannon-2-lite Shannon 2 Lite
shannon-2-pro Shannon 2 Pro
shannon-coder-1 Shannon Coder Nampifanarahana ho an'ny Claude Code CLI miaraka amin'ny call-based quota
Farito ireo tools azon'i Shannon antsoina hanao asa na haka vaovao.
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}") 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" Ny modely no manapa-kevitra raha hiantso function (default) "none" Atsaharo ny function calling ho an'ity request ity {"type": "function", "function": {"name": "..."}} Terena ny function call manokana {
"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"
}
]
} Ampirisihina i Shannon hamerina JSON marina mifanaraka amin'ny schema-nao.
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"} 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"} Terena valid JSON output (tsy misy schema manokana) {"type": "json_schema", "json_schema": {...}} Terena output mifanaraka amin'ny schema-nao Alefaso ny real-time token streaming amin'ny alalan'ny Server-Sent Events ho an'ny UI mamaly haingana.
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) 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);
} Shannon dia manana web_search function azo ampiasaina ho azy.
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 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 Shannon dia manohana ny Anthropic Messages API format ihany koa.
https://api.shannon-ai.com/v1/messages 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) 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); Ampiasao OpenAI na Anthropic SDK rehetra — ovay fotsiny ny base URL.
Official OpenAI Python SDK — miasa miaraka amin'i Shannon
pip install openai Official OpenAI Node.js SDK — miasa miaraka amin'i Shannon
npm install openai Community Go client ho an'ny OpenAI-compatible APIs
go get github.com/sashabaranov/go-openai Community Ruby client ho an'ny OpenAI-compatible APIs
gem install ruby-openai Community PHP client ho an'ny OpenAI-compatible APIs
composer require openai-php/client Async Rust client ho an'ny OpenAI-compatible APIs
cargo add async-openai Official Anthropic Python SDK — miasa miaraka amin'i Shannon
pip install anthropic Official Anthropic TypeScript SDK — miasa miaraka amin'i Shannon
npm install @anthropic-ai/sdk Shannon dia mampiasa HTTP status codes mahazatra ary mamerina hafatra hadisoana amin'ny antsipiriany.
{
"error": {
"message": "Invalid API key provided",
"type": "authentication_error",
"code": "invalid_api_key"
}
} Fanavaozana sy fanatsarana farany ao amin'ny Shannon API.
YOUR_API_KEY Tehirizo ho tsiambaratelo ny API key-nao. Regenerate dia mamorona key vaovao ary manafoana ny taloha.
Rehefa miditra ianao dia afaka mahita token sy search usage eto amin'ity pejy ity.
Call-based quota ho an'ny Shannon Coder (shannon-coder-1). Miverina isaky ny 4 ora.
Makà API key ary manomboha manangana amin'ny Shannon AI androany.
Fikarohana malaza: