クイックスタート
アカウント登録、チャージ、API キーの発行の 3 つの手順と、最初の API 呼び出しを説明します。
このページの手順で、アカウント登録から最初の API 呼び出しまで進めます。手順は、登録・チャージ・キーの発行の 3 つです。
登録は無料ですが、API を呼び出すには残高が必要です(チャージは 1,000 円から)。登録特典:[ ]
使い方を選ぶ
| 使い方 | 接続先 URL | 読むところ |
|---|---|---|
| OpenAI の SDK | https://token.echohub.io/v1 | このページ |
| Anthropic の SDK | https://token.echohub.io(/v1 は付けません) | このページ |
| Claude Code | https://token.echohub.io(/v1 は付けません) | Claude Code |
| Codex CLI | https://token.echohub.io/v1 | Codex CLI |
| Cursor・Cline・Dify など、OpenAI 形式に対応したツール | https://token.echohub.io/v1 | Cursor、Cline、Dify |
| 今ある SDK のコードを Echo に切り替える | 各 SDK と同じ | このページの「今のコードを切り替える」 |
どちらの形式でも、同じ API キーを使います。そのほかの SDK やツールの接続先は、API リファレンスの「SDK とツールごとの接続先」にあります。
1. アカウントを作る
アカウントは、会員サイト Echo AI Hub と共通です。メールアドレス、Google、GitHub のいずれかで登録できます。
- コンソール(https://token.echohub.io/console )を開くと、Echo AI Hub のログイン画面に移動します
- Echo AI Hub の画面で、新規登録またはログインをします。アカウントは両サイトで共通です
- 登録やログインが終わると、Echo Token Station のコンソール(API キーの発行や利用状況の確認を行う管理画面)に戻ります
登録の直後は、コンソールに「API の利用を準備しています」と表示されます。準備ができると、画面は自動で切り替わります。
2. チャージする
オンラインのチャージ(クレジットカード)は準備中です。準備が整うまでは、Echo の担当者が残高を付与します。お問い合わせから、登録したメールアドレスを添えてご連絡ください。準備が整ったあとの手順は次のとおりです。
- コンソールのメニューで「残高とチャージ」を開き、「チャージする」を押します
- 金額を選んで「お支払いへ進む」を押すと、Stripe のお支払い画面に移動します。クレジットカードで支払います
- 支払いが終わると、コンソールの「残高とチャージ」に戻ります。残高に反映されるまで、数秒から 1 分ほどかかることがあります。反映されると、画面は自動で更新されます
金額、有効期限、使う順番は料金とチャージにあります。
3. API キーを発行する
- コンソールのメニューで「APIキー」を開き、「キーを発行」を押します
- 「名前」に、用途が分かる名前を入れます(例:本番サーバー)。使える金額を制限する場合は、「利用上限(円)」も入れます
- 「発行する」を押すと、キーが表示されます。「キーをコピー」を押して保管します。キーは
sk-で始まる文字列です
キーを発行した画面には、そのキーを入れた最初の呼び出しのコードも表示されます。
注意:キーは他の人に見せないでください。公開するリポジトリや、ブラウザで動くコードにも書かないでください。漏れた場合は、コンソールでそのキーを停止します。
最初の呼び出し
キーを環境変数に入れる
環境変数は、パソコンやサーバーに設定しておく名前付きの値です。キーをコードに直接書かずに済みます。このドキュメントでは ECHO_API_KEY という名前を使います。
# macOS・Linux
export ECHO_API_KEY="sk-..."# Windows(PowerShell)
$env:ECHO_API_KEY = "sk-..."SDK を入れて呼び出す
下のタブで言語と SDK を選びます。選んだタブは、このドキュメントのほかのページにも引き継がれます。モデル ID(呼び出すモデルを指定する文字列)は例です。OpenAI 形式の例では deepseek-flash、Anthropic 形式の例では claude-sonnet-5 を使っています。使えるモデルの ID はモデル一覧で確認できます。
OpenAI 形式で呼び出します。
curl "https://token.echohub.io/v1/chat/completions" \
-H "Authorization: Bearer $ECHO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "deepseek-flash",
"messages": [
{"role": "user", "content": "日本の首都はどこですか?"}
]
}'# 仮想環境を作って有効にする
python3 -m venv .venv && source .venv/bin/activate
pip install openaiimport os
from openai import OpenAI
client = OpenAI(
base_url="https://token.echohub.io/v1",
api_key=os.environ["ECHO_API_KEY"],
)
completion = client.chat.completions.create(
model="deepseek-flash",
messages=[{"role": "user", "content": "日本の首都はどこですか?"}],
)
print(completion.choices[0].message.content)npm install openaiimport OpenAI from "openai";
const client = new OpenAI({
baseURL: "https://token.echohub.io/v1",
apiKey: process.env.ECHO_API_KEY,
});
const completion = await client.chat.completions.create({
model: "deepseek-flash",
messages: [{ role: "user", content: "日本の首都はどこですか?" }],
});
console.log(completion.choices[0].message.content);index.ts として保存し、npx tsx index.ts で実行します。
# 仮想環境を作って有効にする
python3 -m venv .venv && source .venv/bin/activate
pip install anthropicimport os
import anthropic
client = anthropic.Anthropic(
base_url="https://token.echohub.io",
api_key=os.environ["ECHO_API_KEY"],
)
message = client.messages.create(
model="deepseek-flash",
max_tokens=1024,
messages=[{"role": "user", "content": "日本の首都はどこですか?"}],
)
print("".join(b.text for b in message.content if b.type == "text"))Anthropic の SDK は、接続先の後ろに /v1/messages を自動で付けます。base_url には /v1 を付けません。
DeepSeek のように考えてから答えるモデルは、回答の前に考えた内容(type が thinking のブロック)を返します。回答の文は type が text のブロックにあります。
npm install @anthropic-ai/sdkimport Anthropic from "@anthropic-ai/sdk";
const client = new Anthropic({
baseURL: "https://token.echohub.io",
apiKey: process.env.ECHO_API_KEY,
});
const message = await client.messages.create({
model: "deepseek-flash",
max_tokens: 1024,
messages: [{ role: "user", content: "日本の首都はどこですか?" }],
});
for (const block of message.content) {
if (block.type === "text") console.log(block.text);
}Anthropic の SDK は、接続先の後ろに /v1/messages を自動で付けます。baseURL には /v1 を付けません。index.ts として保存し、npx tsx index.ts で実行します。
成功したときの応答
回答の文章が表示されれば成功です。curl の場合は、次のような JSON が返ります(ID、時刻、トークン数は例です)。
{
"id": "chatcmpl-...",
"object": "chat.completion",
"created": 1790000000,
"model": "deepseek-flash",
"choices": [
{
"index": 0,
"message": {"role": "assistant", "content": "日本の首都は東京です。"},
"finish_reason": "stop"
}
],
"usage": {"prompt_tokens": 16, "completion_tokens": 9, "total_tokens": 25}
}コンソールの「呼び出し履歴」に、この呼び出しの日時、モデル、トークン数、金額が表示されます。反映まで数秒かかることがあります。
エラーになった場合は、HTTP ステータスとエラー本文をエラーと対処で確認してください。キーが正しいのに 401 になる場合は、接続先 URL の /v1 を確認します。
今のコードを切り替える
OpenAI や Anthropic の SDK を使っているコードは、接続先 URL、API キー、モデル ID の 3 か所を変えます。
| 変える箇所 | OpenAI の SDK | Anthropic の SDK |
|---|---|---|
| 接続先 URL | base_url(TypeScript は baseURL)に https://token.echohub.io/v1 | base_url(TypeScript は baseURL)に https://token.echohub.io |
| API キー | Echo の API キー | Echo の API キー |
| モデル ID | Echo のモデル ID | Echo のモデル ID |
Python の OpenAI SDK の場合の変更点です。
client = OpenAI(
- api_key=os.environ["OPENAI_API_KEY"],
+ base_url="https://token.echohub.io/v1",
+ api_key=os.environ["ECHO_API_KEY"],
)コードを変えずに環境変数で切り替えることもできます。OpenAI の SDK は OPENAI_BASE_URL と OPENAI_API_KEY、Anthropic の SDK は ANTHROPIC_BASE_URL と ANTHROPIC_API_KEY を読みます。
# OpenAI の SDK
export OPENAI_BASE_URL="https://token.echohub.io/v1"
export OPENAI_API_KEY="$ECHO_API_KEY"
# Anthropic の SDK
export ANTHROPIC_BASE_URL="https://token.echohub.io"
export ANTHROPIC_API_KEY="$ECHO_API_KEY"AI コーディングツールで始める
Claude Code や Cursor などに設定を任せる場合は、次の文章をそのまま渡します。
Echo Token Station の API を使うように、このプロジェクトを設定してください。
- OpenAI 形式の接続先:https://token.echohub.io/v1
- Anthropic 形式の接続先:https://token.echohub.io(Anthropic の SDK が /v1/messages を付けます。@ai-sdk/anthropic を使う場合だけは https://token.echohub.io/v1 を指定します)
- API キーは環境変数 ECHO_API_KEY から読み込みます。コードやリポジトリにキーを書かないでください
- 使うモデル ID:deepseek-flash(例。使えるモデルは https://token.echohub.io/models で確認できます)
- ドキュメントの一覧:https://token.echohub.io/llms.txt次に読むページ
| ページ | 内容 |
|---|---|
| ツール別の設定 | Claude Code、Codex CLI、Cursor、Cline、Dify、LangChain |
| API キーと利用状況 | キーの表示・停止・削除、利用上限、利用状況と呼び出し履歴の見方 |
| API リファレンス | エンドポイント、ストリーミング、主なパラメータ |
| エラーと対処 | エラー本文の形式と、状況ごとの対処 |
確認した情報源
| 内容 | 情報源 | 確認日 |
|---|---|---|
接続先 URL と /v1 の有無、/v1 がないときの 404(2026-10-11 に確認し直しました)、各 SDK での呼び出し(OpenAI SDK:Python 2.54.0・Node.js 7.23.0、Anthropic SDK:Python 1.8.0・Node.js 0.128.0) | Echo の検証環境での実測。本番と同じ中継設定で、経由先の API の代わりに試験用の応答を返すサーバーを使いました | 2026-09-27 |
OpenAI SDK の base_url・baseURL、環境変数 OPENAI_BASE_URL・OPENAI_API_KEY | https://github.com/openai/openai-python 、https://github.com/openai/openai-node | 2026-09-27 |
Anthropic SDK の base_url・baseURL、/v1/messages を付けること、環境変数 ANTHROPIC_BASE_URL・ANTHROPIC_API_KEY | https://github.com/anthropics/anthropic-sdk-python 、https://github.com/anthropics/anthropic-sdk-typescript | 2026-09-27 |
@ai-sdk/anthropic の接続先に /v1 が必要なこと | Echo の検証環境での実測 | 2026-09-27 |
| 登録・キーの発行の流れ、画面の項目名、残高反映の遅れ、登録直後の「API の利用を準備しています」 | Echo Token Station のコンソール(2026-09-28 時点の画面) | 2026-09-28 |
| チャージの流れ(金額を選ぶ画面、Stripe のお支払い画面への移動、支払い後に戻るページ) | Echo の検証環境での実測。会員サイト Echo AI Hub と Stripe の代わりに試験用のサーバーを使いました | 2026-10-01 |