Chat Completions
POST /v1/chat/completions na-anabata mkparịta ụka ma weghachi ozi ọzọ nke model n'usoro OpenAI Chat Completions. Jiri ya site na SDK OpenAI ọ bụla ma ọ bụ site na HTTP nkịtị; peeji a bụ ntụaka field site na field.
POST https://api.shannon-ai.com/v1/chat/completions
Request kacha nta bụ model id na otu user message.
from openai import OpenAI
client = OpenAI(
api_key="YOUR_API_KEY",
base_url="https://api.shannon-ai.com/v1",
)
response = client.chat.completions.create(
model="shannon-3",
messages=[{"role": "user", "content": "Say hello in one sentence."}],
)
print(response.choices[0].message.content) import OpenAI from "openai";
const client = new OpenAI({
apiKey: "YOUR_API_KEY",
baseURL: "https://api.shannon-ai.com/v1",
});
const response = await client.chat.completions.create({
model: "shannon-3",
messages: [{ role: "user", content: "Say hello in one sentence." }],
});
console.log(response.choices[0].message.content); curl https://api.shannon-ai.com/v1/chat/completions \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "shannon-3",
"messages": [{"role": "user", "content": "Say hello in one sentence."}]
}' Azịza bụ otu JSON object:
{
"id": "chatcmpl-5f0c1e7a9b3d4c62a8e1f07d2b46c9a3",
"object": "chat.completion",
"created": 1791625200,
"model": "shannon-3",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "Hello, it is good to meet you.",
"reasoning_content": "The user wants a greeting in one sentence. Keep it short and friendly."
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 1184,
"completion_tokens": 46,
"total_tokens": 1230
}
} Headers
Request headers
| Header | Uru | Nkọwa |
|---|---|---|
Authorization | Bearer YOUR_API_KEY | API key gị. A na-anabata x-api-key: YOUR_API_KEY n'ọnọdụ ya n'endpoint ọ bụla. |
Content-Type | application/json | Achọrọ. Uru ọ bụla ọzọ na-eweghachi 415. |
x-request-id | Nhọrọ. Id nke gị maka request ahụ. Ọ na-alọghachi n'azịza na-agbanwebeghị. |
Reply headers
| Header | Nkọwa |
|---|---|
x-request-id | Na azịza ọ bụla, gụnyere njehie na streams: uru ị zipụrụ, ma ọ bụ mkpụrụedemede hexadecimal 12 mgbe ị zipụghị ọ bụla. Kpọọ ya mgbe ị na-akọ nsogbu. |
content-type | application/json, ma ọ bụ text/event-stream mgbe stream bụ true. |
Request fields
Naanị messages ka a chọrọ. Ogidi Ndị na-etinye ya na-akpọ aha models ndị field na-agbanwe azịza na ha. Hosted open-weight models bụ ids iri na abụọ nke ndepụta model; ezinụlọ Shannon 3 bụ shannon-3, shannon-3-pro, shannon-3.1 na shannon-3.1-pro. Models & ọnụahịa
| Field | Ụdị | Default | Nkọwa | Ndị na-etinye ya |
|---|---|---|---|---|
model | string | shannon-1.6-lite | Model na-azaghachi: id sitere na ndepụta model. Zipu ya na request ọ bụla. Nhọrọ anaghị eche mkpụrụedemede nta ma ọ bụ nnukwu. Id e bipụtabeghị na-eweghachi 400 unknown model. | Model niile |
messages | array | Chọrọ. Mkparịta ụka, ozi kacha ochie buru ụzọ. Lee Messages n'okpuru. | Model niile | |
stream | boolean | false | true na-ezipụ azịza dị ka server-sent events mgbe a na-ede ya. | Model niile |
max_tokens | integer | 4096 | Oke elu nke azịza, na tokens. A na-edozi uru dị n'èzí 1 ruo 65,536 ka ọ banye n'oke ahụ. Ọ bụkwa ọnụọgụ a na-ewepụta n'ime balance gị mgbe request na-aga. Lee Ogologo output n'okpuru. | Hosted open-weight models, shannon-1.6-lite, shannon-1.6-pro, shannon-coder-1 |
max_completion_tokens | integer | Otu ihe ahụ dị ka max_tokens. Mgbe a zipụrụ abụọ, a na-eji max_tokens. | Hosted open-weight models, shannon-1.6-lite, shannon-1.6-pro, shannon-coder-1 | |
temperature | number | Sampling temperature. Na hosted open-weight models default bụ 1 ma a na-edebe uru n'agbata 0 na 2. | Hosted open-weight models, shannon-1.6-lite, shannon-1.6-pro, shannon-coder-1 | |
top_p | number | 0.95 | Nucleus sampling. A na-edebe uru n'agbata 0 na 1. | Hosted open-weight models |
seed | integer | Seed nke sampler, onye ọ bụla integer. Na-enweghị ya, a na-enweta seed site na model na mkparịta ụka, yabụ otu request e zipụrụ ugboro abụọ na-eji otu seed. | Hosted open-weight models | |
stop | string | array | String ma ọ bụ array nke strings. A na-eji ruo 4. Azịza na-akwụsị tupu nke mbụ pụtara; a naghị eweghachi stop text n'onwe ya. | Hosted open-weight models | |
reasoning_effort | string | high | Ole model na-eche echiche tupu ọ zaa: off, low, medium ma ọ bụ high. none na minimal pụtara off, default pụtara medium, max pụtara high. Uru ọ bụla ọzọ na-eweghachi 400. | Hosted open-weight models |
reasoning | object | Otu setting ahụ n'udi object: {"effort": "low"}. Mgbe a zipụrụ abụọ, a na-eji reasoning_effort. | Hosted open-weight models | |
tools | array | Functions model nwere ike ịkpọ, nke ọ bụla dị ka {"type": "function", "function": {"name", "description", "parameters"}}. Oku model na-alọghachi n'ime tool_calls; koodu gị na-agba ha. | Model niile | |
tool_choice | string | object | auto | "auto" na-ahapụ model ka ọ kpebie. "required" na-eme ka ọ kpọọ tool. {"type": "function", "function": {"name": "…"}} na-eme ka ọ kpọọ tool ahụ. | Hosted open-weight models |
response_format | object | {"type": "json_object"} maka azịza JSON, ma ọ bụ {"type": "json_schema", "json_schema": {…}} maka azịza na-eso schema gị. | Ọkwa Shannon niile; hosted open-weight models dị ka e depụtara kwa id | |
web_search | boolean | false | true na-ahapụ model ka ọ chọọ n'ịntanetị tupu ọ zaa. | shannon-1.6-*, shannon-2-*, ezinụlọ Shannon 3 |
A na-anabata fields OpenAI ndị ọzọ, dị ka n, user, stream_options, parallel_tool_calls, presence_penalty, frequency_penalty, logit_bias, logprobs, metadata, store na prompt_cache_key, ka koodu client dị adị na-agba n'enweghị mgbanwe. Ha anaghị agbanwe azịza: mgbe niile enwere otu choice, ma stream na-agwụ mgbe niile na usage.
Field nwere JSON type ezighi ezi, dịka "max_tokens": "100", na-eweghachi 422. Request na-enweghị messages na-eme otu ihe ahụ.
Tools, structured output, reasoning na web search nke ọ bụla nwere peeji nke ya: Oku ọrụ, Mmepụta ahaziri, Reasoning effort, Chọọ weebụ.
Request nwere nhọrọ
Request a na-esetịpụ system message, sampling fields na reasoning effort. Ọ na-eji hosted open-weight model, nke na-etinye ha niile.
from openai import OpenAI
client = OpenAI(
api_key="YOUR_API_KEY",
base_url="https://api.shannon-ai.com/v1",
)
response = client.chat.completions.create(
model="DeepSeek-V4-Flash-0731-W4A16-AUTOROUND-REAP",
messages=[
{"role": "system", "content": "You are a physics teacher. Answer in two sentences."},
{"role": "user", "content": "Why is the sky blue?"},
],
max_tokens=512,
temperature=0.3,
top_p=0.9,
seed=7,
stop=["\n\n"],
reasoning_effort="low",
)
message = response.choices[0].message
print(message.reasoning_content) # the reasoning
print(message.content) # the answer
print(response.usage) import OpenAI from "openai";
const client = new OpenAI({
apiKey: "YOUR_API_KEY",
baseURL: "https://api.shannon-ai.com/v1",
});
const response = await client.chat.completions.create({
model: "DeepSeek-V4-Flash-0731-W4A16-AUTOROUND-REAP",
messages: [
{ role: "system", content: "You are a physics teacher. Answer in two sentences." },
{ role: "user", content: "Why is the sky blue?" },
],
max_tokens: 512,
temperature: 0.3,
top_p: 0.9,
seed: 7,
stop: ["\n\n"],
reasoning_effort: "low",
});
const message = response.choices[0].message;
console.log(message.reasoning_content); // the reasoning
console.log(message.content); // the answer
console.log(response.usage); curl https://api.shannon-ai.com/v1/chat/completions \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "DeepSeek-V4-Flash-0731-W4A16-AUTOROUND-REAP",
"messages": [
{"role": "system", "content": "You are a physics teacher. Answer in two sentences."},
{"role": "user", "content": "Why is the sky blue?"}
],
"max_tokens": 512,
"temperature": 0.3,
"top_p": 0.9,
"seed": 7,
"stop": ["\n\n"],
"reasoning_effort": "low"
}' Azịza nwere otu udi dị ka n'elu. usage ya na-agbakwunye nkọwa abụọ na hosted open-weight models: prompt tokens e sitere na cache gụọ na tokens e jiri maka reasoning.
{
"usage": {
"prompt_tokens": 31,
"completion_tokens": 62,
"total_tokens": 93,
"prompt_tokens_details": {
"cached_tokens": 0
},
"completion_tokens_details": {
"reasoning_tokens": 21
}
}
} Ogologo output
max_tokens na-eme ihe abụọ. Nke mbụ, ọ bụ ọnụọgụ tokens a na-ewepụta n'ime balance gị mgbe request na-amalite. Mgbe azịza zuru ezu, a na-eji tokens request ji dochie ọnụọgụ ahụ. Ọ bụrụ na max_tokens karịrị ihe fọdụrụ na balance gị, request na-eweghachi 429 Quota exceeded ọbụna mgbe azịza n'onwe ya ga-ekwere. Zipu max_tokens dị ala iji wepụta obere.
A na-agụ shannon-coder-1 n'ụzọ dị iche n'endpoint a: request ọ bụla bụ otu n'ime oku Shannon Coder nke plan gị, ma a naghị ewepụta tokens maka ya. Limits na balance
Nke abụọ, ọ na-eguzobe ogologo azịza na models ndị a:
| Models | Ihe max_tokens na-eme |
|---|---|
shannon-1.6-lite, shannon-1.6-pro, shannon-coder-1 | Azịza na-akwụsị mgbe ọ rutere oke. Stream na-agwụ mgbe ahụ na finish_reason length. |
| Hosted open-weight models | Text nke azịza na-akwụsị na max_tokens. A naghị agụ reasoning megide ya. Uru ndị dị n'okpuru 256 na-eme dị ka 256. |
Na-enweghị max_tokens ma ọ bụ max_completion_tokens, uru bụ 4,096. Na shannon-coder-1 ọ bụ 65,536.
Messages
Ozi ọ bụla bụ object nwere role na content. content bụ string, ma ọ bụ array nke akụkụ mgbe ozi na-ebu karịa text.
| Role | Nkọwa | Ndị na-etinye ya |
|---|---|---|
system | Ntụziaka maka model. Tinye ya mbụ. Na ọkwa Shannon ozi system mbụ bụ nke a na-eji. | Hosted open-weight models, shannon-1.6-*, shannon-2-*, shannon-coder-1 |
developer | A na-agụ ya dị ka system. | Hosted open-weight models |
user | Ihe ị na-ajụ. Na ọkwa Shannon ozi user ikpeazụ bụ prompt ma ozi ndị tupu ya bụ history. | Model niile |
assistant | Azịza gara aga nke model. Debe tool_calls ya mgbe ị na-ezipụ nsonaazụ tool n'azụ ya. | Model niile |
tool | Nsonaazụ oku tool: tool_call_id nwere id nke oku ahụ ma content nwere nsonaazụ dị ka string. | Model niile |
Na id nke ezinụlọ Shannon 3, tinye ntụziaka ndị ga-adịgide n'ime ozi user.
Na ọkwa Shannon request na-enweghị user text na enweghị tools na-eweghachi 400 No user message provided.
Content parts
| Akụkụ | Nkọwa | Dị na |
|---|---|---|
{"type": "text", "text": "…"} | Text nkịtị. | Model niile |
{"type": "image_url", "image_url": {"url": "…"}} | Foto, dị ka data: URL nwere base64 content ma ọ bụ dị ka http(s) URL. | Ezinụlọ Shannon 3, shannon-1.6-lite, shannon-1.6-pro, na hosted open-weight models ndị depụtara image input |
{"type": "file", "source": {"type": "base64", "media_type": "application/pdf", "data": "…"}} | Akwụkwọ (PDF, Word, PowerPoint ma ọ bụ Excel), dị ka base64 ma ọ bụ site na URL. | Ezinụlọ Shannon 3 |
Nha, oke na ndepụta zuru ezu nke udi nwere peeji nke ha. Images na files
Azịza object
| Field | Ụdị | Nkọwa |
|---|---|---|
id | string | chatcmpl- sochiri mkpụrụedemede hexadecimal 32. |
object | string | Mgbe niile chat.completion. |
created | integer | Oge azịza, na sekọnd Unix. |
model | string | Canonical id nke model zara. Ọ nwere ike ịdị iche n'ide ya na id ị zipụrụ. |
choices | array | Mgbe niile otu choice kpọmkwem, nwere index 0. |
choices[0].message.role | string | Mgbe niile assistant. |
choices[0].message.content | string | null | Text nke azịza. Na tool_calls ọ bụ null na ọkwa Shannon; hosted open-weight models nwere ike iziga text n'akụkụ oku. |
choices[0].message.reasoning_content | string | null | Reasoning model dere tupu azịza, ma ọ bụ null mgbe ọ nweghị. |
choices[0].message.tool_calls | array | Ọ na-adị naanị mgbe model na-akpọ tools. Entry ọ bụla nwere id, type function, na function nwere name na arguments dị ka JSON string. |
choices[0].message.annotations | array | Naanị na request nwere web_search: true nke search ya chọtara ihe. Otu url_citation maka isi mmalite ọ bụla akara na content na-akpọ aha, nwere url, title, start_index na end_index (ọnọdụ akara ahụ, e gụrụ n'mkpụrụedemede, a gụnyeghị njedebe). |
choices[0].finish_reason | string | Ihe mere azịza ji kwụsị. Lee Ihe mere azịza ji kwụsị. |
usage | object | Tokens nke request. Lee Usage. |
sources | array | Naanị na request nwere web_search: true nke search ya chọtara ihe: results e nyere model, nke ọ bụla nwere index, title na url. [1] n'azịza bụ entry nwere index 1. |
Ihe mere azịza ji kwụsị
| finish_reason | Nkọwa |
|---|---|
stop | Model mechiri azịza ya, ma ọ bụ stop string pụtara. |
tool_calls | Model na-akpọ tool otu ma ọ bụ karịa. Gbaa ha ma zipu nsonaazụ n'ime ozi tool. |
length | E bipụrụ azịza ahụ na oke output. A na-akọ ya n'ime streams nke shannon-1.6-lite, shannon-1.6-pro, shannon-coder-1 na ezinụlọ Shannon 3. |
Azịza na-abụghị streamed na-akọ stop ma ọ bụ tool_calls.
Usage
| Field | Ụdị | Nkọwa | Dị na |
|---|---|---|---|
usage.prompt_tokens | integer | Input tokens. | Model niile |
usage.completion_tokens | integer | Output tokens: reasoning, azịza na oku tool ọnụ. | Model niile |
usage.total_tokens | integer | prompt_tokens gbakwunyere completion_tokens. | Model niile |
usage.prompt_tokens_details.cached_tokens | integer | Akụkụ nke prompt_tokens e sitere na prompt cache gụọ. | Hosted open-weight models |
usage.completion_tokens_details.reasoning_tokens | integer | Akụkụ nke completion_tokens e jiri maka reasoning. | Hosted open-weight models |
Na hosted open-weight models, prompt_tokens bụ ozi gị na nkọwa tool agụrụ site na tokenizer nke model n'onwe ya, gbakwunyere tokens nke foto ọ bụla. Endpoints ịgụ token na-eweghachi otu nọmba ahụ tupu ị zipụ. Ịgụ tokens
Na ọkwa Shannon, prompt_tokens na-agụ ihe niile model gụrụ ide azịza, yabụ ọ karịrị text nke ozi gị naanị.
Streaming
Mgbe stream bụ true azịza na-abịa dị ka chat.completion.chunk events ma na-agwụ na data: [DONE]. Chunk ikpeazụ tupu ya na-ebu finish_reason na usage; achọghị stream_options. Udi chunk, ahịrị keep-alive na njehie n'ime stream nwere peeji nke ha. Nzipu ozugbo
Njehie
Njehie bụ JSON object nwere member error. A na-agba nlele n'usoro a: API key, request body, model id, mgbe ahụ balance. Tebụl a depụtara ihe endpoint a na-eweghachi n'ọtụtụ oge. Ndepụta zuru ezu, na ihe a ga-anwa ọzọ, nwere peeji nke ya. Njikwa njehie
{
"error": {
"type": "invalid_request_error",
"message": "unknown model: no-such-model"
}
} | Status | Ụdị | Ozi | Mgbe |
|---|---|---|---|
401 | authentication_error | Missing authenticationInvalid API key | Ezipụghị API key, ma ọ bụ key ahụ amaghị ama ma ọ bụ akagbuola ya. |
400 | invalid_request_error | unknown model: <id> | model abụghị id e bipụtara. |
400 | invalid_request_error | No user message provided | Ọkwa Shannon: request enweghị user text na enweghị tools. |
400 | invalid_request_error | <id> does not accept image input | Ezigara akụkụ foto na hosted open-weight model na-enweghị image input. |
400 | invalid_request_error | <id> does not accept response_format | Ezigara response_format na hosted open-weight model na-enweghị structured output. |
400 | invalid_request_error | unknown reasoning effort '<value>'; expected off, low, medium or high | reasoning_effort nwere uru nọ n'èzí ndepụta. |
422 | invalid_request_error | Failed to deserialize the JSON body into the target type: … | messages na-efu, ma ọ bụ field nwere JSON type ezighi ezi. |
429 | rate_limit_error | Quota exceeded. Upgrade your plan at shannon-ai.com/plan | max_tokens karịrị ihe fọdụrụ na balance gị. |
429 | rate_limit_error | Too many requests. Retry in <n>s. | Flood protection: karịa requests 120 n'otu nkeji n'akaụntụ gị. |
500 | server_error | The model backend failed to answer. Please retry. | Model emepụtaghị azịza. Zipu request ahụ ọzọ. |
502 | api_error | The model backend failed to answer. Please retry. | Otu ihe ahụ, na ezinụlọ Shannon 3 na hosted open-weight models. |