A deep reasoning model for complex programming and visual-text analysis
o3 is a deep reasoning model in OpenAI's o series, suited for tasks where answers are not intuitive and require integrating multiple conditions. It focuses on programming, mathematics, scientific problems, and visual analysis, incorporating information from images into text-based reasoning. For work that requires checking assumptions, comparing approaches, and explaining conclusions, o3 offers more value than simply pursuing brief, instant responses.
Clarify capacity, input and output, and invocation methods before selecting a model.
Input methods
Text, mixed text-and-image input
Output format
Text responses; supports custom function-calling workflows
Vision tasks
Analysis of images, charts, whiteboards, and diagrams
Responses endpoint
/openai/responses:model + input
Chat endpoint
/openai/chat/completions:model + messages
Invocation controls
Streaming responses; the reasoning setting in Responses and the reasoning_effort setting in Chat Completions
Hosted conversations
/aichat2/conversations、/aichat/conversations; continue conversations through stateful and id
Visual-text reasoning and custom function calling are model capabilities, while session management and parameter settings are invocation endpoint features; each parameter must be applicable to o3 to take effect.
Core Capabilities
Learn what o3 can bring to your work.
Break Down Complex Multi-Condition Problems
o3 is suited to problems involving multiple conditions that cannot be addressed by directly applying a template. When handling mathematics, science, or solution analysis, you can ask it to state assumptions clearly, compare candidate explanations, and provide checkable reasoning. Its value lies in integrated analysis, rather than compressing complex problems into an unsupported conclusion.
Incorporate Images into Analysis
o3 does more than describe image content; it can also reason about chart trends, whiteboard relationships, and conditions in diagrams. Submitting an image together with a specific question, such as asking it to explain an unusual change or identify contradictions between conditions, makes better use of its visual analysis capabilities than simply asking “what is in the image?”
Connect Verifiable Tool Results
Through custom function calls, o3 can participate in multi-step workflows involving queries, calculations, and result interpretation. The application provides tool definitions, executes requests, and returns results, after which the model continues its analysis based on them. This makes it possible to combine reasoning with real data, while tool permissions and execution environments remain managed by the application.
Use Cases
Start with specific tasks to find where the model can be effective.
Challenging Code Diagnosis
Provide the relevant code, error logs, expected behavior, and reproduction conditions, and let o3 compare possible causes and propose fixes and testing recommendations. Deliverables can include issue identification, change explanations, and validation steps, making it suitable for debugging that requires understanding multiple constraints rather than merely completing a short piece of code.
Chart and Solution Reviews
Submit business charts, whiteboard photos, or process diagrams, along with review objectives, and let o3 explain key relationships, distinguish observations from assumptions, and organize questions that need verification. It is suitable for creating review outlines and solution comparison notes; important data should ideally also be provided as text to facilitate checking the image-reading results.
Mathematics and Scientific Discussions
Provide the problem, known conditions, and existing approaches, and let o3 check whether the reasoning omits conditions, try different approaches, and propose hypotheses that can be further verified. It can be used to organize proof drafts, research questions, and experimental discussion outlines, though final conclusions should still be tested through independent calculations or professional methods.
How to choose this model
Choose based on task complexity, input materials, and expected results.
Choose o3 for complex analysis; consider o4-mini for batch tasks
When a task requires deeper integrated judgment, especially when involving code, scientific conditions, or cross-analysis of text and images, prioritize o3. o4-mini, on the other hand, focuses on fast, cost-efficient reasoning and is better suited to large volumes of repetitive tasks. For actual model selection, use the same set of business examples to compare answer quality and processing efficiency, rather than relying only on model names.
Distinguish between o3 and o3-pro, then choose an entry point
o3-pro is an independent variant with extended thinking and an emphasis on answer reliability, not a request switch for o3. When using o3, existing messages integrations can use Chat Completions; new workflows organized around responses and tools can use Responses; if you want to ask follow-up questions continuously through a conversation ID, you can use the AI Chat entry point.
Get started
From a small-scale task to formal integration.
01
Prepare tasks and materials
Define the goal, required inputs, and output requirements, using real business examples as a starting point.
02
Try it in the API testing area
Open the trial page, confirm the parameters supported by this entry point, then submit a small-scale task to view the results.
03
Integrate according to the API documentation
Keep the complete model ID, use the request format specified in the documentation, and confirm billing rules on the Pricing page.
Usage boundaries
Before formal use, understand output quality and capability scope.
Visual reasoning cannot replace precise data reading. Small text, blurry coordinates, or missing legends may affect judgment; when analyzing key charts, include values and units, and ask the response to distinguish between directly observed information and inferred explanations.
o3's function-calling capability does not mean that an ordinary request will automatically run Python, search the web, or operate a computer. When computation or real-time information is needed, connect executable tools; for actions involving data modification, set permissions and confirmation steps.
Do not treat audio, files, or all reasoning tiers in shared interfaces as default capabilities of o3. Image understanding also does not mean directly generating images; when voice or image-generation deliverables are needed, use the corresponding capabilities and clearly define their roles relative to the text analysis workflow.
Frequently Asked Questions
Answers to common questions about using o3.
Are o3 and o3-mini the same model?
No. o3, o3-mini, and o3-pro are different public models. When calling o3, use model: "o3". o3 is designed for complex reasoning and visual analysis; do not directly apply the parameters or capabilities of other models to it just because their names are similar.
How can I have o3 analyze images?
In Chat Completions messages, submit the text question together with an image_url content block, and use model: "o3". The question should ideally target a specific relationship or judgment objective; if the image contains key numerical values, you can also provide a text version to reduce reading errors.
Can o3 automatically execute the code it writes?
Generating code and executing code are two different things. o3 can analyze code and request calls to defined functions, but execution must be completed by the application or tool environment. To verify the effect of a fix, run tests and feed the results back so the model can continue making judgments based on actual results.
How is o3's reasoning strength configured?
Responses provides the reasoning setting, while Chat Completions provides the reasoning_effort setting. When using them, choose a configuration accepted by o3; do not directly apply tiers from other models. You can also explicitly ask in the prompt to check assumptions, list verification steps, and control response length.
When asking o3 follow-up questions, do I need to submit the history every time?
When using Chat Completions, you typically submit the required history through messages; when using the AI Chat conversation entry point, you can enable stateful and include the same id in subsequent requests. Regardless of the method, when key conditions change, state them clearly to avoid relying on old assumptions.
Model information · Updated: 2026-10-01. For calling parameters and billing rules, see the API and pricing sections.