OpenAI API 日本での始め方|登録・支払い・APIキー発行

platform.openai.comでAPIキーを発行し、サンプルコードをそのまま実行したら、返ってきたのはエラー。ChatGPTの有料プランに入っているのだからAPIも使えるはずだ、と思っていた人ほど、ここで手が止まります。つまずきやすいのは次の点です。ChatGPTの契約とOpenAI APIの請求は別々に管理されていて、APIを呼び出すにはBillingで支払い情報を登録し、前払いのクレジットを追加しておく必要があります。
進め方は5つです。アカウントを作る、Billingでクレジットを用意する、プロジェクトにひも付けたAPIキーを発行する、Responses APIで最小のリクエストを1回送る、UsageとBillingで数字を確認する。この順番なら、どこで止まっても原因を1か所に絞れます。
ChatGPTの契約とOpenAI APIの請求はどう違いますか?
別々に管理します。ChatGPTの有料プランは月額の利用契約で、OpenAI APIは呼び出した分だけ支払う従量課金です。有料プランに入っていても、API側のBillingに支払い情報とクレジットがなければリクエストは通りません。APIのクレジットを追加しても、ChatGPTのプラン内容は変わりません。
同じアカウントで両方の管理画面に入れるため、混同しやすくなります。ログインは共通でも、支払いの窓口は別です。ChatGPTはプラン料金、APIはBillingのクレジット。この2つを分けておけば、いま何にお金を払っているのかを見失いません。請求を並べて見たときに「ChatGPTの分は払っているのに、なぜAPIで止まるのか」と感じたなら、分けるべきはこの2つです。
月額プランと従量課金はどこで分かれるか
ブラウザで人が操作するChatGPTと、プログラムから呼び出すAPIでは、使う人も支払い方も違います。最初に押さえたい違いだけを並べます。
| 項目 | ChatGPTの有料プラン | OpenAI API |
|---|---|---|
| 契約の単位 | 月額の利用契約 | 呼び出した分だけの従量課金 |
| 支払いの窓口 | ChatGPTのサブスクリプション | Billingの支払い情報とクレジット |
| お金が動くタイミング | 契約している間、月ごと | 前払いでクレジットを購入し、使った分が引かれる |
| 未設定のときどうなるか | API側の利用可否には影響しない | 残高がゼロだとAPIを呼び出せない |
APIの料金は、入力と出力のトークン数に応じて決まります。同じアカウントでログインしていても、ChatGPTの月額がAPIの残高に変わるわけではありません。迷ったらBillingを開き、クレジットが入っているかを見てください。
OpenAIアカウントを作って、Billingでクレジットを追加するにはどうしますか?
platform.openai.comでアカウントを作り、Billingで支払い情報を登録して、前払いのクレジットを購入します。残高がゼロのままではAPIを呼び出せません。キーより先にここを済ませておくと、後の作業で止まりません。個人で試す人も、社内ツールに組み込む前提の人も、最初に通る場所は同じです。

登録からクレジット購入までの順番
- platform.openai.comにアクセスし、アカウントを作成してログインします。
- 管理画面の設定からBillingを開きます。
- 支払い情報を登録します。追加を促す表示が出ていなければ、すでに登録済みです。
- 購入するクレジットの金額を選び、内容を確認して確定します。
- Billingに戻り、残高が反映されていることを確認します。
購入できる最小額は時期によって変わります。2025年4月時点では5ドルから購入できるという案内があり、初回に10ドル程度を入れておく進め方が紹介されていたこともあります。金額も最小購入単位も動くので、数字を覚えるより、当日のBilling画面に出ている金額から決めるほうが確実です。
残高が少なくなったら自動で追加購入する自動リチャージを設定しておくと、開発中に残高切れでリクエストが止まる事態を避けられます。使う量がまだ読めない立ち上げ期は、少額から始めて、上限と通知で様子を見る進め方が向いています。
支払い方法や請求書の扱いは、時期とアカウントの状態で表示が変わります。ここで登録する支払い先は公式OpenAIのBillingなので、当日のBilling画面と公式の案内で確認してください。別のゲートウェイを使う場合は、そのサービス側で改めて契約します。
プロジェクトAPIキーはどこで作りますか?
管理画面のAPI keysを開き、Create new secret keyで発行します。キーは一度だけ表示されるので、その場でコピーして保存します。発行時にプロジェクト名を付けておくと、あとで用途をたどりやすくなります。
キーをプロジェクトにひも付ける意味
キーはプロジェクトにひも付けて発行します。検証用と本番用を分けておけば、片方に問題が出たときに、止めるキーを迷わず選べます。名前は「本番用」「社内ツール用」のように、後から見て用途が分かるものにしてください。プロジェクト単位にしておくと、アプリが増えてもキーが混ざりません。
保存と失効の扱い
発行画面を閉じたあと、同じキーをもう一度表示することはできません。コピーを忘れた場合は、そのキーを削除(Revoke)して作り直します。漏洩が疑われるときも、削除して作り直すところまでが1セットです。
キーはサーバー側で扱い、ソースコードや公開される場所に直接置かないようにします。作成の途中で電話番号によるSMS認証を求められる場合があるので、SMSを受け取れる番号を手元に用意しておくと作業が止まりません。
キーが増えてくると、どれを誰が使い、いつ入れ替えるかの管理が必要になります。発行・保存・入れ替えの運用手順はキーの管理と入れ替えの進め方をまとめた記事で先に整えておくと、あとから追いかけずに済みます。
最初のリクエストはどう送りますか?
openai SDKをインストールし、client.responses.create(model=…, input=…)を実行します。返ってきたテキストはoutput_textで取り出せます。キーは環境変数に入れておけば、コードに秘密を書かずに済みます。

最小コードをそのまま実行する
新規の実装では、Responses API(/responses)を入口にするのが推奨されています。Chat Completions API(/chat/completions)も引き続き広く使われ、サポートも続いていますが、これから書くコードはResponses APIに揃えておくと、出力の取り出しや形式の指定を1つの入口で扱えます。サンプルコードにはChat Completions APIを使ったものも多く、どちらも現行のAPIです。Pythonなら次の形が最小構成です。
from openai import OpenAI
client = OpenAI() # 環境変数 OPENAI_API_KEY を読みます
res = client.responses.create(
model="公式のモデル一覧で確認したID",
input="日本語で自己紹介を3行書いてください。"
)
print(res.output_text)モデルIDは更新が多いので、公式のモデル一覧で確認したものを入れてください。古いIDのままだと、キーも残高も正しいのにエラーで止まります。
実行して自己紹介が3行返れば、キー、クレジット、リクエストの3つがつながった状態です。これから新しく書くコードをResponses APIに揃えておくと、あとで資料を読み替える手間が減ります。
応答の受け取り方と、つまずいたときの確認
長い応答を表示しながら受け取りたいときはストリーミング、画面やデータベースにそのまま渡したいときはJSONの形式を指定して受け取る方法があります。まずはoutput_textで1回通し、必要になったら足していく順番で十分です。
エラーが返ったときは、見る場所は3つです。
- キーの値が正しいか
- そのキーが有効か(削除済みになっていないか)
- Billingの残高が残っているか
この順に確認すると、原因を絞れます。将来base URLを差し替えて別のゲートウェイから呼ぶ構成を試すなら、OpenAI SDK互換のAPIをbase URLの変更だけで使う手順を先に見ておくと、コードを書き直さずに切り替えられます。
利用量・残高・上限はどこで確認しますか?
使った金額はUsage、残高はBilling、上限と通知はSettingsのLimitsで確認・設定します。3か所に分かれているので、最初にどこで何を見るかを決めておくと迷いません。

| 見たいもの | 開く場所 | そこでできること |
|---|---|---|
| 利用料と累計 | Usage | 使った金額と累計を確認する |
| クレジット残高 | Billing | 残高を確認し、追加購入する |
| 月間の利用上限額 | SettingsのLimits | 上限額を設定する |
| 金額の通知 | SettingsのLimits | しきい値を超えたときにメールで知る |
項目名や配置は時期やアカウントの状態で変わります。見つからないときは、同じ目的の項目が別の場所に移っていないかを確認してください。
上限と通知は使い始める前に決める
従量課金でいちばん困るのは、気づいたときには請求が積み上がっている形です。SettingsのLimitsで月間の利用上限額を決め、通知も入れておけば、増え方に早く気づけます。通知(spend alert)は知らせるだけでAPIの処理は続きます。一方、ハード上限(hard spend limit)を有効にしている場合は、上限に達した時点で対象のAPIリクエストが429エラー(project_spend_limit_exceeded)で止まり、上限を引き上げるか外す、または翌月のサイクルでリセットされるまで再開しません。金額は、実際の利用量が読めてきたら見直す前提で構いません。
日本語のトークン数と費用の目安
同じ内容でも、日本語は英語よりトークン数が増えやすい傾向があります。1文字あたり1〜3トークン程度という目安もあり、会話履歴を毎回そのまま送る設計は金額が膨らみやすい形です。ユーザーへの出力は日本語のままにして、内部の指示や中間テキストを英語にすると、ケースによってはトークン消費を30〜50%程度抑えられたという例もあります。数値は環境で変わる目安として見てください。
リアルタイムの応答が要らない処理には、まとめて送って結果を後から受け取るBatch APIという選択肢もあります。通常料金の50%で使えるとされていますが、即時応答が必要なチャットには向きません。長い会話を扱うチャットボットを組むなら、ここが効いてきます。どの手段を試すにしても、先に上限と通知を入れておけば、増え方を見ながら比較できます。
MixRouteのキー・エンドポイント・請求経路は公式とどう違いますか?
MixRouteは、公式OpenAIのアカウントやBillingとは別に使えるAI API gatewayです。MixRouteで独自のAPIキーを発行し、リクエストの送り先をhttps://api.mixroute.ai/v1に向けると、OpenAI SDK互換のままモデルを呼び出せます。支払先も公式BillingからMixRouteのチャージ経路に変わります。
| 項目 | MixRoute | 公式OpenAI |
|---|---|---|
| APIキー | MixRouteで発行する | 公式の管理画面で発行する |
| リクエストの送り先 | https://api.mixroute.ai/v1 | 公式ドキュメントに記載されたエンドポイント |
| 支払いと請求 | MixRouteのクレジットを購入する | Billingで前払いクレジットを購入する |
| 料金の表示 | ページ上は米ドル | 公式の価格ページ |
何が変わり、何が変わらないか
変わるのは、キー、送り先、支払先の3つです。変わらないのはコードの形で、base URLとキーを差し替えるだけで、同じSDKのまま複数のモデルを呼び出せます。公式側で支払い方法や残高の整理がつかないときに、並行して試せる選択肢になります。MixRouteの料金ページでは2026年8月24日時点の表示として、250+のモデルを1つのエンドポイントから呼び出せ、モデルの推論価格に上乗せするプラットフォーム手数料は0%と案内されています。
請求経路と支払い条件の確認
MixRouteの料金ページの案内では、クレジットは購入額に応じた段階があり、上位の段階ほど加算されるボーナスが付き、購入したクレジットに有効期限はないと説明されています。料金は米ドル表示なので、日本から使う場合は為替と支払い方法の確認が残ります。日本での請求書や税務書類の扱いは、所在地と契約内容によって変わるため、Salesに確認してください。
公式アカウントのBillingと並べて判断するなら、まずはチャージ額ごとのボーナスと上限を比べて購入額を決めるところから始めます。支払い方法や書類の条件は、Salesに相談して支払い条件を確認するほうが早く確定します。
FAQ
ChatGPTの有料プランに入っていれば、APIも追加料金なしで使えますか?
使えません。請求の入口が違うためで、ChatGPTの月額はサブスクリプション側、APIはBillingのクレジット側で管理されます。ChatGPTで何度やり取りしてもAPIの残高は増えませんし、APIのクレジットを追加してもChatGPTのプラン内容は変わりません。同じ月に両方を使えば支払いは2本立てになるので、社内で経費を精算するときは、どちらの請求なのかを分けておくと説明が楽になります。
APIキーの取得自体に料金はかかりますか?
かかりません。発行そのものに費用はかからず、請求はそのキーで実際に呼び出した分だけに乗ります。押さえておきたいのは、キーの本数と請求額は比例しないという点です。何本に分けても、金額を決めるのはやり取りしたトークンの量です。用途ごとにキーを分けておけば、どのアプリが費用を使っているのかを後から追いやすくなります。
新規登録でもらえる無料クレジットはありますか?
場合によります。2024年5月時点の案内には18ドル分の無料トライアルクレジットの記述がありましたが、2026年3月時点では新規登録時の自動付与はないとされています。無料枠が前提で見積もりを立てると、残高ゼロでリクエストが止まることになります。登録したらまずBillingを開き、クレジットが残高として表示されているかを自分の目で確認してください。
APIキーを保存し忘れてしまいました。どうしたらいいですか?
作り直せば大丈夫です。発行時の画面を閉じた時点で、同じキーをもう一度表示する方法はありません。API keysの画面から古いキーを削除(Revoke)し、新しいキーを発行して、環境変数やシークレットの入れ替えまで済ませます。漏洩が疑われるときも流れは同じです。古いキーを残しておく理由はないので、削除まで一度にやってしまうのが安全です。
日本語でリクエストを送れますか?
送れます。プロンプトも返答も日本語のままで問題ありません。効いてくるのは料金のほうで、日本語は英語よりトークンが増えやすいぶん、同じ内容でも費用がかさみます。長い履歴を毎回そのまま添える設計だと、その差が積み上がります。出力は日本語のままにして、内部の指示や中間テキストだけ英語にする切り分けも、試す価値があります。
クレジット残高がゼロになるとどうなりますか?
リクエストが通らなくなります。キーもコードも正しいのに止まるので、原因を探してコードを読み直してしまう人がいますが、見るべきはBillingの残高です。クレジットを追加購入するか、自動リチャージを設定して残高を戻します。開発が止まってから気づくのを避けたいなら、自動リチャージとLimitsの通知を組み合わせておくのが確実です。
利用上限は設定できますか?
設定できます。SettingsのLimitsで、月間の利用上限額としきい値を超えたときのメール通知を入れられます。通知は知らせるだけで処理は続きますが、ハード上限を有効にすると、上限額に達した時点でAPIリクエストは429エラーで止まり、上限を引き上げるか翌月のサイクルを待つまで再開しません。使い始めは低めの金額と通知だけ入れて、実際の消費を見ながら上げていく進め方が安全です。
MixRouteを使う場合、公式OpenAIのBillingとはどう違いますか?
請求の入口が変わります。キーはMixRoute側で発行し、base URLをhttps://api.mixroute.ai/v1に向ければ、コードの形はそのままです。支払いは公式のBillingからMixRouteのチャージ経路に移り、アカウントも請求も別々に管理します。公式側の支払いで止まっている間に、こちらで動かして比べるという使い方もできます。チャージ額ごとの条件は料金ページにまとまっているので、並べて見ると判断しやすくなります。