AI入門ガイド
API キーとは何か、そして安全に保存する方法
AI API キーとは何か、どこで取得するのか、なぜコードや git に残してはいけないのか、最初の呼び出しを行う方法、キーが漏洩した場合の対処法。

AI API にサインアップすると、最初に求められるのがキーです。このガイドでは、API キーとは何か、どこで取得するのか、安全に保つ方法、そして意図しない場所に漏れてしまった場合の対処法を説明します。
API キーとは#
API キーとは、リクエストを送信しているのが誰であるかをサービスに伝える、英数字からなる長い文字列です。プログラムにとってのパスワードのようなものだと考えてください。スクリプトはリクエストのたびにキーを送信し、サービスはそれを使ってあなたのアカウントを特定し、リクエストのコストを残高から差し引きます。
そこから次の 2 つのことが導かれます:
- キーを持っている人は誰でもあなたの残高を使えます。 サービスは、あなたとキーをコピーした人を区別できません。
- キーはモデルでも残高でもありません。 キーは単なる通行証です。残高は別途チャージするものであり、同じキーがアカウントで利用可能なあらゆるモデルで使えます。
リクエストのコストはトークンで数えられます。トークンに馴染みがない場合は、What is a token in AI? から始めてください。
キーの取得場所#
どの AI サービスも、自社のダッシュボードからキーを発行します。例えば、DeepSeek の公式 API には platform.deepseek.com/api_keys に API キーのページがあり、ドキュメントでは DEEPSEEK_API_KEY 環境変数からキーを読み取ります (2026 年 10 月 21 日時点で確認)。一般的な流れはほぼどこでも同じです:
- アカウントを作成します。
- ダッシュボードの API キーのページを開きます。
- 新しいキーを作成するボタンを押し、名前を付けます (例:
my-first-script)。 - すぐにキーをコピーします。多くのサービスでは一度しか表示されません。
CheapTokens では、アカウント作成からキー取得までの手順が Your first API request with CheapTokens にあります。CheapTokens は前払いの USD 残高で動作します。すべてのモデルで 1 つの残高です。残高が空でリクエストが失敗する場合は、"Not enough tokens" error を参照してください。
キーを絶対に置いてはいけない場所#
ほとんどの漏洩はハッキングではありません。コピー&ペーストのミスです:
- キーをコードに直接書いて (
api_key="sk-...") GitHub にプッシュしてしまう。 - スクリーンショット、チャットメッセージ、フォーラムでの質問にキーが含まれる。
- フロントエンドのコード (Web ページやモバイルアプリ) にキーがある: 誰でも開いて読めます。
- git にコミットされた
.envファイル。
最後のものが最もよくあります。次のコミットでファイルを削除しても、キーは git の履歴に残るため、一度でもコミットされたキーは漏洩したものとして扱わなければなりません。
キーを環境変数に保存する#
環境変数とは、コードではなくシステム内に存在する名前付きの値です。プログラムは起動時にそれを読み取るため、コードを安全に共有でき、キーはあなたのマシンに留まります。
Linux または macOS では、現在のターミナルに対して設定します:
export CHEAPTOKENS_API_KEY="YOUR_API_KEY"Windows PowerShell では:
$env:CHEAPTOKENS_API_KEY = "YOUR_API_KEY"これはターミナルを閉じるまで有効です。セッションをまたいで保持するには、シェルのプロファイルにその行を追加するか、プロジェクト用の .env ファイルを使って最初のコミットの前に .gitignore に追加します:
# .gitignore
.envそしてコード内でキーを読み取ります。決してそこに直接書かないでください:
import os
from openai import OpenAI
client = OpenAI(
base_url="https://api.cheaptokens.dev/v1",
api_key=os.environ["CHEAPTOKENS_API_KEY"], # read from the environment, not written in the code
)変数が存在しない場合、os.environ[...] は即座にエラーでプログラムを停止します。これは空のキーでリクエストを送るよりも良いことです。
最初の呼び出しを行う#
CheapTokens は OpenAI Chat Completions と Anthropic Messages の形式に対応しているため、標準の SDK がそのまま使えます。変更するのはベース URL とキーだけです。以下は MiniMaxAI/ を使った完全なテストです:
import os
from openai import OpenAI
client = OpenAI(
base_url="https://api.cheaptokens.dev/v1",
api_key=os.environ["CHEAPTOKENS_API_KEY"],
)
response = client.chat.completions.create(
model="MiniMaxAI/MiniMax-M2.7",
messages=[{"role": "user", "content": "Explain what an API key is in two sentences."}],
max_tokens=200,
)
print(response.choices[0].message.content)curl でも同じです。シェルが変数を展開するため、キーがコマンドに現れることはありません:
curl https://api.cheaptokens.dev/v1/chat/completions \
-H "Authorization: Bearer $CHEAPTOKENS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "MiniMaxAI/MiniMax-M2.7", "messages": [{"role": "user", "content": "Hello"}], "max_tokens": 100}'このような短いテストは安価です。例えば、入力 1,000 トークン、出力 500 トークンのリクエストは現在の価格で $0.00013 かかります。MiniMax-M2.7 は 180K のコンテキストを持ち、最大 8,192 トークンの回答を返すため、最初の実験には快適なモデルです。回答が途中で止まる場合は、Why does an AI answer stop mid-sentence? を参照してください。
モデル ID は他のサービスではなく CheapTokens のドキュメントからコピーしてください。モデル名はプロバイダーによって異なります。
キーを安全に保つ習慣#
- プロジェクトごとに 1 つのキー。 1 つが漏洩しても、そのキーだけを差し替えればよく、他は止まりません。
- キーに名前を付ける と、どこで使われているかがわかります (
laptop-script、telegram-bot)。差し替え後に何を更新すべきかがわかります。 - 学習中は残高を少なく保つ。 前払い残高なら、漏洩したキーによる被害は残高の範囲に限られますが、それでもあなたのお金です。
- 人や AI アシスタントとのチャットにキーを貼り付けない でください。また、ログやスクリーンショットからキーを切り取ってください。
- ブラウザやモバイルアプリにキーを置かない。 自分が管理するサーバーから API を呼び出し、アプリはそのサーバーと通信させてください。
キーが漏洩した場合の対処#
公開リポジトリにキーをプッシュした、メッセージで送った、あるいは確信が持てない場合は、すでに誰かの手に渡っているものとして行動してください:
- まずキーを無効化します。 作成したページを開き、削除または無効化します。何よりも先にこれを行ってください。後片付けはその後です。
- 新しい名前で新しいキーを作成します。
- 使用していたすべての場所で差し替えます: 環境変数、
.envファイル、サーバー、アプリ、ツール。 - 残高と使用状況を確認します。 身に覚えのないリクエストは、古いキーが使われた兆候です。
- ソースをクリーンアップします。 コードからキーを削除し、
.envを.gitignoreに追加します。ファイルを削除しても git の履歴からキーは消えないため、履歴を書き換えるよりも手順 1 の方が重要です。
順序が重要です。無効化されたキーは、古いコミットに残っていても無害です。
次のステップ#
- キーを使って最初のリクエストを行う: Your first API request with CheapTokens。
- 何に料金を払うのかを理解する: What is a token in AI?。
- 残高がなくなったらチャージする: "Not enough tokens" error。
試す準備はできましたか? CheapTokens のキーを取得し、CHEAPTOKENS_ として設定して、上記の例を実行してください。
すべてのモデルのエンドポイント、モデル ID、制限は CheapTokens docs にあります。



