AuthorizationIn: header
application/jsonRequiredmodelThe model alias or snapshot to use for the chat completion. We recommend using a stable alias unless you need to pin a specific model version.
"solar-pro4" | "solar-pro4-260806" | "solar-mini4" | "solar-mini4-260922" | "solar-pro3" | "solar-pro3-260323" | "solar-pro2" | "solar-pro2-251215" | "solar-mini" | "solar-mini-250422" | "syn-pro" | "syn-pro-251021"messagesA list of messages comprising the conversation so far.
reasoning_effortstringnullAn optional parameter that controls how much reasoning a model does before it answers. Support, accepted values, and behavior when omitted depend on the selected model. The request schema applies model-specific constraints for current Solar model families. Learn more in the Reasoning guide.
max_tokensintegerAn optional parameter that limits the maximum number of tokens to generate. If max_tokens is set, sum of input tokens and max_tokens should be lower than or equal to context length of model.
"inf"streambooleanAn optional parameter that specifies whether a response should be sent as a stream. If set to true, partial message deltas will be sent. Tokens will be sent as data-only server-sent events.
falseValue in: true | falsestream_optionsobjectAn optional object with settings that apply when stream is true.
temperaturenumberAn optional parameter to set the sampling temperature. The value should lie between 0 and 2. Higher values like 0.8 result in a more random output, whereas lower values such as 0.2 enhance focus and determinism in the output.
Defaults to 1.0 for solar-pro4 and 0.8 for solar-pro3.
1Minimum: 0Maximum: 2Format: "float"top_pnumberAn optional parameter to trigger nucleus sampling. The tokens with top_p probability mass will be considered, which means, setting this value to 0.1 will consider tokens comprising the top 10% probability.
Defaults to 0.95 for solar-pro3.
1Minimum: 0Maximum: 1Format: "float"frequency_penaltynumberAn optional parameter that controls the model’s tendency to repeat tokens. The value ranges from -2.0 to 2.0.
This parameter is especially effective in balancing creativity and coherence in longer outputs.
1.1Minimum: -2Maximum: 2Format: "float"presence_penaltynumberAn optional parameter that adjusts the model’s tendency to include tokens already present in the input or generated text. The value ranges from -2.0 to 2.0.
This parameter is useful for controlling coherence (e.g., avoiding topic drift with positive values) or reinforcing key concepts (e.g., with negative values in summaries or creative writing). Unlike frequency_penalty, it focuses on the presence of tokens rather than their repetition frequency.
0Minimum: -2Maximum: 2Format: "float"toolsarraynullA list of tools the model may call. Currently, only functions are supported as a tool. Learn more in the Tool calling guide.. Use this to provide a list of functions the model may generate JSON inputs for.
tool_choicestring | objectControls which (if any) tool is called by the model.
none means the model will not call any tool and instead generates a message.auto means the model can pick between generating a message or calling one or more tools.required means the model must call one or more tools.{"type": "function", "function": {"name": "my_function"}} forces the model to call that tool.none is the default when no tools are present. auto is the default if tools are present.
parallel_tool_callsbooleanWhether to allow parallel function calling during tool use. When enabled, the model may generate multiple tool calls in a single response, allowing independent calls to run concurrently. This setting does not guarantee more than one tool call; process whatever tool_calls the model returns.
trueresponse_formatJSON mode | Structured outputsAn object specifying the format that the model must generate. There are two modes.
{"type": "json_object"}) returns a JSON object without a schema. The conversation must include the word JSON somewhere, otherwise the request is rejected. This mode guarantees that the output parses as valid JSON, but not that it follows any particular shape, so the field names, types, and nesting can differ between calls.{"type": "json_schema", "json_schema": { ... }}) constrains the output to a JSON Schema that you supply, so every response comes back with the same fields, types, and enum values.The current Solar aliases support json_schema. Learn more in the Structured outputs guide.
json_schema is required when type is json_schema, and is ignored otherwise. It must contain a name, strict set to true, and a schema. Following the OpenAI-compatible contract, every object in the schema must set additionalProperties to false and list all of its properties in required; make a value optional by adding null to its type instead of dropping it from required.
prompt_cache_keystringAn optional parameter that specifies a unique key for identifying and caching the prompt. Use a distinct key for each conversational context to improve cache utilization.
null| Model | Omitted | Reasoning off | Reasoning on | Visible reasoning text |
|---|
solar-pro4 | Off | none, minimal | low, medium, high, xhigh, max | Returned |
solar-mini4 | Off | none, minimal | low, medium, high, xhigh, max | Returned |
solar-pro3 | Off | minimal, low | medium, high | May be returned |
solar-pro2 | Off | minimal, low | medium, high | Not returned |
solar-mini | Standard generation | Not supported | Not supported | Not returned |
For solar-pro4 and solar-mini4, an explicit null behaves the same as omitting the parameter and leaves reasoning off; send a value between low and max to turn reasoning on.
When a model returns visible reasoning text, it appears in choices[].message.reasoning for a non-streaming response and in choices[].delta.reasoning for streaming chunks. Reasoning tokens are reported in usage.completion_tokens_details.reasoning_tokens even for models that do not return the reasoning text itself.
A higher effort can increase token usage, latency, and cost, and does not guarantee a better answer.
null | "none" | "minimal" | "low" | "medium" | "high" | "xhigh" | "max"