中級 11 分LM Studio

LM Studio をOpenAI形式のAPIサーバーに変換する (2026)

端的な回答

LM Studioで「Developer」タブを開き、「Start server」スイッチを有効にしてください。サーバーはポート1234でリッスンし、OpenAI互換のエンドポイント(/v1/chat/completions、/v1/responses、/v1/embeddings、/v1/models)を公開します。ベースアドレスを変更するだけで、すべてのOpenAIクライアントが動作します。デフォルトでは認証を要求せず、localhostでのみリッスンします。APIトークンとネットワークアクセスは「Server Settings」で設定できます。

LM Studioは単なるチャットインターフェースではありません。そのローカルサーバーは、テキストを一行も外部に送信せずに、スクリプト、コードエディター、エージェントで利用するOpenAIのAPIを置き換えます。このガイドでは、バージョン0.4での変更を踏まえ、サーバーの有効化、各設定、認証付きのネットワーク経由のアクセス、モデルのオンデマンド読み込み、そして1台のコンピューターで運用する場合の実際の限界を説明します。

著者 Mohamed Meguedmi·更新 2026-09-30·Windows・macOS・Linuxでテスト済み

#得られるもの

このガイドを終えると、http://localhost:1234/v1というアドレスを利用できるようになります。どのOpenAI SDK(Python、JavaScript、C#)でも、LangChainでも、ClineやContinueなどのコーディングツールでも、OpenAIのAPIの代わりにこのアドレスを使用できます。サーバーは、/api/v1でネイティブAPI(状態を保持するチャット、モデルの読み込みとダウンロード)も提供し、Anthropic互換のエンドポイントも備えています。すべてが手元のマシン内に留まります。自分でサーバーをネットワークに公開しない限り、モデル、リクエスト、レスポンスがそのマシンの外に出ることはありません。

#1. サーバーを起動

ローカルAIキット

お使いのマシンで、プライベートかつ無料のChatGPTを1時間で構築 — LM Studio、Ollama、Open WebUI、ご自身のドキュメント、クラウド不要。

  • 永久に利用できるオンラインスペース
  • PDF + ファイル
  • 生涯アップデート
  1. 01
    「Developer」タブを開く
    LM Studioでは、Developerタブにサーバー、ログ、設定がまとめられています。使用するモデルは事前にダウンロードする必要があります。
  2. 02
    Start serverを有効化
    Start server スイッチを切り替えると、Server Settingsに記載されたポート(ドキュメントの例では1234)でサーバーが起動します。
  3. 03
    またはコマンドラインから起動する
    ターミナルからlms server startと入力することで、同じサーバーが起動し、インターフェースを開く必要はありません。
  4. 04
    モデル一覧を確認してください
    /v1/modelsにリクエストを送り、サーバーが応答することと、リクエストで使用するモデルの識別子を確認してください。
ターミナルからサーバーを起動する
lms server start

#2. サーバー設定を一つずつ確認

設定はDeveloperのServer Settingsにあります。誰がサーバーに接続できるか、クライアントがサーバーに何を要求できるかを決定します。統合のほとんどの問題はこれらのスイッチのいずれか、特にネットワークまたはCORSの設定に起因します。

LM StudioのServer Settings(公式ドキュメント)
設定役割推奨
Server Portサーバーの待ち受けポート(ドキュメントでは1234)ポートがすでに使用されている場合は、ポート番号を変更してください
Require AuthenticationAuthorizationヘッダーに有効なAPIトークンが必要ですサーバーをlocalhost以外からアクセスできるようにする際は、すぐに有効にしてください
Serve on Local Networkローカルネットワーク上の他のデバイスからサーバーにアクセスできるようにするデフォルトで無効です。認証と併用してください
Allow per-request MCPsクライアントが一時的なMCP遠隔サーバーを使用できるようにする明確な必要性がない限り、無効のままにしてください。
Allow calling servers from mcp.jsonLM Studio に定義された MCP サーバーをクライアントが利用できるようにします認証が必要です。MCPがあなたのファイルにアクセスする場合、リスクが高まります
Enable CORS別のオリジンのWebアプリケーションからのアクセスを許可しますウェブアプリケーションまたは特定の拡張機能向けにのみ適用されます
Just in Time Model Loading要求の際にモデルをロードしますサードパーティ製ツールとの連携に便利。詳しくは該当セクションを参照
Auto Unload Unused JIT Models使われなくなったJITモデルをメモリから解放メモリを解放します
Only Keep Last JIT Loaded Modelオンデマンドで読み込まれたモデルのうち、最後のモデルだけを保持しますVRAMが限られている場合に有用です
!
自分のファイルへのアクセスを許可する設定
mcp.jsonに記載されたサーバーの呼び出しを許可するオプションを有効にすると、APIクライアントは、そこに定義したツールにアクセスできるようになります。ドキュメントでは認証なしでの使用を避けるよう勧めており、実際にRequire Authenticationを有効にすることが必須となっています。登録した各MCPサーバーがアクセス・操作できる範囲を把握している場合にのみ、このオプションを有効にしてください。

#3. curlでテストする

サーバーの動作確認には、最初にテスト用の呼び出しを1回行えば十分です。リクエストの model フィールドには、local-model のような一般的な名前ではなく、LM Studio に表示されるとおりのモデル識別子を指定する必要があります。ドキュメントの curl の例でも、この点が念押しされています。

モデル一覧
curl http://localhost:1234/v1/models
チャット補完
curl http://localhost:1234/v1/chat/completions \
  -H 'Content-Type: application/json' \
  -d '{
    "model": "IDENTIFIANT-DU-MODELE",
    "messages": [
      {"role":"system","content":"Tu es concis."},
      {"role":"user","content":"Capitale du Portugal ?"}
    ],
    "temperature": 0.2
  }'

回答はOpenAI形式のJSONです : choices[0].message.contentにテキストが含まれます。modelフィールドが誤っている場合、またはオンデマンドロードが無効であり、モデルがロードされていない場合、リクエストは失敗します : まず/v1/modelsから返されたIDを確認してください。

#4. Pythonから呼び出し

openai SDKは、ベースURLだけを変更して使用できます。これは、LM Studioのドキュメントで示されている変更です。SDKにはキーが必要ですが、認証が無効になっている間は、LM Studioはそのキーを検証しません。認証を有効にした場合は、キーとして自分のAPIトークンを使用します。

openai SDKを使用
from openai import OpenAI

client = OpenAI(
    base_url="http://localhost:1234/v1",
    api_key="lm-studio",  # ignorée sans authentification ; votre jeton sinon
)

resp = client.chat.completions.create(
    model="IDENTIFIANT-DU-MODELE",
    messages=[
        {"role": "system", "content": "Réponds en 1 phrase."},
        {"role": "user",   "content": "Qu'est-ce qu'un LLM ?"},
    ],
    temperature=0.3,
    stream=True,
)

for chunk in resp:
    delta = chunk.choices[0].delta.content or ""
    print(delta, end="", flush=True)

ストリーミングはOpenAIと同様に動作し、トークンをリアルタイムで表示するためにクライアント側を変更する必要はありません。LM Studioは、エージェントやエディタ向けに、後ほど紹介する/v1/responsesエンドポイントも実装しています。

#どのAPIを選ぶか:OpenAI、Anthropic、それともネイティブAPI

LM Studioは3系統のエンドポイントを提供します。OpenAI互換エンドポイントは、モデル、レスポンス、チャット、埋め込み、補完に対応しています。Anthropic互換エンドポイントは、Anthropicのメッセージ形式を受け付けます。バージョン0.4.0以降、ネイティブAPI /api/v1には、状態を保持するチャット、モデルの読み込み・アンロード・ダウンロード、リクエストごとのコンテキスト設定など、LM Studio固有の機能が追加されています。

用途別のエンドポイント
ニーズEndpoint注記
既存ツールで使われている OpenAI API を置き換える/v1/chat/completionsストリーミングおよびカスタムツールがサポートされています
エージェントまたはCodex型のクライアント/v1/responses状態付きチャットおよびMCPが利用可能
RAG用の埋め込みベクトル/v1/embeddings事前にロードされた埋め込みモデル
Anthropic フォーマットをサポートするクライアントAnthropic と互換性のあるエンドポイント同じサーバー、別のメッセージフォーマット
モデルを読み込む、メモリから解放する、ダウンロードする/api/v1/models/*ネイティブAPI、LM Studio が 0.4.0 から推奨しています
リクエストにコンテキストを設定する/api/v1/chatリクエストごとにコンテキストを受け付ける唯一のエンドポイント

#6. 複数のモデル:オンデマンド読み込みとTTL

オンデマンド読み込み(JIT、Just in Time)では、モデルを最初に呼び出した時点でメモリに読み込みます。また、/v1/models は読み込み済みのモデルだけでなく、ダウンロード済みのすべてのモデルを一覧表示します。JIT を使わない場合、/v1/models が返すのは読み込み済みのモデルだけで、呼び出す前にモデルを読み込んでおく必要があります。このモードは、Zed、Cline、Continue などのツールが自ら使用するモデルを選ぶ場合に最適です。

デフォルトのTTL
必要に応じてロードされたモデルは、リクエストがない状態が60分続くとアンロードされます。
リクエストごとのTTL
リクエストに ttl(秒単位)フィールドを追加してください。300は5分を意味します。
lms loadのTTL
lms load で読み込んだモデルはデフォルトでTTLが設定されていません。--ttl オプションを使用してください。
Auto-Evict
デフォルトで有効:オンデマンドで読み込まれた単一のモデルのみがメモリに保持されます。無効にすると、複数のモデルを保持できます。
!
モデルが二つなら、重みデータの量も2倍
Auto-Evictは新しいモデルを読み込む前に、直前のモデルをメモリから解放します。これを無効にすると、モデルの重みが占める容量が合算されます。80億パラメータのQ4モデル(約5GB)と90億パラメータのモデル(約6GB)だけで、コンテキスト分を加える前から合計10GBを超えます。VRAMの使用量を確認してください。

#7. ネットワーク上にサーバーを公開し、認証を有効にする

同じネットワーク上の別のコンピューターからサーバーを呼び出せるようにするには、Server SettingsでServe on Local Networkを有効にするか、待ち受けアドレスを0.0.0.0にして起動してください。すると、サーバーの待ち受け先はlocalhostだけではなくなります。ドキュメントでは、127.0.0.1以外のアドレスにバインドすると、そのマシンの外部からアクセスできるようになると警告し、認証を有効にすることを推奨しています。

すべてのIPv4インターフェースで受信を有効にする
lms server start --bind 0.0.0.0
リモートクライアント
curl http://192.168.1.42:1234/v1/models

よくある誤解とは異なり、LM Studio はリクエストを認証できます。デフォルトでは認証を要求しませんが、Server Settings でスイッチを有効にすると、Manage Tokens で権限を選んで作成した有効な API トークンを含むリクエストだけを受け付けるようになります。トークンは作成時にしか表示されないため、すぐにコピーしてください。この機能には LM Studio 0.4.0 以降が必要です。

APIトークン付きの呼び出し
curl http://192.168.1.42:1234/v1/models \
  -H "Authorization: Bearer $LM_API_TOKEN"

インターネットからのアクセスの場合、ポートを公開しないでください。VPNまたはTLSを用いたリバースプロキシ経由でアクセスしてください。これは、セキュリティガイドに詳述されているOllamaサーバーの原則と同様です。別のマシンのモデルを使用する場合のより簡単な代替案として、LM Linkがあります。これは、リモートデバイスのモデルをローカルにロードされたもののように提供します。

#グラフィカルインターフェースなし:llmsterと自動起動

バージョン0.4.0以降、LM Studioの中核は独立したデーモンllmsterとしても提供されており、Linuxサーバー、GPUマシン、ローカルPCで、画面インターフェースなしで動作するよう設計されています。1行のコマンドでインストールし、lms daemon upで起動した後、lms server startでサーバーを開始します。画面インターフェースのあるPCでは、アプリの設定でログイン時にサーバーを起動するオプションにチェックを入れることもできます。この場合、アプリを閉じるとシステムトレイに最小化され、サーバーは動作を続けます。

llmsterをインストールし、起動する(LinuxおよびMac)
curl -fsSL https://lmstudio.ai/install.sh | bash
lms daemon up
lms server start

#9. パフォーマンス:本当に重要なこと

GPUオフロード
できるだけ多くのレイヤーをVRAMに読み込んでください。VRAMに収まりきらずシステムRAMも使うモデルは、生成速度の大部分を失います。
Context Length
最大のコンテキスト長ではなく、必要な長さを選んでください。コンテキストのキャッシュはVRAMを消費し、その使用量はコンテキストが長くなるほど増えます。
Max Concurrent Predictions
モデルが同時に処理するクエリ数。これを超えると、クエリはキューで待機します。
統合型KVキャッシュ
デフォルトで有効です。リソースをリクエストごとに固定の割合で分けないため、さまざまなサイズのリクエストに対応できます。

Flash Attentionのガイドとコンテキストウィンドウのガイドでは、メモリへの影響を詳しく説明しています。複数ユーザー向けに高いスループットが必要な場合は、専用サーバーのほうが適しています。vLLMのガイドでは、そのデプロイ方法を紹介しています。

#制限と代替案:変更点

頻繁に引用されるいくつかの制限はもう正確ではありません。それらを修正することで、ツールの選定が変わります。以下の表は、今なお読まれている情報と現在のドキュメントに記載されている内容を比較しています。

よくある誤解と実際(LM Studioのドキュメント、2026年)
誤解現実
認証なしAPIトークンは0.4.0以降で利用可能で、デフォルトでは無効になっています
リクエストは順次実行される0.4.0では、同じモデルへの並列リクエストをMax Concurrent Predictionsの上限まで処理します(継続的バッチ処理)。上限を超えたリクエストは待機します。
仕事での利用には商用ライセンスが必須LM Studioの発表によると、2025年7月から自宅でも職場でも無料で利用できます
グラフィカルインターフェースなしでは実現できませんllmsterはGUIなしでデーモンとして動作します
ワークステーションは1台のみで、共有は行いません「Serve on Local Network」とLM Linkを使えば、他のデバイスにもサービスを提供できます。

実際の制約は残ります。LM Studioは単一のワークステーション向けに作られており、クラスター向けではありません。連続バッチ処理は、vLLMのように数十人のユーザーを想定して設計されたサーバーの代わりにはなりません。また、アプリケーションの更新によって動作が変わる可能性があるため、サービスを提供するマシンではバージョンを固定する必要があります。LM Studioと競合製品のどちらを選ぶかは、導入を決める前に比較してください。

FAQ
LM StudioにおけるAPIサーバーを有効にする方法は?+
Developerタブを開いてStart serverスイッチを切り替えるか、ターミナルで`lms server start`コマンドを実行してください。サーバーはServer Settingsで設定されたポートで待ち受けます。ドキュメントでは1234となっています。`curl http://localhost:1234/v1/models`で動作を確認してください。利用可能なモデルが返されます。リストが空の場合は、先にモデルを読み込むか、Server Settingsでオンデマンド読み込みを有効にしてください。
LM Studioサーバーに別のPCからアクセスできるようにするにはどうすればよいですか?+
Server SettingsでServe on Local Networkを有効にするか、lms server start --bind 0.0.0.0で起動してください。これにより、サーバーはlocalhost以外からの接続も受け付けます。ドキュメントでは127.0.0.1以外のアドレスにバインドする場合にこの対策を推奨しているため、APIトークン認証も有効にしてください。別のコンピュータからは、サーバーを動かしているマシンのIPアドレスと同じポートを使用します。例:http://192.168.1.42:1234/v1。
LM StudioはAPIに認証機能がありますか?+
はい、バージョン0.4.0以降で対応しています。APIトークンは「Manage Tokens」で作成し、「Server Settings」の「Require Authentication」で認証を有効にします。デフォルトでは認証は要求されません。有効にすると、すべてのRESTリクエストとSDKからのリクエストに、Authorizationヘッダーで有効なトークンを含める必要があります。
LM Studio は複数のリクエストを並列処理しますか?+
はい、バージョン0.4.0から対応しています。このバージョンで、継続的バッチ処理による同一モデルへの並列リクエストが導入されました。Max Concurrent Predictionsの設定で同時リクエスト数を指定し、それを超えるリクエストは待機します。数十件の同時リクエストを伴う、多数のユーザーによる高負荷な利用には、vLLMのようにその用途向けに設計されたサーバーの方が適しています。
modelフィールドにどのような識別子を入力すべきですか?+
一般的な名前ではなく、LM Studioに表示されるとおりのモデル識別子を指定します。/v1/models へのリクエストで、その一覧を取得できます。オンデマンド読み込みが有効なら、ダウンロード済みのすべてのモデルが返されます。無効なら、すでにメモリに読み込まれているモデルだけが返されます。入力ミスがあるとリクエストが失敗するため、正確な識別子をクライアントにコピーしてください。
LM Studioは企業用途で無料ですか?+
はい。開発元の発表によると、2025年7月8日以降、LM Studioは自宅でも職場でも無料で利用でき、商用ライセンスを申請する必要はありません。追加のニーズに対応する商用サービスもあります。導入前に現行の利用規約を確認してください。特に、開発元の商用サービスを利用する予定がある場合は確認が必要です。
このガイドは役に立ちましたか?

ご意見、誤りのご指摘、補足はありますか?ぜひお知らせください。皆さんにとってより良いガイドにするために役立ちます。