はじめにガイド
DeepSeek API キー: どこに何を貼るか、そして最初の呼び出し
DeepSeek API キーとは何か、すべてのツールが求める 3 つの値(キー、ベース URL、モデル ID)、そして curl と Python での最初の動作するリクエスト。

DeepSeek API キーは、リクエストを送信しているのが誰かを API に伝える秘密の文字列です。ただし、ツールが必要とするのはキー単体ではありません。キー、ベース URL、モデル ID の 3 つの値をまとめて必要とします。この 3 つを設定すれば、最初の呼び出しは成功します。
おそらくこのページにたどり着いたのは、スクリプト、エディタのプラグイン、n8n ノードなど、何かのフォームが「あなたの DeepSeek API キー」を求めているからでしょう。問題ありません。各フィールドが何を求めているかを確認し、それから実際に 1 回リクエストを送ってみましょう。
API キーとは、結局何なのか?#
ホテルのキーカードを思い浮かべてください。カードにはあなたが誰かという言葉は書かれていません。ただあなたの部屋のドアを開け、フロントがあなたの部屋に請求するだけです。API キーも同じ役割を果たします。サーバーはリクエスト内のキーを見て、どのアカウントに請求するかを把握し、呼び出しを通します。カードを失えば、誰でも入ってあなたの部屋に請求できてしまいます。だからこそ、キーはコードやチャットの外に保管します。(詳しい話は What is an API key and how to store it safely にあります。)
DeepSeek 自身の API ドキュメント(2026 年 11 月 4 日時点)も同じ習慣を示しています。サンプルを実行する前にキーを環境変数 DEEPSEEK_API_KEY に入れ、API は OpenAI 形式に従うため、api_key と base_url を変更すれば OpenAI SDK がそのまま動作します。これがすべてのコツであり、キーが単独で使われることがない理由です。
フラッシュカード
すべてのツールが求める 3 つの値
カードをタップしてめくる
よくつまずくポイントが 1 つあります。キーはそれを発行したサービスに属します。CheapTokens のキーは CheapTokens のアドレスと組み合わせ、モデル ID は CheapTokens が一覧に載せているものを使用します。ある場所のキーを別の場所のアドレスと混ぜると、応答ではなく認可エラーが返ります。

キーを環境変数に入れる#
CheapTokens アカウントでキーを作成し(手順は docs にあります)、リクエストが引き出せるよう残高を補充しておきます。そしてキーをファイルに貼り付けるのではなく、変数に保存します。
macOS または Linux:
export CHEAPTOKENS_API_KEY='paste-your-key-here'Windows PowerShell(現在のウィンドウのみ):
$env:CHEAPTOKENS_API_KEY = 'paste-your-key-here'paste- の部分はプレースホルダーです。実際のキーは自分のターミナルでそこに入れ、他のどこにも置かないでください。ハードコードされたキーより優れている理由と、漏洩した場合の対処法は Store an API key safely: env variable, .gitignore, leak fix にあります。
最初のリクエスト#
動作を確認したいだけなら、モデルに API キーを 1 文で説明するよう頼んでみましょう。同じリクエストを 2 通りで示します。使うタブを選んでください。
deepseek-ai/DeepSeek-V4-Flash-0731 への最初のリクエスト
curl
curl https://api.cheaptokens.dev/v1/chat/completions \
-H "Authorization: Bearer $CHEAPTOKENS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "deepseek-ai/DeepSeek-V4-Flash-0731",
"messages": [{"role": "user", "content": "Explain an API key in one sentence."}],
"max_tokens": 200
}'Python
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ['CHEAPTOKENS_API_KEY'],
base_url='https://api.cheaptokens.dev/v1',
)
resp = client.chat.completions.create(
model='deepseek-ai/DeepSeek-V4-Flash-0731',
messages=[{'role': 'user', 'content': 'Explain an API key in one sentence.'}],
max_tokens=200,
)
print(resp.choices[0].message.content)
print(resp.usage)Python 版では pip install openai が 1 回必要です。OpenAI SDK 向けに書かれたスクリプトと比べて何が変わったか見てください。api_key、base_url、model — 同じ 3 つの値です。それ以外はすべてそのままです。

表示されるべきもの#
応答は JSON です。回答のテキストは choices[0]. に入っており、Python スクリプトが最初に出力するのはこれです。そのすぐ隣に prompt_tokens、completion_、total_tokens を含む usage ブロックがあります。入力トークン数、出力トークン数、そしてその合計です。コストはこの 2 つの数値から計算されるため、最初の呼び出しでも目を通す価値があります(Input vs output tokens で内訳を説明しています)。
規模感をつかむために: このような呼び出しはごく小さいものです。入力 30 トークン、出力 200 トークンとすると — 例の max_tokens 上限、つまりこのリクエストで発生しうる最も高価な呼び出しです。コストは $0.00002 です。これを 1000 回行うと次のようになり、参考として OpenRouter も並べています:
| モデル | 入力 $/1M | 出力 $/1M | リクエストあたり | 1,000 リクエスト | OpenRouter、1,000 リクエスト |
|---|---|---|---|---|---|
| GLM-5.3-Flash | $0.02 | $0.04 | $0.0000086 | $0.0086 | $0.0176 |
| DeepSeek-V4-Flash | $0.015 | $0.10 | $0.00002 | $0.0205 | $0.0301 |
| MiniMax-M2.7 | $0.05 | $0.15 | $0.000032 | $0.0315 | $0.378 |
リクエストあたり 30 入力トークンと 200 出力トークン。100万トークンあたりの価格は現行のもので、当社の料金体系に合わせて変動します。OpenRouter 列は同じワークロードの参考価格を示しています。
その ID の背後にあるモデルは DeepSeek-V4-Flash です。380K トークンのコンテキストウィンドウと、1 回の回答で最大 32,768 トークンを持ちます。価格は時間帯にかかわらず同じで、ピーク時の割増はなく、1 つの残高ですべてのモデルをカバーします。入力と出力を合わせた合計では、OpenRouter より安くなり、上の表がまさにそれを示しています。モデルの詳細: DeepSeek on CheapTokens、現在の価格は pricing page にあります。
うまくいかないとき#
最初の呼び出しの失敗は、ほぼすべて 3 つの値のいずれかが間違っていることが原因です。症状を原因と照らし合わせてください:
ペアを合わせる
各症状を原因と照合する
左の項目をタップしてから、そのペアをタップ
- 401 Unauthorizedキーが欠けている、入力ミスがある、または別のサービスに属している
- "model not found"(エラーテキストにモデル名が含まれる)モデル ID が完全な形ではない: deepseek-ai/DeepSeek-V4-Flash-0731 を使用する
- アドレス自体での接続エラーまたは 404(エラーに "model" という語がない)ベース URL のタイプミス。たとえば
/v1の欠落や別ドメイン
これらのエラーの完全な解説は API 401 or 404 error: wrong key, base URL or model id にあります。どの ID を使うかわからない場合は、API 自体に尋ねてください: List models with GET /v1/models。
同じ 3 つの値の次の行き先#
一度覚えてしまえば移植できる、というのがポイントです。OpenAI 互換 API と通信するほぼすべてのツールは、何らかの形で同じ値 — キー、アドレス、モデル — を求めます。スクリプト(LangChain、LiteLLM)では引数、アプリやノーコードノードではフィールドや設定です。コードを書かずに Postman で試すこともできます。このモデルでのストリーミングと長い回答については、DeepSeek-V4-Flash quickstart に進んでください。
チェックリスト
完了前に確認すること



