logitsDocs

API reference

Point any OpenAI SDK at https://api.logits.com/v1 with your API key as a bearer token. Use the model catalog and status endpoint to inspect current availability.

Quickstart

Sign in to the console and create a key on the API keys page. The secret is shown once and cannot be recovered; if the key is restricted to specific models, allow the model you call.

First request
export API_KEY="logits_live_..."  # the key you created
curl https://api.logits.com/v1/chat/completions \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "deepseek/deepseek-v4.1-flash", "messages": [{"role": "user", "content": "Hello"}]}'

These endpoints are on https://api.logits.com:

EndpointReturns
GET /v1/modelsThe catalog
GET /modelsThe detailed provider feed with per-modality pricing and supported parameters
GET /statusThe live per-model health snapshot

Models

ModelProvider contextMax outputNotes
moonshotai/kimi-k3.1-pro1,048,5761,048,576Reasoning, tools, vision. Sparse attention for cheaper long-context decode. The earlier kimi-k3.1-pro ID still works as an alias. The retired kimi-k3, kimi-k3-base and moonshotai/kimi-k3 IDs are not accepted and return model_not_found
deepseek/deepseek-v4.1-flash1,048,576393,216The earlier deepseek-v4.1-flash ID still works as an alias. Dated IDs, when listed in the catalog, are compatibility aliases and do not guarantee a particular serving snapshot
logits/deepseek-v4.1-flash-abliterated1,048,576393,216Reasoning, tools, vision, logprobs. Also accepts deepseek-v4.1-flash-abliterated as an alias; shares the same parameter support as deepseek/deepseek-v4.1-flash

Text requests up to 457,728 bytes are admitted on a byte estimate; larger ones are counted with the model's own tokenizer and admitted up to 4 MiB of request body when the counted prompt plus the requested output fits the 1,048,576-token context (dense English reaches roughly one million prompt tokens within that cap; JSON string escaping counts toward it). Check the model feed for the current limits.

Supported parameters

Parameterdeepseek/deepseek-v4.1-flashlogits/deepseek-v4.1-flash-abliteratedmoonshotai/kimi-k3.1-pro
temperatureSupported (0-2)Supported (0-2)Supported (0-1); 1.0 recommended
top_pSupportedSupportedPassed through (0.95 recommended)
max_tokens, max_completion_tokensSupportedSupportedSupported
stop (up to 4, 1024 bytes each)SupportedSupportedSupported
stream, stream_options.include_usageSupportedSupportedSupported
toolsSupportedSupportedSupported
tool_choiceauto, none, required, named functionauto, none, required, named functionauto, none; required and named function: best effort
response_format (json_object, strict json_schema)SupportedSupportedPassed through
logprobs, top_logprobs (0-20)SupportedSupportedPassed through
reasoning_effortAll effortsAll effortsAll efforts; minimal runs as low, xhigh as max; default max
seed, frequency_penalty, presence_penalty, repetition_penalty, top_kApplied (seed 0 means unset)Applied (seed 0 means unset)Ignored
nMust be 1Must be 1Must be 1
storeMust be falseMust be falseMust be false
  • temperature ranges are enforced, not clamped: a value outside the model's range returns HTTP 400 invalid_parameter.
  • Passed through: the model receives the parameter, but it is not yet qualified, so the provider feed does not declare it.
  • Ignored: accepted for SDK compatibility but not applied to the output.
  • Best effort: passed to the model without a retry, so a forced tool call is not guaranteed.
  • Reasoning efforts are none, minimal, low, medium, high, xhigh, max; none turns reasoning off. Every model also accepts include_reasoning and the OpenRouter-style reasoning: {effort, exclude} object.
  • Vision: image_url parts with public HTTPS or base64 PNG/JPEG/WebP/GIF/BMP/TIFF/PPM. Source inputs fit within the 32 MiB request body (12 MiB on Responses) or the 12 MiB remote-source limit, with at most 12 MiB of each request besides its image data URLs; each prepared data URL must be under 5 MB, and prepared data URLs must total under 32 MiB. Larger sources and images above the model's max_pixels resize target are downscaled and re-encoded to fit, not rejected. Usage reports image_tokens.

Usage, errors and rate limits

  • Usage: the OpenAI shape, with completion_tokens_details.reasoning_tokens and prompt_tokens_details.cached_tokens. Cached input is billed at the cached rate shown in the feed.
  • Errors: always {"error":{"message","type","code","param"}}. Unknown models return 404 model_not_found; unknown parameters return 400 naming the parameter.
  • Rate limits: a per-account, per-model rolling-minute budget of 600 requests, 8M input tokens and 2M output tokens. Responses after account/model quota admission carry x-ratelimit-limit/remaining headers for requests, input tokens and output tokens, plus x-ratelimit-reset; quota rejections add Retry-After. Validation failures and earlier rejections do not carry these headers.
  • Request IDs: every response carries X-Request-Id; quote it in support requests.
  • Long requests: a non-streaming request sends nothing until the whole answer is ready, and NAT gateways and firewalls on your network can drop a connection that stays idle for a few minutes (350 seconds on AWS NAT Gateway, 4 minutes by default on Azure, 10 minutes for the Google Cloud VPC firewall). The answer is then lost, often without an error. Use stream: true for requests that may run longer than a few minutes. Kimi K3.1 Pro streams keep the connection active every 15 seconds. If you must use non-streaming, enable TCP keepalive with an idle time of about 60 seconds and raise your client's request timeout.

On this page