Transformar LM Studio em um servidor de API OpenAI (2026)
No LM Studio, abra a aba Developer e ative o interruptor Start server: o servidor escuta na porta 1234 e expõe endpoints compatíveis com a OpenAI (/v1/chat/completions, /v1/responses, /v1/embeddings, /v1/models). Qualquer cliente OpenAI funciona apenas alterando o endereço base. Por padrão, o servidor não exige autenticação e escuta apenas em localhost: os tokens de API e o acesso à rede são configurados em Server Settings.
LM Studio não é apenas uma interface de chat: seu servidor local substitui a API da OpenAI para seus scripts, editores de código e agentes, sem enviar uma linha de texto para fora. Este guia abrange a ativação, cada configuração do servidor, o acesso pela rede com autenticação, o carregamento dos modelos sob demanda e as limitações reais de um único computador, considerando as mudanças da versão 0.4.
#O que você obtém
Ao final deste guia, você terá um endereço http://localhost:1234/v1 que qualquer SDK da OpenAI (Python, JavaScript, C#), LangChain ou ferramenta de código como Cline ou Continue pode usar no lugar da API da OpenAI. O servidor também oferece uma API nativa em /api/v1 (chat com estado, carregamento e download de modelos) e endpoints compatíveis com a Anthropic. Tudo permanece na sua máquina: o modelo, as requisições e as respostas não saem do seu computador, desde que você mesmo não exponha o servidor na rede.
#1. Iniciar o servidor
Seu ChatGPT privado e gratuito na sua máquina em 1 hora — LM Studio, Ollama, Open WebUI, seus documentos, sem nuvem.
- Espaço online vitalício
- PDF + arquivos
- Atualizações vitalícias
- 01Abra a aba DeveloperNo LM Studio, a aba Developer agrupa o servidor, seus logs e suas configurações. O modelo a ser servido deve ser baixado previamente.
- 02Ative Start serverAtive o interruptor Start server: o servidor inicia na porta indicada em Server Settings, 1234 nos exemplos da documentação.
- 03Ou inicie pela linha de comandoAtravés de um terminal, o comando lms server start inicia o mesmo servidor, sem abrir a interface.
- 04Verifique a lista de modelosConsulte /v1/models para confirmar que o servidor está respondendo e ver os identificadores dos modelos a serem usados nas suas requisições.
#2. As configurações do servidor, uma por uma
As configurações ficam em Developer, Server Settings. Elas determinam quem pode chamar o servidor e o que os clientes podem fazê-lo executar. A maioria dos problemas de integração vem de uma dessas opções, geralmente a de rede ou a de CORS.
| Ajuste | Função | Recomendação |
|---|---|---|
| Server Port | Porta de escuta do servidor (1234 na documentação) | Altere-o se a porta já estiver em uso |
| Require Authentication | Exige um token de API válido no cabeçalho Authorization | Habilite-o assim que o servidor sair do localhost |
| Serve on Local Network | Torna o servidor acessível aos outros dispositivos da rede local | Desativado por padrão; combinar com autenticação |
| Allow per-request MCPs | Permite que os clientes usem servidores MCP remotos temporários | Deixe desativado a menos que haja necessidade específica |
| Allow calling servers from mcp.json | Permite que os clientes usem os servidores MCP definidos em LM Studio | Exige autenticação; é arriscado se um MCP acessar seus arquivos |
| Enable CORS | Permite aplicações web de origens diferentes | Apenas para um aplicativo web ou algumas extensões |
| Just in Time Model Loading | Carrega os modelos sob demanda, no momento da requisição | Prático com ferramentas de terceiros; veja a seção dedicada |
| Auto Unload Unused JIT Models | Descarrega os modelos JIT que deixaram de ser usados | Libera a memória |
| Only Keep Last JIT Loaded Model | Mantém apenas o último modelo carregado sob demanda | Útil em uma placa com VRAM limitada |
#3. Testar com curl
Uma primeira chamada de teste é suficiente para validar o servidor. Nas requisições, o campo model deve conter o identificador do modelo tal como aparece no LM Studio, e não um nome genérico como local-model: a documentação lembra isso no exemplo curl.
A resposta é um JSON no formato OpenAI: choices[0].message.content contém o texto. Se o campo model estiver incorreto, ou se o carregamento sob demanda estiver desativado e o modelo não estiver carregado, a requisição falha: verifique primeiro o identificador retornado por /v1/models.
#4. Chamar do Python
O SDK openai pode ser usado alterando apenas o endereço base: é essa a alteração mostrada na documentação do LM Studio. O SDK exige uma chave; enquanto a autenticação estiver desativada, o LM Studio não a verifica, e, se você ativar a autenticação, a chave passa a ser seu token de API.
O streaming funciona como na OpenAI: nenhuma alteração é necessária no lado do cliente para exibir os tokens em tempo real. Para agentes e editores, o LM Studio também implementa o endpoint /v1/responses, apresentado abaixo.
#Qual API escolher: OpenAI, Anthropic ou nativa
O LM Studio oferece três famílias de endpoints. Os endpoints compatíveis com a OpenAI cobrem modelos, respostas, chat, embeddings e completions. Os endpoints compatíveis com a Anthropic aceitam o formato de mensagens da Anthropic. Desde a versão 0.4.0, a API nativa /api/v1 adiciona funções próprias do LM Studio: chat com estado, carregamento, descarregamento e download de modelos, além de configuração do contexto por requisição.
| Necessidade | Endpoint | Observação |
|---|---|---|
| Substituir a API OpenAI em uma ferramenta existente | /v1/chat/completions | Suporte a streaming e ferramentas personalizadas |
| Agente ou cliente do tipo Codex | /v1/responses | Chat com estado e MCP disponíveis |
| Embeddings para um RAG | /v1/embeddings | Modelo de embeddings carregado antecipadamente |
| Clientes que usam o formato Anthropic | Endpoints compatíveis com Anthropic | Mesmo servidor, outro formato de mensagens |
| Carregar, descarregar ou baixar um modelo | /api/v1/models/* | API nativa, recomendada por LM Studio desde 0.4.0 |
| Fixar o contexto na requisição | /api/v1/chat | Único endpoint que aceita o contexto por requisição |
#6. Vários modelos: carregamento on-demand e TTL
Com o carregamento on-demand (JIT, para Just in Time), a primeira chamada a um modelo o carrega na memória, e /v1/models lista todos os modelos baixados, não apenas os carregados. Sem JIT, /v1/models retorna apenas os modelos já carregados e você precisa carregar o modelo antes de chamá-lo. Esse modo é ideal quando uma ferramenta como Zed, Cline ou Continue escolhe sozinha o modelo.
- TTL padrão
- Um modelo carregado on-demand é descarregado após 60 minutos sem requisição.
- TTL por requisição
- Adicione um campo ttl (em segundos) na solicitação; 300 corresponde a 5 minutos.
- TTL para lms load
- Os modelos carregados com lms load não possuem TTL padrão: use a opção --ttl.
- Auto-Evict
- Ativado por padrão: apenas um modelo carregado sob demanda permanece na memória por vez. Desative-o para manter vários.
#7. Expor o servidor na rede, com autenticação
Para que outro computador da rede acesse seu servidor, ative Serve on Local Network em Server Settings ou inicie com o endereço de escuta 0.0.0.0. O servidor deixa então de escutar apenas em localhost: a documentação alerta que qualquer bind diferente de 127.0.0.1 o expõe para além da própria máquina e recomenda ativar a autenticação.
Diferentemente de uma ideia comum, LM Studio sabe autenticar as requisições. Por padrão, não exige autenticação; ao ativar a opção no Server Settings, aceita apenas requisições com token de API válido, criado no Manage Tokens com permissões escolhidas. O token é exibido apenas na criação: copie-o imediatamente. Essa função exige LM Studio 0.4.0 ou uma versão mais recente.
Para acesso pela Internet, não exponha a porta: use uma VPN ou um proxy reverso com TLS. O princípio é o mesmo de um servidor Ollama, detalhado no guia de segurança. Uma alternativa mais simples para usar um modelo de outra máquina é o LM Link, que disponibiliza um modelo de um dispositivo remoto como se estivesse carregado localmente.
#Sem interface gráfica: llmster e início automático
Desde a versão 0.4.0, o núcleo do LM Studio existe na forma de um daemon autônomo, llmster, projetado para rodar sem interface em um servidor Linux, em uma máquina com GPU ou em um computador local. Ele é instalado com uma linha de comando, iniciado com lms daemon up e, em seguida, o servidor é iniciado com lms server start. Em um computador com interface, você também pode marcar, nas configurações do aplicativo, a opção que inicia o servidor ao entrar na sessão: ao fechar o aplicativo, ele é minimizado para a bandeja do sistema e o servidor continua funcionando.
#9. Desempenho: o que realmente importa
- Offload para a GPU
- Carregue o maior número de camadas possível na VRAM. Um modelo que precisa usar também a RAM do sistema perde a maior parte de sua taxa de geração.
- Context Length
- Escolha o tamanho de contexto de que você precisa, não o máximo: o cache de contexto ocupa VRAM e cresce com o tamanho do contexto.
- Max Concurrent Predictions
- Número de requisições processadas simultaneamente por um modelo; acima disso, elas aguardam na fila.
- Unified KV Cache
- Ativado por padrão: os recursos não são compartilhados em partes fixas entre requisições, o que permite tamanhos de requisição variáveis.
O guia sobre Flash Attention e o guia sobre a janela de contexto detalham os efeitos na memória. Para uma alta taxa de processamento com vários usuários, um servidor dedicado continua sendo mais adequado: o guia sobre vLLM mostra como fazer a implantação.
#Limitações e alternativas: o que mudou
Várias limitações frequentemente citadas já não se aplicam, e corrigir essas informações muda a escolha da ferramenta. A tabela compara o que ainda se lê com o que a documentação atual indica.
| Mito | Realidade |
|---|---|
| Sem autenticação | Tokens de API disponíveis a partir da 0.4.0, desativados por padrão |
| As requisições são executadas sequencialmente | A 0.4.0 trata de requisições paralelas ao mesmo modelo (batching contínuo), até Max Concurrent Predictions; as seguintes esperam |
| Licença comercial obrigatória no trabalho | Gratuito em casa e no trabalho desde julho de 2025, segundo a divulgação do LM Studio |
| Impossível sem interface gráfica | llmster funciona como daemon, sem interface gráfica |
| Um único computador, sem compartilhamento | Serve on Local Network e LM Link permitem atender outros dispositivos |
Ainda existem limitações reais: o LM Studio foi feito para uma estação de trabalho, não para um cluster; o batching contínuo não substitui um servidor projetado para dezenas de usuários, como o vLLM; e as atualizações do aplicativo podem alterar um comportamento, o que exige manter uma versão fixa em uma máquina que disponibiliza um serviço. Para escolher entre o LM Studio e seus concorrentes, compare-os antes de se comprometer.
- Implantar vLLM em produção
- Ollama vs LM Studio vs Jan vs GPT4All
- LM Studio no Linux
- Conectar Cline a um modelo local
- Fonte: documentação LM Studio, servidor de API local
- Fonte: documentação LM Studio, configurações do servidor
- Fonte: documentação LM Studio, autenticação
- Fonte: documentação LM Studio, compatibilidade com OpenAI
- Fonte: anúncio de LM Studio 0.4.0
Como ativar o servidor API no LM Studio?+
Como tornar o servidor LM Studio acessível de outro PC?+
O LM Studio tem autenticação para sua API?+
O LM Studio trata múltiplas requisições em paralelo?+
Qual identificador colocar no campo model?+
O LM Studio é gratuito para uso em empresa?+
Um comentário, um erro ou uma observação? Avise-nos; isso ajuda a melhorar o guia para todos.