o3-pro
Model Overview
Designed for deeper reasoning and tougher questions, o3-pro uses more compute to deliver higher-quality answers. It’s only available in the /responses API, which supports multi-turn model interactions and will enable more advanced features in the future. Some complex requests may take a few minutes.
How to Make a Call
API Schema
Note: This model can ONLY be called via the /responses endpoint!
This endpoint is currently used only with OpenAI models. Some models support both the /chat/completions and /responses endpoints, while others (like openai/o3-pro) support only one of them.
Text, image, or file inputs to the model, used to generate a response.
A text input to the model, equivalent to a text input with the user role.
An upper bound for the number of tokens that can be generated for a response, including visible output tokens and reasoning tokens.
The unique ID of the previous response to the model. Use this to create multi-turn conversations.
Whether to store the generated model response for later retrieval via API.
falseIf set to true, the model response data will be streamed to the client as it is generated using server-sent events.
falseThe truncation strategy to use for the model response.
- auto: If the context of this response and previous ones exceeds the model's context window size, the model will truncate the response to fit the context window by dropping input items in the middle of the conversation.
- disabled (default): If a model response will exceed the context window size for a model, the request will fail with a 400 error.
disabledPossible values: How the model should select which tool (or tools) to use when generating a response.
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.
async function main() {
const response = await fetch('https://api.aimlapi.com/v1/responses', {
method: 'POST',
headers: {
'Authorization': 'Bearer <YOUR_AIMLAPI_KEY>',
'Content-Type': 'application/json',
},
body: JSON.stringify({
"model": "openai/o3-pro",
"input": "Hello"
}),
});
const data = await response.json();
console.log(JSON.stringify(data, null, 2));
}
main();{
"background": false,
"created_at": 1762343744,
"error": null,
"id": "resp_68963fb142d08197b4d3ae3ad852542c054845c6ea84caa2",
"incomplete_details": null,
"instructions": null,
"max_output_tokens": null,
"metadata": {},
"model": "openai/o3-pro",
"object": "response",
"output": null,
"output_text": "Hi! How’s your day going?",
"parallel_tool_calls": false,
"previous_response_id": null,
"prompt": null,
"reasoning": null,
"service_tier": null,
"status": "completed",
"temperature": null,
"text": {
"format": {
"type": "text"
}
},
"tool_choice": null,
"tools": null,
"top_p": null,
"truncation": null,
"usage": {
"input_tokens": 137,
"input_tokens_details": null,
"output_tokens": 914,
"output_tokens_details": null,
"total_tokens": 1051
}
}Code Example
import requests
import json # for getting a structured output with indentation
response = requests.post(
"https://api.aimlapi.com/v1/responses",
headers={
"Content-Type":"application/json",
# Insert your AIML API Key instead of <YOUR_AIMLAPI_KEY>:
"Authorization":"Bearer <YOUR_AIMLAPI_KEY>",
"Content-Type":"application/json"
},
json={
"model":"openai/o3-pro",
"input":"Hello" # Insert your question for the model here, instead of Hello
}
)
data = response.json()
print(json.dumps(data, indent=2, ensure_ascii=False))async function main() {
try {
const response = await fetch('https://api.aimlapi.com/v1/responses', {
method: 'POST',
headers: {
// Insert your AIML API Key instead of <YOUR_AIMLAPI_KEY>
'Authorization': 'Bearer <YOUR_AIMLAPI_KEY>',
'Content-Type': 'application/json',
},
body: JSON.stringify({
model: 'openai/o3-pro',
input: 'Hello', // Insert your question here, instead of Hello
}),
});
if (!response.ok) {
throw new Error(`HTTP error! Status ${response.status}`);
}
const data = await response.json();
console.log(JSON.stringify(data, null, 2));
} catch (error) {
console.error('Error', error);
}
}
main();Last updated
Was this helpful?