API リファレンスドキュメント

Sanki API は OpenAI と Anthropic の2つのプロトコル形式をサポートしています。ニーズに合わせて適切な接続方法を選択してください。

クイックスタート

わずか3ステップで Sanki API に接続:

アカウント登録
Sanki プラットフォームで登録・ログイン
API キーを取得
コンソールの API Keys ページでキーを作成
リクエストを送信
プロトコル形式を選択して呼び出し開始

Base URLs

Sanki は2つのプロトコルアクセス方法を提供しています。クライアントに応じて適切な Base URL と認証方法を選択してください:

OpenAI 互換
https://api.sanki.ink/v1

対応 SDK:openai (Python/Node/Go)

認証方式:Authorization: Bearer <key>

メインエンドポイント:/v1/chat/completions

Anthropic 互換
https://api.sanki.ink/v1

対応 SDK:@anthropic-ai/sdk / Claude Code

認証方式:x-api-key: <key>

メインエンドポイント:/v1/messages

Base URL クライアント早見表

クライアントによって base_url の扱い方が異なります:完全なプレフィックスとして使用するものもあれば、自動的に /v1 を追加するものもあります。誤った設定は /v1/v1/messages のような二重プレフィックスエラーを引き起こします。

クライアントBase URL の指定説明
OpenAI Python/Node SDKhttps://api.sanki.ink/v1SDK は base_url を完全なプレフィックスとして扱うため、/v1 が必要
Anthropic Python/Node SDKhttps://api.sanki.ink/v1同上、/v1 が必要
Claude Code (ANTHROPIC_BASE_URL)https://api.sanki.ink/v1/v1 なし;Claude Code が自動的に /v1/messages を追加
Hermes Agent (custom_providers)https://api.sanki.ink/v1 なし;Hermes が自動的に /v1/messages を追加
curlhttps://api.sanki.ink/v1/chat/completions完全な URL、/v1 と特定のエンドポイントを含む

1分間体験

curl (OpenAI)
curl -X POST "https://api.sanki.ink/v1/chat/completions" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "MiniMax-M3",
    "messages": [
      {"role": "user", "content": "Hello, Sanki!"}
    ]
  }'
curl (Anthropic)
curl -X POST "https://api.sanki.ink/v1/messages" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "deepseek-v4-pro",
    "max_tokens": 1024,
    "messages": [
      {"role": "user", "content": "Hello, Sanki!"}
    ]
  }'

認証

プロトコルに応じて異なる認証ヘッダーを使用します。API Key はコンソールの API Keys ページで作成・管理してください。

API キー形式仕様

現在のプラットフォームでは sk- で始まる64文字の API キー(プレフィックス sk- + 61文字の base62 ランダム文字列)を使用しています:

text
sk-yt1zAiMnFWCH3OwAfwXZEMGRnIgLq1mxkxxUSlDaHgq3jOGTlSJUc6TPUuMzo
└sk─── 61 char base62 (A-Z a-z 0-9) ───────────────────────┘

⚠ セキュリティ注意:完全なキーは作成時に一度だけ表示され、パネルを閉じると再表示できません。作成後すぐにコピーするか .txt バックアップをダウンロードしてください。一覧には識別用の先頭12文字のプレフィックス(例:sk-yt1zAiMnF)のみが表示され、認証には使用できません。

⛔ 旧キー廃止:過去の sk-sanki-* 形式(35文字)の旧キーはすべて強制失効されました。新しい sk- で始まるキーを再生成してください。

OpenAI プロトコル認証

http
Authorization: Bearer YOUR_API_KEY

/v1/chat/completions、/v1/models などの OpenAI 互換エンドポイントに適用されます。

Anthropic プロトコル認証

http
x-api-key: YOUR_API_KEY
anthropic-version: 2023-06-01
重要:/v1/messages エンドポイントは x-api-key ヘッダーを使用する必要があり、Authorization: Bearer はサポートされていません。これは Anthropic 公式 API の動作と一致しており、公式 SDK / Claude Code / Hermes(anthropic モード)はデフォルトで x-api-key を使用するため、追加設定は不要です。401 missing x-api-key header が表示された場合は、Bearer ヘッダーを誤って使用していないか確認してください。

Chat Completions (OpenAI)

標準の OpenAI 互換 Chat Completions エンドポイント。会話メッセージリストを与えると、モデルが応答を返します。

POST/v1/chat/completions

リクエストパラメータ

パラメータタイプ必須説明
modelstringはいモデル ID、例:gpt-4o、claude-sonnet-4-6、gemini-2.5-pro
messagesarrayはいメッセージリスト、各メッセージに role(system/user/assistant/tool)と content を含む
temperaturenumberいいえサンプリング温度 0-2、デフォルト 1。高いほどランダム性が増します。
top_pnumberいいえニュークリアスサンプリングパラメータ 0-1、デフォルト 1
max_tokensintegerいいえ生成する最大トークン数
streambooleanいいえSSE ストリーミングレスポンスを有効にするかどうか、デフォルト false
toolsarrayいいえ関数呼び出しツール定義リスト

リクエスト例

curl
curl -X POST "https://api.sanki.ink/v1/chat/completions" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "MiniMax-M3",
    "messages": [
      {"role": "system", "content": "你是专业的 AI 助手"},
      {"role": "user", "content": "解释量子计算"}
    ],
    "temperature": 0.7,
    "max_tokens": 1024
  }'
python
from openai import OpenAI

client = OpenAI(
    base_url="https://api.sanki.ink/v1",
    api_key="YOUR_API_KEY"
)

response = client.chat.completions.create(
    model="gpt-4o",
    messages=[
        {"role": "user", "content": "Hello!"}
    ]
)

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

レスポンス形式

json
{
  "id": "chatcmpl-abc123",
  "object": "chat.completion",
  "created": 1700000000,
  "model": "MiniMax-M3",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Hello! How can I help you today?"
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 10,
    "completion_tokens": 9,
    "total_tokens": 19
  }
}

Messages (Anthropic)

Anthropic Messages API 互換エンドポイント。/v1/messages を介して Claude Code などのツールとの直接統合をサポートします。

POST/v1/messages

リクエストパラメータ

パラメータタイプ必須説明
modelstringはいモデル ID、例:gpt-4o、claude-sonnet-4-6、gemini-2.5-pro
messagesarrayはいメッセージリスト、各メッセージに role(user/assistant)と content を含む
max_tokensintegerはい生成する最大トークン数
systemstring | arrayいいえシステムプロンプト、文字列またはコンテンツブロック配列が可能
temperaturenumberいいえサンプリング温度 0-1、デフォルト 1
top_pnumberいいえニュークリアスサンプリングパラメータ 0-1、デフォルト 1
toolsarrayいいえ関数呼び出しツール定義リスト

リクエスト例

curl
curl -X POST "https://api.sanki.ink/v1/messages" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "deepseek-v4-pro",
    "max_tokens": 1024,
    "system": "你是专业的 AI 助手",
    "messages": [
      {"role": "user", "content": "解释量子计算"}
    ]
  }'
python
from anthropic import Anthropic

client = Anthropic(
    base_url="https://api.sanki.ink/v1",
    api_key="YOUR_API_KEY"
)

response = client.messages.create(
    model="claude-sonnet-4-6",
    max_tokens=1024,
    system="你是专业的 AI 助手",
    messages=[
        {"role": "user", "content": "Hello!"}
    ]
)

print(response.content[0].text)

レスポンス形式

json
{
  "id": "msg_abc123",
  "type": "message",
  "role": "assistant",
  "model": "deepseek-v4-pro",
  "content": [
    {
      "type": "text",
      "text": "Hello! How can I help you today?"
    }
  ],
  "usage": {
    "input_tokens": 10,
    "output_tokens": 9
  }
}

Responses API

OpenAI Responses API 兼容端点,支持字符串和数组两种 input 格式。

POST/v1/responses

リクエスト例

curl
curl -X POST "https://api.sanki.ink/v1/responses" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-4o",
    "input": "解释量子计算的基本原理",
    "max_output_tokens": 1024
  }'

画像生成

支持 DALL·E、Wan 等图片生成模型,返回生成图片的 URL。

POST/v1/images/generations

リクエスト例

curl
curl -X POST "https://api.sanki.ink/v1/images/generations" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "doubao-seedream-4-0-250828",
    "prompt": "a cat sitting on a cloud",
    "n": 1,
    "size": "1024x1024"
  }'

レスポンス形式

json
{
  "created": 1720000000,
  "data": [
    {
      "url": "https://...",
      "revised_prompt": "A detailed illustration of..."
    }
  ]
}

動画生成

支持 Kling、Wan 等视频生成模型。视频生成是异步任务,提交后返回 task_id,通过查询接口获取结果。

POST/v1/videos/generations

リクエスト例

curl
curl -X POST "https://api.sanki.ink/v1/videos/generations" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "kling-v1",
    "prompt": "a sunset over the ocean with waves",
    "duration": 5,
    "size": "1920x1080"
  }'
json
{
  "task_id": "task_abc123",
  "status": "processing",
  "message": "Video generation started"
}
GET/v1/videos/:task_id

查询视频任务状态和结果。

curl
curl "https://api.sanki.ink/v1/videos/task_abc123" \
  -H "Authorization: Bearer YOUR_API_KEY"
json
{
  "task_id": "task_abc123",
  "status": "completed",
  "video_url": "https://...",
  "duration": 5,
  "size": "1920x1080"
}

ストリーミング (SSE)

両方のプロトコルが Server-Sent Events (SSE) ストリーミングをサポートしています。対応するパラメータを設定して有効にします:

OpenAI ストリーミング

stream: true を設定すると、data: プレフィックスの SSE イベントが返されます。

curl
curl -X POST "https://api.sanki.ink/v1/chat/completions" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "MiniMax-M3",
    "messages": [{"role": "user", "content": "讲个故事"}],
    "stream": true
  }'
data: {"choices":[{"delta":{"content":"从"}}]}
data: {"choices":[{"delta":{"content":"前"}}]}
data: {"choices":[{"delta":{},"finish_reason":"stop"}]}
data: [DONE]

モデル一覧

GET/v1/models

利用可能なすべてのモデルとその情報を一覧表示します。認証ヘッダーが必要です。

curl (OpenAI)
curl "https://api.sanki.ink/v1/models" \
  -H "Authorization: Bearer YOUR_API_KEY"

エラーコード

パラメータタイプ必須説明
400Bad RequestいいえBad Request — 必須フィールドの不足または形式が正しくありません
401UnauthorizedいいえUnauthorized — API キーが無効または期限切れです
402Payment RequiredいいえPayment Required — 残高不足です。チャージして再試行してください
403ForbiddenいいえForbidden — このリソースにアクセスする権限がありません
404Not FoundいいえNot Found — リソースが存在しません
429Too Many RequestsいいえToo Many Requests — レート制限を超えました。しばらくしてから再試行してください
500Internal Server ErrorいいえInternal Server Error — しばらくしてから再試行するか、サポートにお問い合わせください
503Service UnavailableいいえService Unavailable — 上流モデルが過負荷の可能性があります

エラーレスポンス例

json
{
  "error": {
    "type": "insufficient_quota",
    "message": "余额不足,当前余额 ¥0.50,本次调用需要 ¥0.15",
    "code": 402
  }
}

レート制限

プラットフォームの安定性を確保するため、Sanki API はレート制限を実施しています。制限を超えると 429 ステータスコードが返されます。

無料プラン
10 RPM
10,000 TPM
ベーシックプラン
60 RPM
100,000 TPM
プロプラン
300 RPM
1,000,000 TPM

RPM = 1分あたりのリクエスト数、TPM = 1分あたりのトークン数。プランをアップグレードするとより高い制限が得られます。

SDK

Sanki API は OpenAI / Anthropic 公式 SDK と完全互換です。base_url を変更するだけで接続できます。

Python (OpenAI SDK)

bash
pip install openai
python
from openai import OpenAI

client = OpenAI(
    base_url="https://api.sanki.ink/v1",
    api_key="YOUR_API_KEY"
)

response = client.chat.completions.create(
    model="gpt-4o",
    messages=[{"role": "user", "content": "Hello!"}]
)

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

Node.js (OpenAI SDK)

bash
npm install openai
javascript
import OpenAI from 'openai';

const client = new OpenAI({
  baseURL: 'https://api.sanki.ink/v1',
  apiKey: 'YOUR_API_KEY',
});

const response = await client.chat.completions.create({
  model: 'gpt-4o',
  messages: [{ role: 'user', content: 'Hello!' }],
});

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

Python (Anthropic SDK)

bash
pip install anthropic
python
from anthropic import Anthropic

client = Anthropic(
    base_url="https://api.sanki.ink/v1",
    api_key="YOUR_API_KEY"
)

response = client.messages.create(
    model="claude-sonnet-4-6",
    max_tokens=1024,
    messages=[{"role": "user", "content": "Hello!"}]
)

print(response.content[0].text)

Claude Code 設定

Claude Code で Sanki を使用するには、環境変数を Sanki API に向けて設定します:

bash
export ANTHROPIC_BASE_URL="https://api.sanki.ink/v1"
export ANTHROPIC_API_KEY="YOUR_SANKI_API_KEY"

変更履歴

v2.62026-07
  • 新增图片生成 API (/v1/images/generations)
  • 新增视频生成 API (/v1/videos/generations)
  • 新增 Responses API (/v1/responses)
  • 新增计量规则体系(8 维 token + 图片/视频)
  • 销售价设置:支持按维度独立加价
  • 计量计价全链路优化
v2.52026-06
  • 生产环境深度优化
  • 断路器机制完善
  • 协议框架零转换原则落地
  • 新增 Gemini 协议入口
v2.22026-06-06
  • API キーを64文字にアップグレード(sk- + 61文字 base62)
  • base_url の二重 /v1 連結問題を修正、クライアント早見表を追加
  • ユーザーセンター API キーパネル:表示/非表示切替、複数回コピー、.txt バックアップダウンロード
  • 過去の sk-sanki-* 35文字キーは強制失効
v2.12026-06
  • Anthropic Messages API インバウンドエンドポイント /v1/messages を追加
  • Claude Code 直接統合サポート
  • マルチプロトコル API ドキュメントを更新
v2.02026-05
  • 新しい統合 API ゲートウェイをリリース
  • OpenAI 互換プロトコルサポート
  • モデル広場と人気ランキングを追加
  • 三言語国際化サポートを改善
v1.02025-12
  • プラットフォーム正式リリース
  • 基本的な Chat Completions エンドポイント
  • API キー管理と利用統計

まだ質問がありますか?コンソールにアクセスして API キーを取得するか、モデル広場で利用可能なモデルを確認してください。

客服
サポート