はじめに
以下の公式ドキュメントに書かれた「認証(APIトークンの利用)」に関する話の記事です。
●Authentication | LM Studio Docs
https://lmstudio.ai/docs/developer/core/authentication
LM Studio の最新バージョンは以下の 0.4.1 ですが、その 1つ前のバージョンである「0.4.0」でいくつかの新機能が追加されており、認証機能はその中の 1つになります。
さっそく試してみる
さっそく試していきます。
LMStudio でのトークンの設定
まずは LM Studio側の設定です。
LM Studio上で、以下の赤矢印で示したメニューをたどっていくと、以下の「Require Authentication」という項目があります。これを ON にします。
その次に、先ほどの項目直下にある「Manage Tokens」をクリックします。そうすると以下の画面が出るので、右下にある「Create new token」をクリックして次の画面へ進みます。
以下の画面では、(オプションの項目ではありますが)「Name」のところにとりあえず適当な名前を入力して、右下にある「Create token」をクリックしてトークンを作成します。
その後に生成されたトークンが表示されるので、それをコピーしておきます。
あとは、curl・lmstudio-js を使った手順を進めていきます。
curl で試す
まずは、curl で試します。最初に、以下の記事を書いた時に用いたトークンを含めていないもので試してみます(指定するモデルも、以下と同様のものにしています)。
●LM Studio の新バージョン(0.4.0)の新機能の 1つ「stateful な新しい REST API エンドポイント」を curl で試す - Qiita
https://qiita.com/youtoy/items/c91c8dafe5fec88e5852
curl http://localhost:1234/api/v1/chat \
-H "Content-Type: application/json" \
-d '{
"model": "openai/gpt-oss-20b",
"input": "私の好きな色は青です"
}'
そうすると、以下のように認証エラーに関するレスポンスが返ってきました。
トークンを用いた処理を試す
あらためて、トークンを含む内容で試します。
curl http://localhost:1234/api/v1/chat \
-H "Authorization: Bearer 【先ほど作成したトークン(環境変数経由で指定する等)】" \
-H "Content-Type: application/json" \
-d '{
"model": "openai/gpt-oss-20b",
"input": "私の好きな色は青です"
}'
今度は、無事に以下のようにレスポンスを得られました。
lmstudio-js(TypeScript SDK)で試す
次に、以下の lmstudio-js(TypeScript SDK)で試してみます。
●lmstudio-js (TypeScript SDK) | LM Studio Docs
https://lmstudio.ai/docs/typescript
●@lmstudio/sdk - npm
https://www.npmjs.com/package/@lmstudio/sdk?ref=pkgstats.com
●Authentication | LM Studio Docs
https://lmstudio.ai/docs/typescript/authentication

コードの内容など
npm install @lmstudio/sdk で lmstudio-js をインストールし、以下のコードを実行します。
lmstudio-js を使った場合、トークンを「LM_API_TOKEN」という名前の環境変数で設定しておけば、環境変数からのトークンの読み込み処理を以下のコード内で明示的に書いてなくても、自動的に行ってくれるようです。
試してみた結果、記事執筆時点の自分の環境では、トークンの自動読み込み・コード内での明示的な指定(環境変数経由)の両方を試してみたところ、どちらもエラーが発生していました。以下は、 new LMStudioClient() の中で apiToken を指定した際のエラーです。
OpenAI互換API で試す
最後に以下の OpenAI互換API で試してみます。
●OpenAI Compatibility Endpoints | LM Studio Docs
https://lmstudio.ai/docs/developer/openai-compat
そのコードで以下のパッケージを使うと楽に書けるので、 npm i openai で以下のパッケージをインストールします。
●openai - npm
https://www.npmjs.com/package/openai
そして、以下の記事を書いた時に使ったコードをもとに、トークンなしのコードを実行してみます。
●OpenAI互換の API でローカルLLM: Node.js + OpenAI APIライブラリで LM Studio のモデル指定・切り替え - Qiita
https://qiita.com/youtoy/items/8f24beae2a43df5732a4
具体的なコードは以下で、エラーが返ってくる想定です。
import OpenAI from "openai";
const client = new OpenAI({
baseURL: "http://localhost:1234/v1",
apiKey: "",
});
const response = await client.responses.create({
model: "openai/gpt-oss-20b",
input: "あなたは誰?",
});
console.log(response.output_text);
上記を実行したところ、以下のように認証エラーが返ってきました。
今度は、上記のコードで apiKey: "" としていたところを apiKey: "【先ほど作成したトークン(環境変数経由で指定)】" というトークンを指定した内容にしました(環境変数経由でトークンを使う形にしました)。その結果、以下のとおり無事にレスポンスを得ることができました。










