APIKEYって何?誰が使うものなの?

ChatGPTの登場でAIの話題をあちこちで聞くようになりましたが、もうひとつ「APIKEY」という言葉も一般に出回るようになったと思います。

この記事では、APIKEYについて解説したいと思います。

APIとは

APIKEYの説明の前にAPIについて説明しておかなければなりません。APIはそのまま「エーピーアイ」と読み、”Application Programing Interface”の頭文字をとったものです。

APIは、異なる2つのシステムにあるプログラムの間でデータをやり取りするための仕組みのことで、あるシステムのプログラムがAPIを通じて他のシステムのプログラムにデータを送ったり、データを受け取ったりできるようにする仕組みです。

ChatGPTを例に取ると、みなさんが普段使ったことがあるChatGPTは「アプリケーションプログラム」と呼ばれる人間が操作できるプログラムです(最近はアプリと呼ばれます)。これに対して、APIは人間が操作する方法は提供されておらず、人間が操作する部分(つまり画面)は誰かが作らなければなりません。

だったらChatGPTでいいじゃん!と思われるかもしれませんが、たとえばChatGPTの機能を使ってチャットbot(自動応答してくれるプログラム)を作るアイデアがあったとしたら、それはChatGPTの画面ではなく、LINEからChatGPTの機能が使えるといいですよね?このような時に使われるのがAPIです。

人間が操作する画面をLINEが、自動応答する頭脳をChatGPTが提供するということです。

APIKEYとは

一部を除いて、一般的にAPIは有料で提供されます(無料枠が用意されている場合もあります、ChatGPTにも無料枠があります)。

そこで、誰がAPIを使っているかを認証して課金しなければなりませんが、この時に使われる情報をAPIKEYと呼びます。APIを使うための”KEY”(鍵)というわけです。

あるプログラムが別のシステムのプログラムを利用する時、利用したい内容と一緒にAPIKEYを送ることでAPIを提供する側のシステムは今誰がどれぐらい利用しているのかを把握できます。これを元に利用者に対して課金します。

APIKEYを取得するためにはあらかじめアカウントの作成が必要で、アカウントごとにAPIKEYが発行されるようになっているため、誰がどれぐらい利用しているのかを把握することができるのです。

APIKEYはアルファベットと数字を組み合わせた長い文字列になっていることが多く、たとえばChatGPTのAPIKEYは以下のようなものです(安心してください、このAPIKEYは本物ですが今は無効になっています)。

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

この情報を持っているのはアカウントの作成者だけで、APIKEYを知っている人はそのアカウントの作成者(のはず)なので、適切に課金できるようになっています。逆にいうと、APIKEYが誰かに知られてしまうと他人に使われてしまうので注意が必要です。

APIKEYは誰が使うもの?

これまでの話からわかるとおり、APIはプログラムを開発するためのもので利用するのはプログラムの開発者です。当然、APIKEYも開発者が使います。有料のAPIを使って開発したプログラムは有料で提供されその料金の中からAPIの使用料が支払われます。

ところが、ChatGPTを使ったアプリの中にはAPIKEYの入力をユーザーに求めるものがあります。これらは大抵無料で提供されているソフトウェアです。無料で提供しているソフトウェアなのにAPIの使用料を開発者が支払っていたら、開発者は破産してしまいます。

そこで、利用者に自分でAPIKEYを取得してもらって、そのAPIKEYを使ってプログラムを動かせるような形で提供しているのです。BYOB(Bring Your Own Bottle)ならぬBYOA(Bring Your Own APIKEY)というわけです。

これであれば、APIKEYを取得した利用者がAPIの利用料を支払うことになるので開発者の負担にはなりません。仕組みは用意したので、あとはお好きにどうぞということですね。

このようなやり方が、ChatGPT登場以降あちこちで行われるようになりました。それぐらいChatGPTに対するニーズがあるということなのでしょうね。

ChatGPTのAPIKEYの取得方法については、色んなサイトで紹介されているのでここでは割愛します。関心のある方は「chat gpt api 取得方法」などで調べてみてください。