curl --request POST \
--url https://ai.cubeuaeai.com/v1/chat/completions \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"model": "deepseek-v4-pro",
"messages": [
{
"role": "user",
"content": "Hello!"
}
],
"thinking": {},
"max_tokens": 2,
"response_format": {
"type": "text"
},
"stop": "<string>",
"stream": false,
"stream_options": {
"include_usage": true
},
"temperature": 1,
"top_p": 1,
"tools": [
{
"type": "function"
}
],
"frequency_penalty": 0,
"presence_penalty": 0,
"user_id": "<string>"
}
'import requests
url = "https://ai.cubeuaeai.com/v1/chat/completions"
payload = {
"model": "deepseek-v4-pro",
"messages": [
{
"role": "user",
"content": "Hello!"
}
],
"thinking": {},
"max_tokens": 2,
"response_format": { "type": "text" },
"stop": "<string>",
"stream": False,
"stream_options": { "include_usage": True },
"temperature": 1,
"top_p": 1,
"tools": [{ "type": "function" }],
"frequency_penalty": 0,
"presence_penalty": 0,
"user_id": "<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: 'deepseek-v4-pro',
messages: [{role: 'user', content: 'Hello!'}],
thinking: {},
max_tokens: 2,
response_format: {type: 'text'},
stop: '<string>',
stream: false,
stream_options: {include_usage: true},
temperature: 1,
top_p: 1,
tools: [{type: 'function'}],
frequency_penalty: 0,
presence_penalty: 0,
user_id: '<string>'
})
};
fetch('https://ai.cubeuaeai.com/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://ai.cubeuaeai.com/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([
'model' => 'deepseek-v4-pro',
'messages' => [
[
'role' => 'user',
'content' => 'Hello!'
]
],
'thinking' => [
],
'max_tokens' => 2,
'response_format' => [
'type' => 'text'
],
'stop' => '<string>',
'stream' => false,
'stream_options' => [
'include_usage' => true
],
'temperature' => 1,
'top_p' => 1,
'tools' => [
[
'type' => 'function'
]
],
'frequency_penalty' => 0,
'presence_penalty' => 0,
'user_id' => '<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/chat/completions"
payload := strings.NewReader("{\n \"model\": \"deepseek-v4-pro\",\n \"messages\": [\n {\n \"role\": \"user\",\n \"content\": \"Hello!\"\n }\n ],\n \"thinking\": {},\n \"max_tokens\": 2,\n \"response_format\": {\n \"type\": \"text\"\n },\n \"stop\": \"<string>\",\n \"stream\": false,\n \"stream_options\": {\n \"include_usage\": true\n },\n \"temperature\": 1,\n \"top_p\": 1,\n \"tools\": [\n {\n \"type\": \"function\"\n }\n ],\n \"frequency_penalty\": 0,\n \"presence_penalty\": 0,\n \"user_id\": \"<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/chat/completions")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"model\": \"deepseek-v4-pro\",\n \"messages\": [\n {\n \"role\": \"user\",\n \"content\": \"Hello!\"\n }\n ],\n \"thinking\": {},\n \"max_tokens\": 2,\n \"response_format\": {\n \"type\": \"text\"\n },\n \"stop\": \"<string>\",\n \"stream\": false,\n \"stream_options\": {\n \"include_usage\": true\n },\n \"temperature\": 1,\n \"top_p\": 1,\n \"tools\": [\n {\n \"type\": \"function\"\n }\n ],\n \"frequency_penalty\": 0,\n \"presence_penalty\": 0,\n \"user_id\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://ai.cubeuaeai.com/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 \"model\": \"deepseek-v4-pro\",\n \"messages\": [\n {\n \"role\": \"user\",\n \"content\": \"Hello!\"\n }\n ],\n \"thinking\": {},\n \"max_tokens\": 2,\n \"response_format\": {\n \"type\": \"text\"\n },\n \"stop\": \"<string>\",\n \"stream\": false,\n \"stream_options\": {\n \"include_usage\": true\n },\n \"temperature\": 1,\n \"top_p\": 1,\n \"tools\": [\n {\n \"type\": \"function\"\n }\n ],\n \"frequency_penalty\": 0,\n \"presence_penalty\": 0,\n \"user_id\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"id": "chatcmpl-abc123",
"object": "chat.completion",
"created": 123,
"model": "deepseek-v4-pro",
"choices": [
{
"index": 123,
"message": {
"role": "assistant",
"content": "Hello! How can I help you?",
"reasoning_content": "<string>",
"tool_calls": [
{
"id": "<string>",
"type": "function",
"function": {
"name": "<string>",
"arguments": "<string>"
}
}
]
},
"finish_reason": "stop",
"matched_stop": "<string>"
}
],
"usage": {
"prompt_tokens": 123,
"completion_tokens": 123,
"total_tokens": 123,
"prompt_tokens_details": {
"cached_tokens": 123,
"audio_tokens": 123,
"text_tokens": 123
},
"completion_tokens_details": {
"reasoning_tokens": 123,
"accepted_prediction_tokens": 123,
"rejected_prediction_tokens": 123
}
},
"system_fingerprint": "<string>"
}{
"error": {
"message": "<string>",
"type": "<string>",
"code": "<string>"
}
}deepseek-v4-pro
Generate a model response from the conversation.
curl --request POST \
--url https://ai.cubeuaeai.com/v1/chat/completions \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"model": "deepseek-v4-pro",
"messages": [
{
"role": "user",
"content": "Hello!"
}
],
"thinking": {},
"max_tokens": 2,
"response_format": {
"type": "text"
},
"stop": "<string>",
"stream": false,
"stream_options": {
"include_usage": true
},
"temperature": 1,
"top_p": 1,
"tools": [
{
"type": "function"
}
],
"frequency_penalty": 0,
"presence_penalty": 0,
"user_id": "<string>"
}
'import requests
url = "https://ai.cubeuaeai.com/v1/chat/completions"
payload = {
"model": "deepseek-v4-pro",
"messages": [
{
"role": "user",
"content": "Hello!"
}
],
"thinking": {},
"max_tokens": 2,
"response_format": { "type": "text" },
"stop": "<string>",
"stream": False,
"stream_options": { "include_usage": True },
"temperature": 1,
"top_p": 1,
"tools": [{ "type": "function" }],
"frequency_penalty": 0,
"presence_penalty": 0,
"user_id": "<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: 'deepseek-v4-pro',
messages: [{role: 'user', content: 'Hello!'}],
thinking: {},
max_tokens: 2,
response_format: {type: 'text'},
stop: '<string>',
stream: false,
stream_options: {include_usage: true},
temperature: 1,
top_p: 1,
tools: [{type: 'function'}],
frequency_penalty: 0,
presence_penalty: 0,
user_id: '<string>'
})
};
fetch('https://ai.cubeuaeai.com/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://ai.cubeuaeai.com/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([
'model' => 'deepseek-v4-pro',
'messages' => [
[
'role' => 'user',
'content' => 'Hello!'
]
],
'thinking' => [
],
'max_tokens' => 2,
'response_format' => [
'type' => 'text'
],
'stop' => '<string>',
'stream' => false,
'stream_options' => [
'include_usage' => true
],
'temperature' => 1,
'top_p' => 1,
'tools' => [
[
'type' => 'function'
]
],
'frequency_penalty' => 0,
'presence_penalty' => 0,
'user_id' => '<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/chat/completions"
payload := strings.NewReader("{\n \"model\": \"deepseek-v4-pro\",\n \"messages\": [\n {\n \"role\": \"user\",\n \"content\": \"Hello!\"\n }\n ],\n \"thinking\": {},\n \"max_tokens\": 2,\n \"response_format\": {\n \"type\": \"text\"\n },\n \"stop\": \"<string>\",\n \"stream\": false,\n \"stream_options\": {\n \"include_usage\": true\n },\n \"temperature\": 1,\n \"top_p\": 1,\n \"tools\": [\n {\n \"type\": \"function\"\n }\n ],\n \"frequency_penalty\": 0,\n \"presence_penalty\": 0,\n \"user_id\": \"<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/chat/completions")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"model\": \"deepseek-v4-pro\",\n \"messages\": [\n {\n \"role\": \"user\",\n \"content\": \"Hello!\"\n }\n ],\n \"thinking\": {},\n \"max_tokens\": 2,\n \"response_format\": {\n \"type\": \"text\"\n },\n \"stop\": \"<string>\",\n \"stream\": false,\n \"stream_options\": {\n \"include_usage\": true\n },\n \"temperature\": 1,\n \"top_p\": 1,\n \"tools\": [\n {\n \"type\": \"function\"\n }\n ],\n \"frequency_penalty\": 0,\n \"presence_penalty\": 0,\n \"user_id\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://ai.cubeuaeai.com/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 \"model\": \"deepseek-v4-pro\",\n \"messages\": [\n {\n \"role\": \"user\",\n \"content\": \"Hello!\"\n }\n ],\n \"thinking\": {},\n \"max_tokens\": 2,\n \"response_format\": {\n \"type\": \"text\"\n },\n \"stop\": \"<string>\",\n \"stream\": false,\n \"stream_options\": {\n \"include_usage\": true\n },\n \"temperature\": 1,\n \"top_p\": 1,\n \"tools\": [\n {\n \"type\": \"function\"\n }\n ],\n \"frequency_penalty\": 0,\n \"presence_penalty\": 0,\n \"user_id\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"id": "chatcmpl-abc123",
"object": "chat.completion",
"created": 123,
"model": "deepseek-v4-pro",
"choices": [
{
"index": 123,
"message": {
"role": "assistant",
"content": "Hello! How can I help you?",
"reasoning_content": "<string>",
"tool_calls": [
{
"id": "<string>",
"type": "function",
"function": {
"name": "<string>",
"arguments": "<string>"
}
}
]
},
"finish_reason": "stop",
"matched_stop": "<string>"
}
],
"usage": {
"prompt_tokens": 123,
"completion_tokens": 123,
"total_tokens": 123,
"prompt_tokens_details": {
"cached_tokens": 123,
"audio_tokens": 123,
"text_tokens": 123
},
"completion_tokens_details": {
"reasoning_tokens": 123,
"accepted_prediction_tokens": 123,
"rejected_prediction_tokens": 123
}
},
"system_fingerprint": "<string>"
}{
"error": {
"message": "<string>",
"type": "<string>",
"code": "<string>"
}
}Authorizations
Authenticate with a Bearer token. After creating an API key in the Cube AI console, pass it as Bearer YOUR_API_KEY in the Authorization header.
Body
model ID
deepseek-v4-pro "deepseek-v4-pro"
List of conversation messages.
1Show child attributes
Show child attributes
[{ "role": "user", "content": "Hello!" }]
Enable or disable thinking mode.
Show child attributes
Show child attributes
Maximum number of tokens to generate.
x >= 1Set {"type": "json_object"} to enable JSON mode.
Show child attributes
Show child attributes
Sequences that stop generation. Up to 16.
When true, results are streamed back via SSE.
Streaming options. Only valid when stream is true.
Show child attributes
Show child attributes
Sampling temperature. Higher values make the output more random.
0 <= x <= 21
Nucleus sampling threshold.
0 <= x <= 1A list of tools the model can call. Currently only function calling is supported.
Show child attributes
Show child attributes
Controls tool-calling behavior: none, auto, required, or a specific function.
none, auto, required Deprecated by DeepSeek. Passing this has no effect.
-2 <= x <= 2Deprecated by DeepSeek. Passing this has no effect.
-2 <= x <= 2Custom user ID, used for content-safety processing and KVCache isolation.
512^[a-zA-Z0-9\-_]+$Response
Response generated successfully