Lightweight reasoning model for mathematics, science, and coding tasks
o3-mini is a compact reasoning model from OpenAI designed for technical tasks, with a focus on mathematics, science, code, and multi-step logic problems. It offers adjustable reasoning effort and supports function calling, structured outputs, and streaming responses, making it suitable for embedding in coding assistants, problem-solving applications, and technical analysis workflows. Applications can integrate using the public request format in this page's API section.
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["ACEDATACLOUD_API_KEY"],
base_url="https://api.acedata.cloud/v1",
)
response = client.responses.create(
model="o3-mini",
input="Hello!",
)
print(response.output_text)
Choose an available protocol for this model. OpenAI SDK uses a Base URL ending in /v1; Anthropic SDK uses the root URL. See each guide for protocol-specific parameters, tools and response formats.
Specifications and interface features
Clarify capacity, inputs and outputs, and invocation methods before choosing a model.
Input and output
Text questions, code, and conversation history as input; text responses as output
Supports function definitions, call parameter generation, and tool result insertion
Messages and responses
Supports developer messages and streaming output
Vision capability
Does not support image understanding
Invocation method
Chat Completions or Responses
Native context window
200,000 tokens
Native maximum output
100,000 tokens
The native capabilities on this page apply to o3-mini. Chat Completions uses messages, while Responses uses input; applications provide history according to the respective protocol, and shared parameters do not mean this model supports every combination.
Core Capabilities
Learn what o3-mini can bring to your work.
Apply reasoning resources to technical challenges
o3-mini focuses on mathematical, scientific, and programming reasoning, rather than merely generating fluent text. For problems involving multiple conditions, you can ask it to organize solution steps, explain assumptions, and provide verification methods. Clearly stating variables, units, and constraints makes it easier to obtain verifiable technical answers.
Adjust reasoning effort according to task difficulty
low, medium, and high allow the same model to adapt to tasks of different complexity. For routine code explanations, start with low; for analysis involving multiple constraints, start with medium; and try high for difficult problems. Increasing the level is a choice to invest more in reasoning; it does not mean you will get better answers every time, nor does it mean longer responses are required.
Bring answers into program workflows
Function calling and structured outputs make o3-mini suitable for handling analysis stages within applications. You can define function names and parameters for the model to generate call suggestions; you can also specify a JSON structure to receive classifications, repair suggestions, or problem-solving results. Tool execution and result validation remain the application's responsibility; generating call parameters does not automatically complete an operation.
Use Cases
Start with specific tasks to find where the model can be effective.
Code debugging and repair suggestions
Provide relevant code, error logs, expected behavior, and runtime conditions, and let o3-mini analyze possible causes and produce modification plans and test case suggestions. It is suitable for identifying algorithmic boundaries, missing conditions, and implementation logic issues. Fixes that require actual execution should be verified in a test environment rather than deploying generated code directly to production.
Mathematics and science problem-solving assistance
Submit the problem statement, formulas, known conditions, and your own attempted solution process, and let the model provide solution explanations, compare different methods, or check for flaws in derivations. Deliverables can include step-by-step explanations, assumption lists, and verification approaches. If a problem comes from an image, convert it to text first and retain necessary descriptions of symbols, units, and geometric relationships.
Technical rules and constraint analysis
Organize business rules, configuration conditions, or algorithm requirements into text, and let o3-mini analyze relationships between conditions to generate decision tables, explanations of exception branches, or structured validation results. It is suitable for technical analysis with clearly defined inputs and acceptance criteria; when using JSON output, define fields and allowed values first, then perform programmatic validation.
How to choose this model
Choose based on task complexity, input materials, and expected results.
Upgrade technical tasks from o1-mini
If you previously used o1-mini for code, math, or science problems, o3-mini is worth considering as a replacement. OpenAI's published evaluations show improved answer accuracy and clarity in these areas, along with added support for function calling, structured outputs, and developer messages. It is recommended to validate performance using your own problem sets, code samples, and formatting requirements before deciding the scope of migration.
How to choose between o1 and high-effort options
If you focus on technical problems and want flexible control over reasoning effort, choose o3-mini; for broader general-knowledge reasoning, consider o1. In some technical evaluations, o3-mini's medium setting performs close to o1, but this should not be taken to mean they are equivalent for all tasks. o3-mini-high is the high-effort option in ChatGPT; here, use o3-mini with high rather than switching to that name.
Start with a specific task
Based on o3-mini's characteristics, first validate a small task whose results can be checked.
01
Analyze algorithm boundaries and complexity
You can ask directly: Explain this algorithm's behavior with empty input, duplicate elements, and extreme values, and provide time and space complexity plus the smallest counterexample. Use only the provided text and code.
02
Prepare inputs that support a decision
Do not rely on image input; provide failure cases and output constraints, and choose reasoning effort based on task difficulty.
03
Then integrate it into your workflow
Use the full model ID o3-mini, first confirm the public request format and available parameters on the API page, then connect your application. Keep the result parsing, exception handling, and relevant evidence, and evaluate with the same set of real samples whether it is suitable for continued use.
Usage Boundaries
Before formal use, understand the output quality and capability scope.
o3-mini does not support visual understanding and cannot reason directly from screenshots, photos, or scanned pages. For math problems with images, interface errors, and chart analysis, first extract the text and supplement key relationships; if the task must retain spatial or visual information, choose a model that supports vision.
Reasoning answers may still contain calculation errors, omitted conditions, or incorrect code assumptions. Mathematical results should be verified through substitution or independent calculation, and repair suggestions should be tested. Especially for problems with incomplete information, have the model state its assumptions clearly; do not treat completed conditions as known facts.
Function-calling capability does not equal built-in code execution, and text reasoning does not equal automatically obtaining the latest information. Basic requests require the application to arrange tool execution and fill in results; tool permissions and data read/write operations should be configured according to the selected workflow and cannot be guaranteed by prompts alone.
Frequently Asked Questions
Answers to common questions about using o3-mini.
How should o3-mini's reasoning effort be set?
Start with medium and compare results on real tasks; try low for simple explanations, and high for complex derivations or difficult coding problems. Chat Completions uses reasoning_effort, while Responses uses reasoning configuration settings. o3-mini's native levels are low, medium, and high; other levels should not be applied to it.
Can o3-mini analyze code in screenshots?
It cannot directly understand screenshots because it does not support vision. First convert the code and errors in the screenshot to text, then submit file snippets, the runtime environment, and expected results. If the screenshot involves layout, graphics, or other information that cannot be fully transcribed, use a model that supports image understanding instead.
Can o3-mini return JSON with a fixed structure?
Yes, it supports structured outputs. When using Chat Completions, you can select json_schema through response_format and define the field structure, which is suitable for returning diagnostic results, rule classifications, or repair suggestions. Meeting the required structure does not guarantee that the content is correct; applications should still check field values and business conditions.
Which API should I choose when integrating o3-mini?
Use Chat Completions or Responses and provide the complete model ID. Chat Completions uses messages and choices, while Responses uses input and its corresponding response structure; handle history management, streaming events, and tool parameters separately according to the selected API, and do not mix the two formats.
Is o3-mini-high another callable model?
o3-mini-high is the high reasoning-effort option provided in ChatGPT when OpenAI released it, not a model ID that needs to be substituted here. When calling it, still select o3-mini and set reasoning effort to high. It is also different from o3, and their names or capabilities should not be treated as exactly the same.