Skip to main content
POST
/
v1
/
chat
/
completions
cURL
curl --request POST \
  --url https://api.siliconstorm.ai/v1/chat/completions \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "model": "DeepSeek-R1",
  "messages": [
    {
      "content": "Write a hello word and explain the code",
      "role": "user"
    }
  ],
  "stream": true
}
'
import requests

url = "https://api.siliconstorm.ai/v1/chat/completions"

payload = {
"model": "DeepSeek-R1",
"messages": [
{
"content": "Write a hello word and explain the code",
"role": "user"
}
],
"stream": True
}
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-R1',
messages: [{content: 'Write a hello word and explain the code', role: 'user'}],
stream: true
})
};

fetch('https://api.siliconstorm.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.siliconstorm.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([
'model' => 'DeepSeek-R1',
'messages' => [
[
'content' => 'Write a hello word and explain the code',
'role' => 'user'
]
],
'stream' => true
]),
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.siliconstorm.ai/v1/chat/completions"

payload := strings.NewReader("{\n \"model\": \"DeepSeek-R1\",\n \"messages\": [\n {\n \"content\": \"Write a hello word and explain the code\",\n \"role\": \"user\"\n }\n ],\n \"stream\": true\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.siliconstorm.ai/v1/chat/completions")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"model\": \"DeepSeek-R1\",\n \"messages\": [\n {\n \"content\": \"Write a hello word and explain the code\",\n \"role\": \"user\"\n }\n ],\n \"stream\": true\n}")
.asString();
require 'uri'
require 'net/http'

url = URI("https://api.siliconstorm.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 \"model\": \"DeepSeek-R1\",\n \"messages\": [\n {\n \"content\": \"Write a hello word and explain the code\",\n \"role\": \"user\"\n }\n ],\n \"stream\": true\n}"

response = http.request(request)
puts response.read_body
{
  "id": "<string>",
  "object": "<string>",
  "created": 123,
  "model": "<string>",
  "choices": [
    {
      "index": 123,
      "delta": {
        "role": "<string>",
        "content": "<string>"
      },
      "finish_reason": "<string>"
    }
  ],
  "usage": {
    "prompt_tokens": 123,
    "completion_tokens": 123,
    "total_tokens": 123
  }
}
The REST API endpoint can be used with the locally running MindsDB at https://api.siliconstorm.ai/v1/chat/completions.

Authorizations

Authorization
string
header
required

Use the following format for authentication: Bearer .

Body

application/json

Plant to add to the store

model
enum<string>
default:DeepSeek-R1
required

The model to use for processing

Available options:
DeepSeek-R1
messages
object[]
required

Array of messages

stream
boolean
required

Flag to indicate if the response should be streamed

Response

200 - application/json

Return example

id
string
required

Unique identifier for the completion chunk

object
string
required

The object type, always 'chat.completion.chunk'

created
integer
required

Timestamp of the creation

model
string
required

The model used for generating the response

choices
object[]
required

The choices array containing the chat response content

usage
object | null

Token usage details, included in the final response when completed