メインコンテンツまでスキップ

クイックスタート

何もない状態からモデルの回答まで 3 ステップです。Base URL:https://api.oceantoken.ai/v1。

Claude Code を使っていますか?

Claude Code でこの 2 つのコマンドを入力して OceanToken プラグインをインストールし、/mcp を実行してサインインします。詳細。

/plugin marketplace add OceanTokenAI/oceantoken-plugins
/plugin install oceantoken@oceantoken

1. API キーを取得する​

サインアップしたら、コンソールで API Keys を開き、Create key を選びます。表示されたキーはすぐにコピーしてください。sk- で始まり、表示は一度だけです。

新しいアカウントには、登録時に $1 のスタータークレジットが付きます。有効期間は 14 日間で、カードの登録は不要なので、最初のリクエストをすぐに実行できます。モデル ID が :free で終わるモデルは残高が $0 でも呼び出せます。有料モデルには $0 を超える残高が必要で、もっと使いたいときにクレジットをチャージします。各ステップの詳細は個別のページにあります:アカウント作成、API キーの作成。

2. キーをシェルに設定する​

export OCEANTOKEN_API_KEY=sk-...

サンプルはこの環境変数からキーを読むので、キーがコードに残りません。Windows PowerShell の場合:$env:OCEANTOKEN_API_KEY = "sk-..."。

3. リクエストを送る​

# Chat completion with curl. Any OpenAI-compatible client works the same way:
# point it at the base URL and use your OceanToken key.
curl -sS "${OCEANTOKEN_BASE_URL:-https://api.oceantoken.ai/v1}/chat/completions" \
-H "Authorization: Bearer $OCEANTOKEN_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "deepseek/deepseek-v4.1-flash-1017",
"messages": [{"role": "user", "content": "Say hello in one short sentence."}]
}'

返ってくるのは標準の chat completion オブジェクトです。回答は choices[0].message.content に、課金対象のトークン数は usage に入っています。リクエストはコンソールの Logs に料金付きで表示されます。

連携に必要なのはこれだけです。API は OpenAI 互換なので、どの OpenAI SDK やツールも Base URL とキーを設定すれば動きます。model には モデル ページの名前を指定します。Claude を含むすべてのチャットモデルは Anthropic Messages API にも対応しています。Anthropic SDK は /v1 を自動で付けるので、https://api.oceantoken.ai を指定します(下記)。

このページのサンプルはすべて、公開前にサービスに対して実際に実行しているファイルです。OCEANTOKEN_API_KEY を設定すればそのまま動きます。

回答をストリーミングする​

人が結果を待っている場面では、ストリーミングを使います。トークンは生成されるそばから届き、長い回答でも 制限 にあるリクエストのタイムアウトにかかりません。

# Streaming: tokens arrive as they are generated. Use this for anything a person
# is waiting on, and for long answers, which would otherwise hit the request timeout.
import os
from openai import OpenAI

client = OpenAI(
base_url=os.getenv("OCEANTOKEN_BASE_URL", "https://api.oceantoken.ai/v1"),
api_key=os.environ["OCEANTOKEN_API_KEY"],
)

with client.chat.completions.create(
model="deepseek/deepseek-v4.1-flash-1017",
messages=[{"role": "user", "content": "Count from one to five, one number per line."}],
stream=True,
) as stream:
for chunk in stream:
delta = chunk.choices[0].delta.content if chunk.choices else None
if delta:
print(delta, end="", flush=True)
print()

Anthropic SDK で Claude を使う​

# pip install anthropic
# Claude models are served on /v1/messages. The Anthropic SDK works unchanged:
# give it the OceanToken host and your OceanToken key. It adds /v1 itself, so it
# takes the base URL without the /v1 that OpenAI SDKs need.
import os
import anthropic

client = anthropic.Anthropic(
base_url=os.getenv("OCEANTOKEN_BASE_URL", "https://api.oceantoken.ai/v1").removesuffix("/v1"),
api_key=os.environ["OCEANTOKEN_API_KEY"],
)

message = client.messages.create(
model="anthropic/claude-haiku-4.5",
max_tokens=64,
messages=[{"role": "user", "content": "Say hello in one short sentence."}],
)
print(message.content[0].text)

同じコードは deepseek/deepseek-v4.1-flash-1017 など他のチャットモデルでも動きます。model を変えるだけです。

呼び出せるモデルを確認する​

# The models your key can call, in the standard list format.
curl -sS "${OCEANTOKEN_BASE_URL:-https://api.oceantoken.ai/v1}/models" \
-H "Authorization: Bearer $OCEANTOKEN_API_KEY"

一覧はキーに応じて変わります。アカウントで使えるモデルが限られている場合は、そのモデルだけが表示されます。すべてのモデルは モデル ページに、料金は oceantoken.ai の各モデルページにあります。

次へ​