Tsallake zuwa abun ciki
Chat Completions

Chat Completions

POST /v1/chat/completions yana karɓar tattaunawa kuma yana mayar da saƙon model na gaba a tsarin OpenAI Chat Completions. Ku yi amfani da shi daga kowane OpenAI SDK ko ta HTTP kai tsaye; wannan shafin bayani ne na field bayan field.

POST https://api.shannon-ai.com/v1/chat/completions

Mafi ƙanƙantar request shi ne model id da saƙon mai amfani ɗaya.

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)

Amsar JSON object ɗaya ce:

200 JSON
{
  "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

Headers na request

Header Ƙima Bayani
Authorization Bearer YOUR_API_KEY Maɓallin API ɗinku. Ana karɓar x-api-key: YOUR_API_KEY a madadinsa a kowane endpoint.
Content-Type application/json Wajibi. Duk wata ƙima tana mayar da 415.
x-request-id Zaɓi. Id ɗinku na request ɗin. Yana dawowa kamar yadda yake a amsar.

Headers na amsa

Header Bayani
x-request-id A kowace amsa, har da kurakurai da streams: ƙimar da kuka aika, ko haruffan hexadecimal 12 idan ba ku aika ba. Ku ambace shi lokacin da kuke bayar da rahoton matsala.
content-type application/json, ko text/event-stream idan stream shi ne true.

Fields na request

messages kaɗai ake buƙata. Ginshiƙin Wanda ke aiwatarwa yana sunayen models da field ke canza amsa a kansu. Hosted open-weight models su ne ids goma sha biyu na jerin models; iyalin Shannon 3 su ne shannon-3, shannon-3-pro, shannon-3.1 da shannon-3.1-pro. Models & farashi

Field Nau'i Na asali Bayani Wanda ke aiwatarwa
model string shannon-1.6-lite Model da zai amsa: id daga jerin models. Ku aika shi a kowace request. Ba a bambanta manyan haruffa da ƙanana. Id da ba a wallafa ba yana mayar da 400 unknown model. Duk models
messages array Wajibi. Tattaunawar, saƙon mafi tsufa da farko. Duba Saƙonni a ƙasa. Duk models
stream boolean false true yana aika amsar a matsayin server-sent events yayin da ake rubuta ta. Duk models
max_tokens integer 4096 Iyakar amsa, a tokens. Ƙimar da ta wuce 1 zuwa 65,536 ana mayar da ita cikin wannan kewayon. Hakanan shi ne adadin da ake ware daga balance ɗinku yayin da request yake gudana. Duba Tsawon output a ƙasa. Hosted open-weight models, shannon-1.6-lite, shannon-1.6-pro, shannon-coder-1
max_completion_tokens integer Kamar max_tokens. Idan an aika duka biyu, ana amfani da max_tokens. Hosted open-weight models, shannon-1.6-lite, shannon-1.6-pro, shannon-coder-1
temperature number Sampling temperature. A hosted open-weight models na asali shi ne 1 kuma ana riƙe ƙimomi tsakanin 0 da 2. Hosted open-weight models, shannon-1.6-lite, shannon-1.6-pro, shannon-coder-1
top_p number 0.95 Nucleus sampling. Ana riƙe ƙimomi tsakanin 0 da 1. Hosted open-weight models
seed integer Seed na sampler, kowane lamba cikakkiya. Idan babu shi, ana samo seed daga model da tattaunawar, don haka request iri ɗaya da aka aika sau biyu yana amfani da seed iri ɗaya. Hosted open-weight models
stop string | array String ko array na strings. Ana amfani da har guda 4. Amsar tana ƙarewa kafin na farko da ya bayyana; ba a mayar da rubutun tsayawa da kansa ba. Hosted open-weight models
reasoning_effort string high Yawan reasoning da model ke yi kafin ya amsa: off, low, medium ko high. none da minimal suna nufin off, default yana nufin medium, max yana nufin high. Duk wata ƙima tana mayar da 400. Hosted open-weight models
reasoning object Saitin iri ɗaya a siffar object: {"effort": "low"}. Idan an aika duka biyu, ana amfani da reasoning_effort. Hosted open-weight models
tools array Functions da model zai iya kira, kowanne a matsayin {"type": "function", "function": {"name", "description", "parameters"}}. Kiran model yana dawowa a tool_calls; code ɗinku ne ke gudanar da su. Duk models
tool_choice string | object auto "auto" yana barin model ya yanke shawara. "required" yana tilasta masa kiran tool. {"type": "function", "function": {"name": "…"}} yana tilasta masa kiran wannan tool ɗin. Hosted open-weight models
response_format object {"type": "json_object"} don amsar JSON, ko {"type": "json_schema", "json_schema": {…}} don amsar da ke bin schema ɗinku. Duk matakan Shannon; hosted open-weight models kamar yadda aka lissafa ga kowane id
web_search boolean false true yana barin model ya bincika yanar gizo kafin ya amsa. shannon-1.6-*, shannon-2-*, iyalin Shannon 3

Ana karɓar sauran fields na OpenAI, kamar n, user, stream_options, parallel_tool_calls, presence_penalty, frequency_penalty, logit_bias, logprobs, metadata, store da prompt_cache_key, don code na client da ke akwai ya yi aiki ba tare da canji ba. Ba sa canza amsar: koyaushe akwai choice ɗaya, kuma stream koyaushe yana ƙarewa da usage.

Field mai nau'in JSON mara kyau, misali "max_tokens": "100", yana mayar da 422. Request ba tare da messages ba ma haka.

Tools, structured output, reasoning da binciken yanar gizo kowanne yana da shafinsa: Kiran Aiki, Abubuwan da aka Tsara, Reasoning effort, Binciken Yanar Gizon da aka Gina.

Request mai zaɓuɓɓuka

Wannan request yana saita saƙon system, sampling fields da reasoning effort. Yana amfani da hosted open-weight model, wanda ke aiwatar da dukansu.

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)

Amsar tana da siffa iri ɗaya da ta sama. usage ɗinta yana ƙara bayanai biyu a hosted open-weight models: prompt tokens da aka karanta daga cache da tokens da aka kashe a reasoning.

200 JSON
{
  "usage": {
    "prompt_tokens": 31,
    "completion_tokens": 62,
    "total_tokens": 93,
    "prompt_tokens_details": {
      "cached_tokens": 0
    },
    "completion_tokens_details": {
      "reasoning_tokens": 21
    }
  }
}

Tsawon output

max_tokens yana yin abubuwa biyu. Na farko, shi ne adadin tokens da ake ware daga balance ɗinku lokacin da request ya fara. Idan amsar ta cika, ana maye gurbin wannan adadi da tokens da request ya yi amfani da su. Idan max_tokens ya fi abin da ya rage a balance ɗinku girma, request yana mayar da 429 Quota exceeded ko da amsar da kanta za ta isa. Ku aika max_tokens mafi ƙanƙanta don ware ƙasa.

Ana ƙirga shannon-coder-1 daban a wannan endpoint: kowace request kira ɗaya ne na Shannon Coder na plan ɗinku, kuma ba a ware tokens don ita ba. Iyakoki da balance

Na biyu, yana iyakance tsawon amsa a waɗannan models:

Models Abin da max_tokens ke yi
shannon-1.6-lite, shannon-1.6-pro, shannon-coder-1 Amsar tana tsayawa idan ta kai iyaka. Stream sai ya ƙare da finish_reason length.
Hosted open-weight models Rubutun amsar yana tsayawa a max_tokens. Ba a ƙirga reasoning a ciki ba. Ƙimomi ƙasa da 256 suna aiki kamar 256.

Idan babu max_tokens ko max_completion_tokens, ƙimar ita ce 4,096. A shannon-coder-1 ita ce 65,536.

Saƙonni

Kowane saƙo object ne mai role da content. content string ne, ko array na sassa idan saƙon yana ɗauke da fiye da rubutu.

Role Bayani Wanda ke aiwatarwa
system Umarni ga model. Ku sa shi da farko. A matakan Shannon saƙon system na farko shi ne ake amfani da shi. Hosted open-weight models, shannon-1.6-*, shannon-2-*, shannon-coder-1
developer Ana karantawa kamar system. Hosted open-weight models
user Abin da kuke tambaya. A matakan Shannon saƙon user na ƙarshe shi ne prompt kuma saƙonnin da suka riga shi su ne tarihi. Duk models
assistant Amsoshin model na baya. Ku riƙe tool_calls ɗinsa lokacin da kuke aika sakamakon tool bayansa. Duk models
tool Sakamakon kiran tool: tool_call_id yana ɗauke da id na kiran kuma content sakamakon a matsayin string. Duk models

Da id na iyalin Shannon 3, ku saka umarnin da dole ya yi aiki a cikin saƙon user.

A matakan Shannon request ba tare da rubutun mai amfani ba kuma ba tare da tools ba yana mayar da 400 No user message provided.

Sassan abun ciki

Sashe Bayani Akwai a
{"type": "text", "text": "…"} Rubutu na yau da kullun. Duk models
{"type": "image_url", "image_url": {"url": "…"}} Hoto, a matsayin data: URL mai abun ciki na base64 ko a matsayin URL na http(s). Iyalin Shannon 3, shannon-1.6-lite, shannon-1.6-pro, da hosted open-weight models da ke da image input
{"type": "file", "source": {"type": "base64", "media_type": "application/pdf", "data": "…"}} Takarda (PDF, Word, PowerPoint ko Excel), a matsayin base64 ko ta URL. Iyalin Shannon 3

Girma, iyakoki da cikakken jerin siffofi suna da shafinsu. Hotuna da fayiloli

Object na amsa

Field Nau'i Bayani
id string chatcmpl- da ke biye da haruffan hexadecimal 32.
object string Koyaushe chat.completion.
created integer Lokacin amsar, a daƙiƙun Unix.
model string Id na asali na model da ya amsa. Rubutunsa na iya bambanta da id da kuka aika.
choices array Koyaushe choice ɗaya daidai, mai index 0.
choices[0].message.role string Koyaushe assistant.
choices[0].message.content string | null Rubutun amsar. Tare da tool_calls yana null a matakan Shannon; hosted open-weight models na iya aika rubutu tare da kiran.
choices[0].message.reasoning_content string | null Reasoning da model ya rubuta kafin amsar, ko null idan babu.
choices[0].message.tool_calls array Yana nan ne kawai idan model yana kiran tools. Kowace shigarwa tana da id, type function, da function mai name da arguments a matsayin JSON string.
choices[0].message.annotations array Kawai a kan request mai web_search: true wanda binciken sa ya sami wani abu. url_citation ɗaya ga kowane tushen da alama a cikin content ta ambata, tare da url, title, start_index da end_index (matsayin alamar, da aka ƙidaya da haruffa, ba tare da ƙarshen ba).
choices[0].finish_reason string Dalilin ƙarewar amsar. Duba Dalilan ƙarewa.
usage object Tokens na request. Duba Usage.
sources array Kawai a kan request mai web_search: true wanda binciken sa ya sami wani abu: sakamakon da aka ba model, kowanne tare da index, title da url. [1] a cikin amsar shi ne shigarwar da ke da index 1.

Dalilan ƙarewa

finish_reason Bayani
stop Model ya gama amsarsa, ko kuma string na stop ya bayyana.
tool_calls Model yana kiran tool ɗaya ko fiye. Ku gudanar da su kuma ku aika sakamakon a saƙonnin tool.
length An yanke amsar a iyakar output. Ana bayyanawa a streams na shannon-1.6-lite, shannon-1.6-pro, shannon-coder-1 da iyalin Shannon 3.

Amsar da ba a yi streaming ba tana bayyana stop ko tool_calls.

Usage

Field Nau'i Bayani Akwai a
usage.prompt_tokens integer Input tokens. Duk models
usage.completion_tokens integer Output tokens: reasoning, amsa da kiran tool a haɗe. Duk models
usage.total_tokens integer prompt_tokens da completion_tokens a haɗe. Duk models
usage.prompt_tokens_details.cached_tokens integer Ɓangaren prompt_tokens da aka karanta daga prompt cache. Hosted open-weight models
usage.completion_tokens_details.reasoning_tokens integer Ɓangaren completion_tokens da aka kashe a reasoning. Hosted open-weight models

A hosted open-weight models, prompt_tokens saƙonninku ne da ma'anar tools da aka ƙirga da tokenizer na model da kansa, tare da tokens na kowane hoto. Endpoints na ƙirgan tokens suna mayar da lamba iri ɗaya kafin ku aika. Ƙidayar tokens

A matakan Shannon, prompt_tokens yana ƙirga duk abin da model ya karanta don rubuta amsar, don haka ya fi rubutun saƙonninku kaɗai girma.

Streaming

Idan an saita stream zuwa true amsar tana zuwa a matsayin events na chat.completion.chunk kuma tana ƙarewa da data: [DONE]. Chunk na ƙarshe kafin shi yana ɗauke da finish_reason da usage; ba a buƙatar stream_options. Siffofin chunks, layukan keep-alive da kurakurai a cikin stream suna da shafinsu. Yawo

Kurakurai

Kuskure JSON object ne mai member na error. Ana yin dubawa bisa wannan tsari: maɓallin API, jikin request, model id, sannan balance. Teburin yana lissafa abin da wannan endpoint ya fi mayarwa. Cikakken jerin, tare da abin da za a sake gwadawa, yana da shafinsa. Kuskuren Gudanarwa

400 JSON
{
  "error": {
    "type": "invalid_request_error",
    "message": "unknown model: no-such-model"
  }
}
Matsayi Nau'i Saƙo Lokaci
401 authentication_error Missing authentication
Invalid API key
Ba a aika maɓallin API ba, ko kuma maɓallin ba a san shi ba ko an soke shi.
400 invalid_request_error unknown model: <id> model ba id da aka wallafa ba ne.
400 invalid_request_error No user message provided Matakan Shannon: request ɗin ba shi da rubutun mai amfani kuma ba shi da tools.
400 invalid_request_error <id> does not accept image input An aika sashen hoto zuwa hosted open-weight model wanda ba shi da image input.
400 invalid_request_error <id> does not accept response_format An aika response_format zuwa hosted open-weight model wanda ba shi da structured output.
400 invalid_request_error unknown reasoning effort '<value>'; expected off, low, medium or high reasoning_effort yana ɗauke da ƙima a wajen jerin.
422 invalid_request_error Failed to deserialize the JSON body into the target type: … messages ya ɓace, ko kuma wani field yana da nau'in JSON mara kyau.
429 rate_limit_error Quota exceeded. Upgrade your plan at shannon-ai.com/plan max_tokens ya fi abin da ya rage a balance ɗinku girma.
429 rate_limit_error Too many requests. Retry in <n>s. Flood protection: fiye da requests 120 a cikin minti ɗaya a asusunku.
500 server_error The model backend failed to answer. Please retry. Model bai samar da amsa ba. Ku sake aika request ɗin.
502 api_error The model backend failed to answer. Please retry. Haka ma, a iyalin Shannon 3 da hosted open-weight models.