Create chat completion
curl --request POST \
--url https://api.siray.ai/v1/chat/completions \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"frequency_penalty": 0,
"max_tokens": 128000,
"messages": [
{
"content": "example_value",
"role": "system"
}
],
"model": "openai/gpt-5.2-codex",
"presence_penalty": 0,
"stream": false,
"temperature": 1,
"top_p": 1
}
'import requests
url = "https://api.siray.ai/v1/chat/completions"
payload = {
"frequency_penalty": 0,
"max_tokens": 128000,
"messages": [
{
"content": "example_value",
"role": "system"
}
],
"model": "openai/gpt-5.2-codex",
"presence_penalty": 0,
"stream": False,
"temperature": 1,
"top_p": 1
}
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({
frequency_penalty: 0,
max_tokens: 128000,
messages: [{content: 'example_value', role: 'system'}],
model: 'openai/gpt-5.2-codex',
presence_penalty: 0,
stream: false,
temperature: 1,
top_p: 1
})
};
fetch('https://api.siray.ai/v1/chat/completions', 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://api.siray.ai/v1/chat/completions",
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([
'frequency_penalty' => 0,
'max_tokens' => 128000,
'messages' => [
[
'content' => 'example_value',
'role' => 'system'
]
],
'model' => 'openai/gpt-5.2-codex',
'presence_penalty' => 0,
'stream' => false,
'temperature' => 1,
'top_p' => 1
]),
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://api.siray.ai/v1/chat/completions"
payload := strings.NewReader("{\n \"frequency_penalty\": 0,\n \"max_tokens\": 128000,\n \"messages\": [\n {\n \"content\": \"example_value\",\n \"role\": \"system\"\n }\n ],\n \"model\": \"openai/gpt-5.2-codex\",\n \"presence_penalty\": 0,\n \"stream\": false,\n \"temperature\": 1,\n \"top_p\": 1\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://api.siray.ai/v1/chat/completions")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"frequency_penalty\": 0,\n \"max_tokens\": 128000,\n \"messages\": [\n {\n \"content\": \"example_value\",\n \"role\": \"system\"\n }\n ],\n \"model\": \"openai/gpt-5.2-codex\",\n \"presence_penalty\": 0,\n \"stream\": false,\n \"temperature\": 1,\n \"top_p\": 1\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.siray.ai/v1/chat/completions")
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 \"frequency_penalty\": 0,\n \"max_tokens\": 128000,\n \"messages\": [\n {\n \"content\": \"example_value\",\n \"role\": \"system\"\n }\n ],\n \"model\": \"openai/gpt-5.2-codex\",\n \"presence_penalty\": 0,\n \"stream\": false,\n \"temperature\": 1,\n \"top_p\": 1\n}"
response = http.request(request)
puts response.read_body{
"choices": [
{
"index": 123,
"delta": {
"content": "<string>",
"reasoning": "<string>",
"reasoning_content": "<string>",
"tool_calls": [
{
"function": {
"arguments": "<string>",
"description": "<string>",
"name": "<string>",
"parameters": "<unknown>"
},
"id": "<string>",
"index": 123,
"type": "<unknown>"
}
]
},
"logprobs": "<unknown>"
}
],
"created": 123,
"id": "<string>",
"model": "<string>",
"object": "<string>",
"system_fingerprint": "<string>",
"usage": {
"completion_tokens": 123,
"completion_tokens_details": {
"audio_tokens": 123,
"reasoning_tokens": 123,
"text_tokens": 123
},
"input_tokens": 123,
"output_tokens": 123,
"prompt_tokens": 123,
"prompt_tokens_details": {
"audio_tokens": 123,
"cached_tokens": 123,
"image_tokens": 123,
"text_tokens": 123
},
"total_tokens": 123,
"input_tokens_details": {
"audio_tokens": 123,
"cached_tokens": 123,
"image_tokens": 123,
"text_tokens": 123
},
"prompt_cache_hit_tokens": 123
}
}OpenAI
GPT 5.2 CodeX
POST
/
v1
/
chat
/
completions
Create chat completion
curl --request POST \
--url https://api.siray.ai/v1/chat/completions \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"frequency_penalty": 0,
"max_tokens": 128000,
"messages": [
{
"content": "example_value",
"role": "system"
}
],
"model": "openai/gpt-5.2-codex",
"presence_penalty": 0,
"stream": false,
"temperature": 1,
"top_p": 1
}
'import requests
url = "https://api.siray.ai/v1/chat/completions"
payload = {
"frequency_penalty": 0,
"max_tokens": 128000,
"messages": [
{
"content": "example_value",
"role": "system"
}
],
"model": "openai/gpt-5.2-codex",
"presence_penalty": 0,
"stream": False,
"temperature": 1,
"top_p": 1
}
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({
frequency_penalty: 0,
max_tokens: 128000,
messages: [{content: 'example_value', role: 'system'}],
model: 'openai/gpt-5.2-codex',
presence_penalty: 0,
stream: false,
temperature: 1,
top_p: 1
})
};
fetch('https://api.siray.ai/v1/chat/completions', 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://api.siray.ai/v1/chat/completions",
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([
'frequency_penalty' => 0,
'max_tokens' => 128000,
'messages' => [
[
'content' => 'example_value',
'role' => 'system'
]
],
'model' => 'openai/gpt-5.2-codex',
'presence_penalty' => 0,
'stream' => false,
'temperature' => 1,
'top_p' => 1
]),
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://api.siray.ai/v1/chat/completions"
payload := strings.NewReader("{\n \"frequency_penalty\": 0,\n \"max_tokens\": 128000,\n \"messages\": [\n {\n \"content\": \"example_value\",\n \"role\": \"system\"\n }\n ],\n \"model\": \"openai/gpt-5.2-codex\",\n \"presence_penalty\": 0,\n \"stream\": false,\n \"temperature\": 1,\n \"top_p\": 1\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://api.siray.ai/v1/chat/completions")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"frequency_penalty\": 0,\n \"max_tokens\": 128000,\n \"messages\": [\n {\n \"content\": \"example_value\",\n \"role\": \"system\"\n }\n ],\n \"model\": \"openai/gpt-5.2-codex\",\n \"presence_penalty\": 0,\n \"stream\": false,\n \"temperature\": 1,\n \"top_p\": 1\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.siray.ai/v1/chat/completions")
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 \"frequency_penalty\": 0,\n \"max_tokens\": 128000,\n \"messages\": [\n {\n \"content\": \"example_value\",\n \"role\": \"system\"\n }\n ],\n \"model\": \"openai/gpt-5.2-codex\",\n \"presence_penalty\": 0,\n \"stream\": false,\n \"temperature\": 1,\n \"top_p\": 1\n}"
response = http.request(request)
puts response.read_body{
"choices": [
{
"index": 123,
"delta": {
"content": "<string>",
"reasoning": "<string>",
"reasoning_content": "<string>",
"tool_calls": [
{
"function": {
"arguments": "<string>",
"description": "<string>",
"name": "<string>",
"parameters": "<unknown>"
},
"id": "<string>",
"index": 123,
"type": "<unknown>"
}
]
},
"logprobs": "<unknown>"
}
],
"created": 123,
"id": "<string>",
"model": "<string>",
"object": "<string>",
"system_fingerprint": "<string>",
"usage": {
"completion_tokens": 123,
"completion_tokens_details": {
"audio_tokens": 123,
"reasoning_tokens": 123,
"text_tokens": 123
},
"input_tokens": 123,
"output_tokens": 123,
"prompt_tokens": 123,
"prompt_tokens_details": {
"audio_tokens": 123,
"cached_tokens": 123,
"image_tokens": 123,
"text_tokens": 123
},
"total_tokens": 123,
"input_tokens_details": {
"audio_tokens": 123,
"cached_tokens": 123,
"image_tokens": 123,
"text_tokens": 123
},
"prompt_cache_hit_tokens": 123
}
}Authorizations
Bearer authentication using API key
Body
application/json
Request payload
OpenAI-compatible chat completions API request format
Array of conversation messages with roles
Minimum array length:
1Show child attributes
Show child attributes
Model name to use for the request
Available options:
openai/gpt-5.2-codex Penalty for frequent tokens
Required range:
-2 <= x <= 2Maximum number of tokens to generate
Required range:
1 <= x <= 128000Penalty for new topics
Required range:
-2 <= x <= 2Enable streaming response
Controls randomness in output (higher = more random)
Required range:
0 <= x <= 2Nucleus sampling parameter (controls diversity)
Required range:
0 <= x <= 1Response
200 - application/json
Successful response
Chat completion response
Show child attributes
Show child attributes
Unix timestamp of when the completion was created
Unique identifier for the chat completion
The model used for the completion
Object type, typically 'chat.completion.chunk'
System fingerprint for the completion
Token usage information
Show child attributes
Show child attributes
⌘I
