Chat Completions
Generate conversational responses using a structured message format with roles (system, user, assistant, developer, tool). Best for chatbots, assistants, and multi-turn conversations.
Authorizations
API key for authentication. Obtain your key from the Cerebras Cloud console and pass it as Authorization: Bearer YOUR_API_KEY.
Headers
The media type of the request body. Supported values: application/json, application/vnd.msgpack. Default: application/json.
application/json, application/vnd.msgpack The compression encoding applied to the request body. When set, the request body must be gzip-compressed. Can be combined with any supported Content-Type. Supported values: gzip.
gzip Controls the queue time threshold for requests using the flex or auto service tiers. Requests are preemptively rejected if the rolling average queue time exceeds this threshold. Valid range: 50–20000 (milliseconds). Private Preview.
Body
A list of messages comprising the conversation so far. Depending on the model you use, different message types (modalities) are supported, like text and images.
Developer-provided instructions the model should follow regardless of user messages.
- System message
- User message
- Assistant message
- Tool message
- Developer message
The ID of the model to use for generating a response.
Controls whether thinking content from previous conversation turns is included in the prompt context.
false- Thinking from all previous turns is preserved in the conversation history. Recommended for agentic workflows where reasoning from past tool-calling turns may be relevant for future tool calls.true(default) - Thinking from earlier turns is excluded. Recommended for general chat conversations where reasoning from past turns is less relevant for performance.
When this parameter is not specified or set to null, the API defaults to clear_thinking: true.
Only supported on the zai-glm-4.7 model. For additional information, see Preserved thinking in the Z.ai documentation.
A number between -2.0 and 2.0. Positive values reduce the likelihood of the model repeating tokens by applying a penalty proportional to how frequently each token has already appeared in the generated output.
-2 <= x <= 2Modify the likelihood of specified tokens appearing in the completion. Accepts a JSON object that maps tokens (specified by their token ID in the tokenizer) to an associated bias value from -100 to 100. Mathematically, the bias is added to the logits generated by the model prior to sampling. The exact effect will vary per model, but values between -1 and 1 should decrease or increase likelihood of selection; values like -100 or 100 should result in a ban or exclusive selection of the relevant token.
Whether to return log probabilities of the output tokens.
The maximum number of tokens that can be generated in the completion, including reasoning tokens. The total length of input tokens and generated tokens is limited by the model's context length.
Whether to enable parallel function calling during tool use. When enabled (default), the model can request multiple tool calls simultaneously in a single response. When disabled, only one tool call is made at a time.
Configuration for a Predicted Output, which can greatly speed up response times when large parts of the model response are known in advance. Most common when regenerating a file with mostly minor changes.
A number between -2.0 and 2.0. Positive values reduce the likelihood of the model repeating tokens that have already appeared in the output, encouraging the model to introduce new topics.
-2 <= x <= 2An opaque identifier that groups related requests so they reuse the same prompt cache. Requests sharing the same 'prompt_cache_key' are routed together, which increases cache hits and reduces time to first token.
Set it to a stable identifier like a conversation ID, user ID, or session ID.
Requires account-level enablement. Contact us or reach out to your account representative to request access.
1024Controls the amount of reasoning the model performs. Supported values vary by model:
- gpt-oss-120b:
low,medium(default),high - zai-glm-4.7:
none(disables reasoning) - gemma-4-31b:
none(default),low,medium,high(all enable reasoning equivalently).rawandhiddenreasoning formats are not supported.
low, medium, high, none An object that controls the format of the model response.
Setting { "type": "json_schema", ... } enables Structured Outputs, which enforces schema compliance. See Structured Outputs for details.
Setting { "type": "json_object" } enables legacy JSON mode, which ensures the model returns valid JSON but does not enforce a specific schema. To use json_object, include a system or user message specifying the desired format. json_object is not compatible with streaming — stream must be set to false.
- Text
- JSON Schema
- JSON Object
If specified, the system will make a best effort to sample deterministically so repeated requests with the same seed and parameters return the same result. Determinism is not guaranteed.
Controls request prioritization.
Note: This feature is in Private Preview. For access or more information, contact us or reach out to your account representative.
Available options:
priority- Highest priority processing (Only available for dedicated endpoints, not shared endpoints.)default- Standard priority processingauto- Automatically uses the highest available service tierflex- Lowest priority processing
See Service Tiers for more information.
priority, default, auto, flex Up to 4 sequences where the API will stop generating further tokens. The returned text will not contain the stop sequence.
If set to true, partial message deltas will be sent.
Sampling temperature between 0 and 2.0. Higher values (e.g. 0.8) make output more random; lower values (e.g. 0.2) make it more focused and deterministic. We recommend altering this or top_p, not both.
0 <= x <= 2Controls which (if any) tool is called by the model.
none— no tool is calledauto— (default when tools are present) the model chooses whether to call a toolrequired— forces a tool call
A specific tool can be forced by passing an object specifying the function name.
none, auto, required A list of tools the model may call. Use this to provide a list of functions the model may generate JSON inputs for.
Currently, only functions are supported. Specifying tools consumes prompt tokens; too many may degrade performance or hit context length limits.
An integer between 0 and 20 specifying the number of most likely tokens to return at each token position, each with an associated log probability. If using this parameter, logprobs must also be set to true.
0 <= x <= 20Nucleus sampling parameter. The model considers only the tokens comprising the top top_p probability mass (e.g. 0.1 means only the tokens comprising the top 10% probability mass are considered). We recommend altering this or temperature, not both.
0 <= x <= 1A unique identifier representing your end-user, which can help monitor and detect abuse.
Response
Successful response
A unique identifier for the chat completion.
A list of chat completion choices. Can be more than one if n is greater than 1.
Unix timestamp (in seconds) of when the completion was created.
The model used for the chat completion.
The object type. Always chat.completion.
chat.completion A fingerprint for the model or backend used to generate the response.
The service tier used for the request, or null if not specified.
The service tier used for processing the request. Only present when service_tier is set to auto in the request.
priority, default, flex Usage statistics for the completion request.
Performance timing information for the request.

