LM StudioのResponses APIをWindowsで使う方法|/v1/responses・stateful・streaming

公開日
2026-08-09
更新日
2026-08-09
情報確認日
2026-08-09
編集・運営
Local AI Compass

LM StudioのResponses APIは、OpenAI互換の POST /v1/responses へ input を送り、通常応答、前回responseを使った継続、reasoning、SSE streamingを試すための入口です。WindowsではDeveloper tabまたはlms serverでlocal serverを確認し、/v1/chat/completionsやnative POST /api/v1/chatとpath・レスポンス形式を混ぜないことが最初のポイントです。

導入前に確認すること

  • Windowsのバージョン、メモリ容量、GPU/VRAM、空き容量を確認する
  • 最初は軽量モデル、短い質問、少ない同時作業から始める
  • 公式サイトの対応OS、利用規約、モデルのライセンスを確認する

先に結論:Responses APIはstateful・streamingを含む互換入口

LM Studio公式のResponses docsでは、POST /v1/responsesへmodelとinputを送り、非ストリーム、previous_response_idによる継続、stream=trueのSSE、reasoning、オプションのRemote MCPが案内されています。まずstream=falseで最小の応答を確認し、必要な機能を1つずつ足す順番が切り分けやすいです。

LM Studio Responses APIのpath選択
目的最初に見るpath確認すること
Responses形式で1回返すPOST /v1/responsesmodel、input、通常レスポンス、応答ID
前回応答から続けるPOST /v1/responsesstore、id、previous_response_id、履歴の境界
文字列を逐次表示するPOST /v1/responsesstream=true、SSE、response.output_text.delta
既存のChat Completions clientを使うPOST /v1/chat/completionsmessages、response parser、tool useやStructured Output
LM Studio native chat・MCPを使うPOST /api/v1/chatinput、integrations、native output、別のイベント形式

Responses APIは、モデルが自分でWindowsのコードを実行する仕組みではありません。Remote MCPやcustom toolsを有効にする場合も、外部送信先、許可する操作、実行結果の扱いをアプリ側で確認します。

Windowsでlocal serverとmodel identifierを先に確認する

Responses APIのコードを書く前に、LM StudioのDeveloper tabでlocal serverの状態、port、認証、ロード済みmodelを確認します。公式例ではlocalhost:1234が使われますが、手元のDeveloper表示とlms server statusを基準にします。

  1. LM StudioをWindowsで起動し、Developer tabでlocal serverを開始する。
  2. モデルをロードし、画面上の通常chatで短い質問へ返答できることを確認する。
  3. 端末運用ならlms server startとlms server statusでserver状態を確認する。
  4. GET http://localhost:1234/v1/modelsで、Responses APIへ渡すmodel identifierを確認する。portは実際の表示に合わせる。
  5. 最初は短いinput、stream=false、外部送信なしで基準を作る。
lms server start
lms server status
lms ls
lms ps
curl.exe http://localhost:1234/v1/models

LM Studioの画面でchatできることと、互換APIのResponsesが同じ条件で動くことは同義ではありません。server、model identifier、endpoint、認証、モデルのreasoning対応を別々に記録します。

PowerShellから非ストリームのResponsesを送る

WindowsではPowerShellのInvoke-RestMethodでJSONを送れます。最初はResponses docsの最小形に寄せ、model、input、streamを必要最小限にします。reasoningを追加する場合は、利用モデルがその設定に対応するかを先に確認します。

$body = @{
  model = "MODEL_IDENTIFIER"
  input = "WindowsのローカルAIでResponses APIを試す"
  stream = $false
} | ConvertTo-Json -Depth 8

$response = Invoke-RestMethod `
  -Uri "http://localhost:1234/v1/responses" `
  -Method Post `
  -ContentType "application/json" `
  -Body $body

$response | ConvertTo-Json -Depth 12

MODEL_IDENTIFIERは固定の表示名ではなく、GET /v1/modelsで確認した実際の値に置き換えます。接続できないときは、まずport、server、modelを変えずに、ブラウザや画面ではなく同じ端末からlocalhostの応答を確認します。

Responses APIの最小request
項目役割最初に固定する値
modelLM StudioがロードするモデルのidentifierGET /v1/modelsのid
inputモデルへ渡す入力短いテキスト1つ
streamSSEで分割するかfalse
reasoning推論設定を追加する場合の指定モデル対応を確認してから

previous_response_idで会話を続ける

Responses docsには、前回responseのidを次のrequestのprevious_response_idへ渡すstateful follow-upが掲載されています。履歴を自分でmessages配列へ再構成する方式と同じものだと決めつけず、response idの保存場所、storeの設定、削除や期限、機密情報の扱いをアプリ側で確認します。

$firstBody = @{
  model = "MODEL_IDENTIFIER"
  input = "短いテスト文を1つ返してください"
  store = $true
} | ConvertTo-Json -Depth 8
$first = Invoke-RestMethod `
  -Uri "http://localhost:1234/v1/responses" `
  -Method Post -ContentType "application/json" -Body $firstBody

$nextBody = @{
  model = "MODEL_IDENTIFIER"
  input = "直前の内容を一文で言い換えてください"
  previous_response_id = $first.id
} | ConvertTo-Json -Depth 8
$next = Invoke-RestMethod `
  -Uri "http://localhost:1234/v1/responses" `
  -Method Post -ContentType "application/json" -Body $nextBody
$next | ConvertTo-Json -Depth 12

実際のresponseにidが含まれるか、保存設定が有効かは手元のLM Studioの応答で確認します。最初の検証では公開テスト文だけを使い、個人情報・秘密鍵・業務資料をstateful履歴へ入れません。

  • 最初のresponseをそのままログへ保存せず、必要なidと時刻だけを記録する。
  • previous_response_idの値がresp_で始まる現行例と一致するか確認する。
  • 新しい会話にしたいときは前回idを送らず、明示的に履歴の境界を作る。
  • statefulを使わない設計では、アプリ側で必要な履歴と保存先を自分で管理する。

stream=trueのSSEをWindowsで観察する

Responses docsではstream=trueのとき、response.created、response.output_text.delta、response.completedなどのSSEイベントが案内されています。最初はcurl.exe -Nでイベント列を目視し、PowerShellのInvoke-RestMethodで完成済みJSONを読む場合と同じparserを使わないようにします。

curl.exe -N http://localhost:1234/v1/responses `
  -H "Content-Type: application/json" `
  -d "{"model":"MODEL_IDENTIFIER","input":"短いストリーミング応答を返してください","stream":true}"
LM Studio Responses streamingの確認
段階見るもの切り分け
接続HTTP応答とSSEの開始server、port、認証、proxyを確認
イベントevent名とdata行SSEを行単位で読む。完成JSONと混同しない
本文response.output_text.deltadeltaを順番に連結する
終了response.completedまたはerror終了イベント・切断・エラーを記録する

SSEでは途中の断片だけを永続化せず、接続切断、再接続、重複、完了イベントの扱いを決めます。streamが崩れたときは、まずstream=falseで同じmodelとinputが返ることを確認してからchunk処理を追加します。

reasoning・Tool Use・MCPを別の機能として扱う

Responses docsの現行例にはreasoningのeffort指定と、Remote MCP toolsを有効化したrequestが掲載されています。ただし、reasoningが使えるか、toolやMCPがどこへ接続するか、モデルがどの出力を返すかは別々の確認項目です。JSON Schemaを固定したい場合はStructured Output、custom functionを自作する場合はTool Useの記事へ分岐します。

Responses APIと周辺機能の境界
機能この記事での位置づけ先に確認すること
reasoningResponses requestへ設定を追加できる場合があるモデル対応、設定値、応答時間、出力の扱い
Tool Usecustom functionの呼び出しと実行ループtools schema、allowlist、引数検証、再送
Remote MCPResponses docsにあるopt-inの連携Developer設定、server URL、許可tool、外部送信
Structured OutputJSON Schemaへ寄せる出力制約response_format、schema、JSON.parse、業務検証

local serverがlocalhostにあるだけで、Remote MCP先やcustom toolの外部作用までローカル完結になるわけではありません。削除、上書き、購入、メール送信、認証情報の利用などは自動実行へ直結させず、人間の確認を残します。

つながらない・404・継続できない時の切り分け

Responses APIのトラブルは、LM Studioアプリ、local server、model、path、request body、SSE parserを一度に変えずに確認します。native /api/v1/chatの成功を、互換 /v1/responsesの成功と読み替えないことも重要です。

LM Studio Responses APIトラブルの切り分け
症状原因候補最初の確認
connection refusedserver停止、port違い、認証、Windows側の接続問題Developer tab、lms server status、localhost:port
404nativeと互換pathの混同、末尾path違いPOST /v1/responsesを正確に確認
model errormodel identifier違い、未ロード、モデル非対応GET /v1/models、lms ps、実際のmodel値
reasoningで失敗モデルが設定に対応しない、値が違うreasoningなしの最小requestへ戻す
継続できないidの保存、store、previous_response_idの値違い最初のresponseを安全な形で確認する
streamが読めないSSEをJSON一括parserで処理しているstream=falseへ戻し、curl.exe -Nでeventを観察
  1. LM Studioの通常chatでモデル単体の返答を確認する。
  2. Developer tab、port、lms server statusを確認する。
  3. GET /v1/modelsでmodel identifierを確定する。
  4. POST /v1/responsesをstream=false、短いinputで呼ぶ。
  5. stateful、reasoning、SSE、tool・MCPを1機能ずつ追加する。

よくある質問

LM StudioのResponses APIで使うendpointは何ですか?

この記事の中心はOpenAI互換のPOST /v1/responsesです。Developer tabまたはlms serverでlocal serverを起動し、portとGET /v1/modelsのmodel identifierを手元の環境に合わせます。

LM StudioのResponses APIはWindowsで使えますか?

使えます。LM Studioのlocal serverをWindowsで起動し、PowerShellのInvoke-RestMethodやcurl.exeからlocalhostの/v1/responsesへJSONを送ります。最初はstream=falseの短いinputで確認します。

previous_response_idとは何ですか?

前回のresponse idを次のrequestへ渡し、Responses APIのstateful follow-upを行うための値です。store、idの保存、履歴と機密情報の扱いは手元の設定とアプリ側で確認してください。

Responses APIのstreamingはどう実装しますか?

requestにstream=trueを指定し、SSEのイベントを受け取ります。公式例にはresponse.created、response.output_text.delta、response.completedがあるため、JSON一括parserとは分けて実装し、最初はcurl.exe -Nで実際のeventを観察します。

LM StudioのResponses APIでreasoningを使えますか?

公式Responses docsにはreasoningのeffort指定例があります。ただし、すべてのモデルが同じ設定に対応するとは限らないため、reasoningなしの最小requestが動いてから、モデルの公式情報と手元の応答を確認して追加します。

native /api/v1/chatと/v1/responsesは同じですか?

同じではありません。/v1/responsesはOpenAI互換のResponses形式、/api/v1/chatはLM Studio native APIで、input・integrations・native outputやイベントの扱いが異なります。pathとresponse parserを混ぜないでください。

Responses APIとTool Use・Structured Output・MCPの違いは何ですか?

Responses APIはrequest・stateful follow-up・streamingを含むAPI形式です。Tool Useは関数呼び出し、Structured OutputはJSON Schema、MCPはツールやデータ接続の仕組みで、endpointが同じでも権限と実行範囲は別に設計します。

次に読むおすすめルート

開発・API連携したい人

LM StudioとOllamaの違いを確認し、API、長文処理、RAGまで段階的に進みます。

  1. ローカルAIをAPIで使う方法
  2. WindowsでローカルAIコーディングを始める
  3. VS CodeでローカルAIを使う
  4. LM Studioのlms CLIを使う
  5. LM StudioのTool Useを使う
  6. LM StudioのStructured Outputを使う
  7. LM StudioのMCPをAPIで使う
  8. ローカルAIでJSON出力する方法
  9. LM StudioとOllamaの違い
  10. コンテキスト長とは
  11. RAG・埋め込み・ベクトルDBの仕組み
  12. OllamaのEmbedding APIを使う
  13. OllamaのResponses APIを使う
  14. OllamaのAPI認証を確認する
  15. OllamaをWindowsのLANから使う前の確認
  16. OllamaのモデルID・能力を確認する
  17. OllamaのModelfileを使う
  18. Ollama native API streamingを使う
  19. Ollama Web Search APIを使う
  20. OllamaのThinkingを使う
  21. LM StudioのEmbedding APIを使う
  22. RAG評価と引用確認の基礎
  23. faithfulness確認
  24. ローカルRAGのプライバシー
  25. MCPとは
  26. ローカルLLMの安全性とプライバシー
  27. Gemma 4 12Bの更新メモ
  28. Hermes Desktopとは
  29. Hermes DesktopとLM Studio接続
  30. Hermes DesktopとOllama接続
  31. Hermes Desktop接続トラブル
  32. Hermes DesktopでOpenRouterを使う
  33. Hermes DesktopでDeepSeek APIを使う
  34. Hermes DesktopでProviderを使い分ける
  35. Hermes DesktopとLM Studio接続の確認ポイント
  36. Hermes AgentとDesktopの違い
  37. Ollamaとは
  38. Windows ARMでローカルAIを使う前の確認
  39. WindowsでOllamaをインストールする
  40. Ollamaのローカルモデルとcloudモデルの違い
  41. Ollamaのモデル保存場所と移動
  42. Ollamaのモデル一覧・削除・容量整理
  43. OllamaのOpenAI互換APIを使う
  44. Ollamaのtool callingを使う
  45. OllamaのStructured Outputsを使う
  46. OllamaのEmbedding APIを使う
  47. OllamaのResponses APIを使う
  48. OllamaのAPI認証を確認する
  49. OllamaのモデルID・能力を確認する
  50. OllamaのModelfileを使う
  51. Ollama native API streamingを使う
  52. LM StudioのEmbedding APIを使う
  53. Ollamaの解説
  54. 診断基準
  55. 比較表

あなたはどのタイプ?

関連チェック先

  • LM Studio Responses - OpenAI互換のPOST /v1/responses、reasoning、previous_response_id、stream、Remote MCPの現行例を確認できます。
  • LM Studio OpenAI Compatibility - OpenAI互換endpoint、base URL、model identifierの前提を確認できます。
  • LM Studio REST API - native /api/v1とOpenAI互換endpointの機能比較を確認できます。
  • LM Studio native chat API - POST /api/v1/chatのinput、store、previous_response_id、SSE、native outputを確認できます。
  • LM Studio Chat Completions - POST /v1/chat/completionsとResponses APIを使い分けるための互換API入口を確認できます。
  • LM Studio local server - WindowsのDeveloper tabでlocal serverを起動する前提を確認できます。
  • LM Studio lms CLI - lms server start、status、モデル操作の現行CLI入口を確認できます。

関連ツール

比較表を見る / 最初に検討しやすいツールを確認する