Skip to main content
Kyara supports the chat completions endpoint for text generation. Any OpenAI-compatible client can connect, but the capabilities below are not available.

Summary

  • Function and tool calling: tools and tool_choice are silently ignored, so the model never sees them.
  • Structured outputs and JSON mode: response_format is silently ignored.
  • Vision: image inputs are rejected. Message content must be plain text.
  • Audio: no audio input or output, speech synthesis, or transcription.
  • Embeddings: no /v1/embeddings endpoint.

Available endpoints

These are the endpoints available to API clients. Every other OpenAI API path returns 404 Not Found in the standard OpenAI error envelope.

Request parameters

Chat completions requests are validated against an allowlist. Every parameter falls into one of three groups: forwarded to the model, silently ignored, or rejected with a 400 error.

Supported

These parameters are accepted and passed through to the model:
  • model, messages
  • temperature, top_p, top_k, min_p, presence_penalty, frequency_penalty, repetition_penalty, seed
  • max_tokens, max_completion_tokens, stop
  • n (only 1 is accepted; any other value is rejected with a 400 error)
  • stream, stream_options (include_usage, include_obfuscation)
  • logprobs, top_logprobs, user, session_id
  • reasoning (object with effort, max_tokens, enabled, and exclude)
  • reasoning_effort (folded into reasoning.effort; an explicit reasoning.effort wins)

Silently ignored

The following parameters do not produce an error. For client compatibility, Kyara removes unrecognized top-level parameters from the request instead of rejecting it. Sending tools or response_format returns a normal text response. The model never sees those fields, so tool calls and structured output simply will not happen.
  • tools, tool_choice, functions, parallel_tool_calls
  • response_format (JSON mode and structured outputs)
  • logit_bias, prediction
  • modalities, audio, web_search_options
  • store, metadata, service_tier

Rejected with an error

The following request shapes return a 400 validation error. The error body follows the OpenAI envelope; message explains the problem and param names the offending field, for example messages.0.tool_calls.
  • Message content that is not a plain string. Multimodal content arrays containing image_url or audio parts are rejected.
  • Message roles other than system, developer, user, or assistant. There is no tool role.
  • Unknown fields inside messages, stream_options, or reasoning objects. Message objects accept only role, content, name, reasoning, reasoning_content, and reasoning_details.
  • A session_id longer than 256 characters.

Notes

  • top_k, min_p, repetition_penalty, and session_id are Kyara extensions beyond the OpenAI standard. See the chat completions reference for details.
  • Requests without max_tokens or max_completion_tokens get a default output limit of 8192 tokens. Explicit values above the model’s maximum output length are lowered to that maximum.
  • To control reasoning, send "reasoning": { "effort": "medium" }. The top-level reasoning_effort also works and is folded into reasoning.effort, with an explicit reasoning.effort winning.
  • Support for sampling parameters varies per model, so check the catalog.
This list can shrink. Unsupported today does not mean unsupported forever. Check back here as the platform evolves; newly added capabilities will move off this page and into the API reference.