Chat completion
chat_completeRun a chat completion on any model in the Hubris catalogue and get the answer back. Full parity with POST /v1/chat/completions — same request shape, same response shape, including tool calls, structured output and reasoning. Streaming is not available here: MCP tool calls are synchronous, and stream is ignored if you pass it.
This is how you reach a model you cannot reach otherwise — pick an id with models_search, then call it here. Useful for delegating a subtask to a cheaper or a stronger model than the one you are running on.
Chat models that draw (Gemini Image, GPT-5 Image) take modalities ["image","text"]; their pictures come back as image content next to the JSON. Voice answers of audio models need streaming and are available through the HTTP API only.
The call spends real money from the account balance: it is billed per token at the catalogue price, in rubles. balance_get shows what is left.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| seed | No | Best-effort determinism. Not every model honours it. | |
| stop | No | Up to four strings that cut the answer short. | |
| model | Yes | Model id from the catalogue, vendor included and matched exactly, e.g. "anthropic/claude-sonnet-5". Short names and names with a trailing date are rejected. Use models_search to find one. | |
| tools | No | Function-calling tools, OpenAI shape. Model must have the "tools" capability. | |
| messages | Yes | Conversation so far, oldest first. | |
| reasoning | No | Extended thinking on models with the "reasoning" capability: {effort:"low"|"medium"|"high"}, {max_tokens:N}, or {enabled:false} to turn it off. | |
| max_tokens | No | Cap on the length of the answer, in tokens. | |
| modalities | No | ["image","text"] on chat models that draw (Gemini Image, GPT-5 Image): the pictures come back as image content. | |
| web_search | No | Enables built-in web search on models whose capabilities include "web_search". | |
| temperature | No | Sampling temperature, 0–2. Some newer models reject it; leave it out unless you need it. | |
| tool_choice | No | "auto", "none", "required", or a specific function to force. | |
| response_format | No | {type:"json_object"} or {type:"json_schema", json_schema:{…}} to constrain the answer to JSON. |