curl --request POST \
--url https://ai.cubeuaeai.com/v1/responses \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"model": "gpt-5.2-codex",
"input": [
{
"role": "user",
"content": "Hello!"
}
],
"stream": false,
"temperature": 1,
"top_p": 0.5,
"frequency_penalty": 0,
"presence_penalty": 0,
"max_output_tokens": 2,
"stop": "<string>",
"n": 1,
"text": {
"format": {}
},
"reasoning": {},
"tools": [
{}
],
"tool_choice": "<string>",
"store": true,
"user": "<string>"
}
'import requests
url = "https://ai.cubeuaeai.com/v1/responses"
payload = {
"model": "gpt-5.2-codex",
"input": [
{
"role": "user",
"content": "Hello!"
}
],
"stream": False,
"temperature": 1,
"top_p": 0.5,
"frequency_penalty": 0,
"presence_penalty": 0,
"max_output_tokens": 2,
"stop": "<string>",
"n": 1,
"text": { "format": {} },
"reasoning": {},
"tools": [{}],
"tool_choice": "<string>",
"store": True,
"user": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
model: 'gpt-5.2-codex',
input: [{role: 'user', content: 'Hello!'}],
stream: false,
temperature: 1,
top_p: 0.5,
frequency_penalty: 0,
presence_penalty: 0,
max_output_tokens: 2,
stop: '<string>',
n: 1,
text: {format: {}},
reasoning: {},
tools: [{}],
tool_choice: '<string>',
store: true,
user: '<string>'
})
};
fetch('https://ai.cubeuaeai.com/v1/responses', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://ai.cubeuaeai.com/v1/responses",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'model' => 'gpt-5.2-codex',
'input' => [
[
'role' => 'user',
'content' => 'Hello!'
]
],
'stream' => false,
'temperature' => 1,
'top_p' => 0.5,
'frequency_penalty' => 0,
'presence_penalty' => 0,
'max_output_tokens' => 2,
'stop' => '<string>',
'n' => 1,
'text' => [
'format' => [
]
],
'reasoning' => [
],
'tools' => [
[
]
],
'tool_choice' => '<string>',
'store' => true,
'user' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://ai.cubeuaeai.com/v1/responses"
payload := strings.NewReader("{\n \"model\": \"gpt-5.2-codex\",\n \"input\": [\n {\n \"role\": \"user\",\n \"content\": \"Hello!\"\n }\n ],\n \"stream\": false,\n \"temperature\": 1,\n \"top_p\": 0.5,\n \"frequency_penalty\": 0,\n \"presence_penalty\": 0,\n \"max_output_tokens\": 2,\n \"stop\": \"<string>\",\n \"n\": 1,\n \"text\": {\n \"format\": {}\n },\n \"reasoning\": {},\n \"tools\": [\n {}\n ],\n \"tool_choice\": \"<string>\",\n \"store\": true,\n \"user\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://ai.cubeuaeai.com/v1/responses")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"model\": \"gpt-5.2-codex\",\n \"input\": [\n {\n \"role\": \"user\",\n \"content\": \"Hello!\"\n }\n ],\n \"stream\": false,\n \"temperature\": 1,\n \"top_p\": 0.5,\n \"frequency_penalty\": 0,\n \"presence_penalty\": 0,\n \"max_output_tokens\": 2,\n \"stop\": \"<string>\",\n \"n\": 1,\n \"text\": {\n \"format\": {}\n },\n \"reasoning\": {},\n \"tools\": [\n {}\n ],\n \"tool_choice\": \"<string>\",\n \"store\": true,\n \"user\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://ai.cubeuaeai.com/v1/responses")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"model\": \"gpt-5.2-codex\",\n \"input\": [\n {\n \"role\": \"user\",\n \"content\": \"Hello!\"\n }\n ],\n \"stream\": false,\n \"temperature\": 1,\n \"top_p\": 0.5,\n \"frequency_penalty\": 0,\n \"presence_penalty\": 0,\n \"max_output_tokens\": 2,\n \"stop\": \"<string>\",\n \"n\": 1,\n \"text\": {\n \"format\": {}\n },\n \"reasoning\": {},\n \"tools\": [\n {}\n ],\n \"tool_choice\": \"<string>\",\n \"store\": true,\n \"user\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"id": "resp_0ed94fe7ec73cf560169afd97bba648194b8661d445cfa4244",
"object": "response",
"created_at": 1773132155,
"model": "gpt-5.2-codex",
"status": "completed",
"output": [
{
"id": "msg_0ed94fe7ec73cf56",
"type": "message",
"role": "assistant",
"status": "completed",
"content": [
{
"type": "output_text",
"text": "Hello! How can I help you?",
"annotations": [
{}
]
}
]
}
],
"usage": {
"input_tokens": 8,
"input_tokens_details": {
"cached_tokens": 0
},
"output_tokens": 15,
"output_tokens_details": {
"reasoning_tokens": 0
},
"total_tokens": 23
},
"completed_at": 1773132156,
"reasoning": {
"effort": "high",
"summary": "detailed"
},
"text": {
"format": {
"type": "text"
},
"verbosity": "medium"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}gpt-5.2-codex
Generate a model response from the input. Some OpenAI models only support the Responses format.
curl --request POST \
--url https://ai.cubeuaeai.com/v1/responses \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"model": "gpt-5.2-codex",
"input": [
{
"role": "user",
"content": "Hello!"
}
],
"stream": false,
"temperature": 1,
"top_p": 0.5,
"frequency_penalty": 0,
"presence_penalty": 0,
"max_output_tokens": 2,
"stop": "<string>",
"n": 1,
"text": {
"format": {}
},
"reasoning": {},
"tools": [
{}
],
"tool_choice": "<string>",
"store": true,
"user": "<string>"
}
'import requests
url = "https://ai.cubeuaeai.com/v1/responses"
payload = {
"model": "gpt-5.2-codex",
"input": [
{
"role": "user",
"content": "Hello!"
}
],
"stream": False,
"temperature": 1,
"top_p": 0.5,
"frequency_penalty": 0,
"presence_penalty": 0,
"max_output_tokens": 2,
"stop": "<string>",
"n": 1,
"text": { "format": {} },
"reasoning": {},
"tools": [{}],
"tool_choice": "<string>",
"store": True,
"user": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
model: 'gpt-5.2-codex',
input: [{role: 'user', content: 'Hello!'}],
stream: false,
temperature: 1,
top_p: 0.5,
frequency_penalty: 0,
presence_penalty: 0,
max_output_tokens: 2,
stop: '<string>',
n: 1,
text: {format: {}},
reasoning: {},
tools: [{}],
tool_choice: '<string>',
store: true,
user: '<string>'
})
};
fetch('https://ai.cubeuaeai.com/v1/responses', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://ai.cubeuaeai.com/v1/responses",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'model' => 'gpt-5.2-codex',
'input' => [
[
'role' => 'user',
'content' => 'Hello!'
]
],
'stream' => false,
'temperature' => 1,
'top_p' => 0.5,
'frequency_penalty' => 0,
'presence_penalty' => 0,
'max_output_tokens' => 2,
'stop' => '<string>',
'n' => 1,
'text' => [
'format' => [
]
],
'reasoning' => [
],
'tools' => [
[
]
],
'tool_choice' => '<string>',
'store' => true,
'user' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://ai.cubeuaeai.com/v1/responses"
payload := strings.NewReader("{\n \"model\": \"gpt-5.2-codex\",\n \"input\": [\n {\n \"role\": \"user\",\n \"content\": \"Hello!\"\n }\n ],\n \"stream\": false,\n \"temperature\": 1,\n \"top_p\": 0.5,\n \"frequency_penalty\": 0,\n \"presence_penalty\": 0,\n \"max_output_tokens\": 2,\n \"stop\": \"<string>\",\n \"n\": 1,\n \"text\": {\n \"format\": {}\n },\n \"reasoning\": {},\n \"tools\": [\n {}\n ],\n \"tool_choice\": \"<string>\",\n \"store\": true,\n \"user\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://ai.cubeuaeai.com/v1/responses")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"model\": \"gpt-5.2-codex\",\n \"input\": [\n {\n \"role\": \"user\",\n \"content\": \"Hello!\"\n }\n ],\n \"stream\": false,\n \"temperature\": 1,\n \"top_p\": 0.5,\n \"frequency_penalty\": 0,\n \"presence_penalty\": 0,\n \"max_output_tokens\": 2,\n \"stop\": \"<string>\",\n \"n\": 1,\n \"text\": {\n \"format\": {}\n },\n \"reasoning\": {},\n \"tools\": [\n {}\n ],\n \"tool_choice\": \"<string>\",\n \"store\": true,\n \"user\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://ai.cubeuaeai.com/v1/responses")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"model\": \"gpt-5.2-codex\",\n \"input\": [\n {\n \"role\": \"user\",\n \"content\": \"Hello!\"\n }\n ],\n \"stream\": false,\n \"temperature\": 1,\n \"top_p\": 0.5,\n \"frequency_penalty\": 0,\n \"presence_penalty\": 0,\n \"max_output_tokens\": 2,\n \"stop\": \"<string>\",\n \"n\": 1,\n \"text\": {\n \"format\": {}\n },\n \"reasoning\": {},\n \"tools\": [\n {}\n ],\n \"tool_choice\": \"<string>\",\n \"store\": true,\n \"user\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"id": "resp_0ed94fe7ec73cf560169afd97bba648194b8661d445cfa4244",
"object": "response",
"created_at": 1773132155,
"model": "gpt-5.2-codex",
"status": "completed",
"output": [
{
"id": "msg_0ed94fe7ec73cf56",
"type": "message",
"role": "assistant",
"status": "completed",
"content": [
{
"type": "output_text",
"text": "Hello! How can I help you?",
"annotations": [
{}
]
}
]
}
],
"usage": {
"input_tokens": 8,
"input_tokens_details": {
"cached_tokens": 0
},
"output_tokens": 15,
"output_tokens_details": {
"reasoning_tokens": 0
},
"total_tokens": 23
},
"completed_at": 1773132156,
"reasoning": {
"effort": "high",
"summary": "detailed"
},
"text": {
"format": {
"type": "text"
},
"verbosity": "medium"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
model ID
gpt-5.2-codex "gpt-5.2-codex"
Text or image input for the model, used to generate a response.
1Show child attributes
Show child attributes
[{ "role": "user", "content": "Hello!" }]
When enabled, results are streamed back via SSE.
Sampling temperature. Higher values make the output more random.
0 <= x <= 21
Nucleus sampling threshold.
0 <= x <= 1Penalize repeated tokens based on frequency.
-2 <= x <= 2Penalize tokens that have already appeared.
-2 <= x <= 2Maximum number of output tokens.
x >= 1Character sequences that stop generation.
How many response choices to generate.
x >= 1Configuration options for the model's text response.
Show child attributes
Show child attributes
Model reasoning/thinking configuration.
Show child attributes
Show child attributes
A list of tools the model can call.
Controls which tool the model calls.
Whether to store the generated model response for later retrieval via API.
A unique identifier representing the end user.
Response
Response generated successfully
"resp_0ed94fe7ec73cf560169afd97bba648194b8661d445cfa4244"
"response"
Unix timestamp when the response was created.
1773132155
"gpt-5.2-codex"
completed, failed, in_progress, incomplete "completed"
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Unix timestamp when the response was completed.
1773132156
Show child attributes
Show child attributes
Show child attributes
Show child attributes