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

Only the endpoints below exist. Every other OpenAI API path returns 404 Not Found.

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, presence_penalty, frequency_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
  • reasoning (object with effort and/or max_tokens)
  • 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:
  • 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.

Notes

  • top_k is accepted as an extension beyond the OpenAI standard; many models support it.
  • 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.