Referência da API
Chat completions
POSThttps://api.offmem.app/v1/chat/completions
Gera a resposta do modelo no formato Chat Completions da OpenAI. Funciona com os SDKs oficiais da OpenAI.
curl https://api.offmem.app/v1/chat/completions \
-H "Authorization: Bearer $OFFMEM_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "offmem-glm-5.3-flash-abliterated",
"messages": [{"role": "user", "content": "Explique o que é uma API em uma frase."}]
}'Cabeçalhos
AuthorizationBearer om_...obrigatório- Chave de API.
x-api-keytambém funciona. Content-Typeapplication/jsonobrigatório- Corpo em JSON.
Corpo
modelstringobrigatório- Id do modelo. Veja Modelos.
messagesarrayobrigatório- Conversa no formato da OpenAI (
system,user,assistant,tool). Não pode ser vazia. Partesimage_urlsó em modelos com visão. streamboolean- Devolve a resposta em partes, como server-sent events. Padrão
false. stream_options.include_usageboolean- Com
stream, acrescenta um último evento comusage. max_completion_tokens, max_tokensinteger- Limite de tokens de saída. Também serve para reservar saldo antes da chamada; sem ele, a reserva considera 4.096 tokens de saída.
ninteger- Só
1. Outro valor recebe400 invalido. tools, tool_choicearray, string | object- Chamada de funções no formato da OpenAI, repassada ao modelo.
temperature, top_p, stop, …- Os demais parâmetros da OpenAI seguem para o modelo como enviados. O suporte depende do modelo.
Campos removidos
store, metadata, user e safety_identifier são descartados antes de a requisição chegar ao modelo.Resposta
Objeto chat.completion da OpenAI. model traz o id do offmem e usage traz só contagens de tokens: prompt_tokens, completion_tokens, total_tokens, prompt_tokens_details.cached_tokens e completion_tokens_details.reasoning_tokens, quando o modelo informa.
{
"id": "...",
"object": "chat.completion",
"created": 1762560000,
"model": "offmem-glm-5.3-flash-abliterated",
"choices": [
{
"index": 0,
"message": { "role": "assistant", "content": "..." },
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 18,
"completion_tokens": 32,
"total_tokens": 50,
"prompt_tokens_details": { "cached_tokens": 0 }
}
}x-offmem-request-idcabeçalho- Identificador da requisição, o mesmo do console.
Streaming
Com "stream": true a resposta é text/event-stream: eventos chat.completion.chunk e um data: [DONE] no fim. O evento de uso só vem quando stream_options.include_usage é true.
curl -N https://api.offmem.app/v1/chat/completions \
-H "Authorization: Bearer $OFFMEM_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "offmem-glm-5.3-flash-abliterated",
"stream": true,
"stream_options": {"include_usage": true},
"messages": [{"role": "user", "content": "Explique o que é uma API em uma frase."}]
}'Eventos
data: {"id":"...","object":"chat.completion.chunk","model":"offmem-glm-5.3-flash-abliterated","choices":[{"index":0,"delta":{"content":"..."}}]}
data: {"id":"...","object":"chat.completion.chunk","model":"offmem-glm-5.3-flash-abliterated","choices":[],"usage":{"prompt_tokens":18,"completion_tokens":32,"total_tokens":50}}
data: [DONE]Se a conexão for fechada antes do fim, a requisição é cobrada por estimativa: a entrada mais o que já foi entregue.
Duração
Uma requisição pode durar até 300 segundos.