o3
Last updated
Was this helpful?
Last updated
Was this helpful?
OpenAI o3 is OpenAI's most capable reasoning model to date, showing strong performance across programming, mathematics, science, visual understanding, and more. It achieves state-of-the-art results on several benchmarks, including Codeforces, SWE-bench (without custom scaffolding), and MMMU. The model is well-suited for complex tasks that involve layered reasoning and non-obvious answers. It also shows notable strength in visual input analysis—such as interpreting images and charts. In evaluations on challenging, real-world problems, o3 makes 20% fewer critical errors than o1, particularly in domains like software development, business strategy, and creative problem solving.
Only model
and messages
are required parameters for this model (and we’ve already filled them in for you in the example), but you can include optional parameters if needed to adjust the model’s behavior. Below, you can find the corresponding , which lists all available parameters along with notes on how to use them.
If you need a more detailed walkthrough for setting up your development environment and making a request step by step — feel free to use our .
Creates a chat completion using a language model, allowing interactive conversation by predicting the next response based on the given chat history. This is useful for AI-driven dialogue systems and virtual assistants.
An upper bound for the number of tokens that can be generated for a completion, including visible output tokens and reasoning tokens.
512
The maximum number of tokens that can be generated in the chat completion. This value can be used to control costs for text generated via API.
512
If set to True, the model response data will be streamed to the client as it is generated using server-sent events.
false
Controls 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. Specifying a particular tool via {"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.
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.
Whether to enable parallel function calling during tool use.
How many chat completion choices to generate for each input message. Note that you will be charged based on the number of generated tokens across all of the choices. Keep n as 1 to minimize costs.
This feature is in Beta. If specified, our system will make a best effort to sample deterministically, such that repeated requests with the same seed and parameters should return the same result.
Constrains effort on reasoning for reasoning models. Currently supported values are low, medium, and high. Reducing reasoning effort can result in faster responses and fewer tokens used on reasoning in a response.
An object specifying the format that the model must output.
No content