Izithombe namafayela
Thumela izithombe nomlayezo: yimaphi ama-model azamukelayo, amafomu amukelwayo nemikhawulo yawo.
POST https://api.shannon-ai.com/v1/chat/completions
Isithombe sihamba ngaphakathi komlayezo womsebenzisi, njengengxenye eyodwa ye-content yawo. Isampula sifunda ifayela lasendaweni bese sisithumela njenge-data URL.
import base64
from openai import OpenAI
client = OpenAI(api_key="YOUR_API_KEY", base_url="https://api.shannon-ai.com/v1")
with open("photo.jpg", "rb") as f:
image = base64.b64encode(f.read()).decode()
response = client.chat.completions.create(
model="shannon-3",
messages=[{
"role": "user",
"content": [
{"type": "text", "text": "What is in this picture?"},
{"type": "image_url", "image_url": {"url": "data:image/jpeg;base64," + image}},
],
}],
)
print(response.choices[0].message.content) import fs from "node:fs";
import OpenAI from "openai";
const client = new OpenAI({ apiKey: "YOUR_API_KEY", baseURL: "https://api.shannon-ai.com/v1" });
const image = fs.readFileSync("photo.jpg").toString("base64");
const response = await client.chat.completions.create({
model: "shannon-3",
messages: [{
role: "user",
content: [
{ type: "text", text: "What is in this picture?" },
{ type: "image_url", image_url: { url: "data:image/jpeg;base64," + image } },
],
}],
});
console.log(response.choices[0].message.content); # Linux: base64 -w0 photo.jpg macOS: base64 -i photo.jpg
IMAGE=$(base64 -w0 photo.jpg)
curl https://api.shannon-ai.com/v1/chat/completions \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d @- <<EOF
{
"model": "shannon-3",
"messages": [{
"role": "user",
"content": [
{"type": "text", "text": "What is in this picture?"},
{"type": "image_url", "image_url": {"url": "data:image/jpeg;base64,${IMAGE}"}}
]
}]
}
EOF {
"id": "chatcmpl-8d1f3a5c7e9b4d2f6a8c0e2b4d6f8a1c",
"object": "chat.completion",
"created": 1791590400,
"model": "shannon-3",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "A grey cat asleep on a windowsill, with a potted fern beside it.",
"reasoning_content": null
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 286,
"completion_tokens": 19,
"total_tokens": 305
}
} Yimaphi ama-model amukela izithombe
| Ama-model | Ifunda |
|---|---|
shannon-3, shannon-3-pro, shannon-3.1, shannon-3.1-pro | Izithombe, namadokhumenti: PDF, Word, PowerPoint, Excel namafayela ombhalo olula. |
shannon-1.6-lite, shannon-1.6-pro | Izithombe. |
shannon-2-lite, shannon-2-pro | Izithombe, ezicelweni ezithumela futhi i-tools noma i-response_format. |
Kimi-K3-3BIT-REAP, MiniMax-M3-3BIT-REAP, Kimi-K2.6-W4A16-AUTOROUND-REAP, inkling-W4A16-AUTOROUND-REAP, MiMo-V2.5-W8A16 | Izithombe. |
DeepSeek-V4-Pro-0813-3BIT-REAP, GLM-5.2-3BIT-REAP, Nemotron3Ultra-3BIT-REAP, DeepSeek-V4-Flash-0731-W4A16-AUTOROUND-REAP, Laguna-S-2.1-W4A16-AUTOROUND-REAP, MiMo-V2.5-Pro-W8A16, Hy3-W8A16 | Umbhalo. Isicelo esinesithombe siphendulwa ngesimo 400. |
shannon-coder-1 | Umbhalo. |
I-GET /v1/models ibika okufakwayo kwesithombe nge-id ngayinye njenge-capabilities.vision. Ama-model namanani
- Ama-model e-Shannon afunda amafayela omlayezo wokugcina womsebenzisi. Faka isithombe emlayezweni obuza ngaso.
- Umndeni we-Shannon 3 ugcina futhi izithombe namadokhumenti ambalwa emilayezweni yangaphambilini yomsebenzisi uma ithunyelwe ngaphakathi (inline), bese ufunda inani eliphezulu elimisiwe lezithombe ngesicelo ngasinye, kubalwa kusukela kowokuqala.
- Ama-model e-open-weight ahlinzekiwe afunda izithombe zawo wonke imilayezo yengxoxo.
Amafomu amukelwayo
Ifayela lithunyelwa ngezindlela ezimbili: ngaphakathi kwesicelo njenge-base64, noma njengekheli i-API elilandayo. Ifayela ngalinye lihamba nesicelo; i-API ayinayo i-endpoint yokulayisha.
| I-endpoint | Esicelweni (base64) | Ngekheli |
|---|---|---|
/v1/chat/completions | {"type": "image_url", "image_url": {"url": "data:image/jpeg;base64,…"}} | {"type": "image_url", "image_url": {"url": "https://…"}} |
/v1/responses | {"type": "input_image", "image_url": "data:image/jpeg;base64,…"} | {"type": "input_image", "image_url": "https://…"} |
/v1/messages | {"type": "image", "source": {"type": "base64", "media_type": "image/jpeg", "data": "…"}} | {"type": "image", "source": {"type": "url", "url": "https://…"}} |
Umlayezo ofanayo womsebenzisi ngefomethi ngayinye:
{
"role": "user",
"content": [
{"type": "text", "text": "What is in this picture?"},
{
"type": "image_url",
"image_url": {
"url": "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD…"
}
}
]
} {
"role": "user",
"content": [
{"type": "input_text", "text": "What is in this picture?"},
{
"type": "input_image",
"image_url": "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD…"
}
]
} {
"role": "user",
"content": [
{"type": "text", "text": "What is in this picture?"},
{
"type": "image",
"source": {
"type": "base64",
"media_type": "image/jpeg",
"data": "/9j/4AAQSkZJRgABAQAAAQABAAD…"
}
}
]
} - I-data URL inefomu elithi
data:<media type>;base64,<data>. Ingxenye ye-;base64iyadingeka. - Ku-
/v1/chat/completionsna-/v1/responses, i-image_urlingaba yi-string ngokwayo noma into{"url": "…"}. - Uhlobo lwefayela luvela ku-data URL noma ku-
media_type. Ngaphandle kwalo, isithombe sifundwa njenge-image/png. - Amafayela angaphakathi abalwa kusayizi womzimba wesicelo, ongafika ku-32 MiB.
- Kuyamukelwa ukuze kuhambisane: i-
image_url.detail.
Imikhawulo yamafayela akude
Uma uthumela ikheli, i-API ilanda ifayela ngaphambi kokuba i-model isebenze, ngaphakathi kwale mikhawulo:
| Umkhawulo | Umthetho |
|---|---|
| Osayizi | Kuze kube ngu-8 MiB ngefayela. |
| Isikhathi | Imizuzwana engu-20 ukuphendula. |
| Ukuqondiswa kabusha | Okungafika ku-5. |
| Ikheli | I-http:// noma i-https://, ngaphandle kwegama lomsebenzisi noma iphasiwedi ekhelini, ku-host enekheli lomphakathi. |
| Impendulo ye-host | Isimo ohlwini lwe-200 nomzimba ongeyena ongenalutho. Uhlobo lwefayela lufundwa ku-Content-Type. |
| Kucelwa njenge | User-Agent: ShannonBot/1.0 (+https://shannon-ai.com) |
Ukuthi izithombe zibalwa kanjani ngama-token
Ku-model e-open-weight ehlinzekiwe isithombe sibalwa njenge-token eyodwa ku-patch ngayinye yamapikseli angu-28 × 28: ububanzi buhlukaniswe ngo-28, bukhuliswe phezulu, buphindaphindwe nobude obuhlukaniswe ngo-28, nabo bukhuliswe phezulu. Umphumela uyingxenye ye-usage.prompt_tokens futhi ukhokhiswa njenge-input.
- 1024 × 1024
- 1,369 ama-token
- 1920 × 1080
- 2,691 ama-token
- 512 × 512
- 361 ama-token
- Isithombe esikude sithathwa kuqala, ngakho usayizi waso wangempela uyabalwa.
- Isithombe esingafundeki usayizi waso sibalwa njengama-token ayi-1,024.
- Ama-endpoint okubala asebenzisa umthetho ofanayo kuma-data URL. Awalithathi ikheli elikude, futhi alibala njengama-token ayi-1,024. Ukubala ama-token
- Ku-model ye-Shannon, funda ukuthi isicelo esinezithombe sibize malini ku-
usageempendulweni.
Amadokhumenti namanye amafayela
Umndeni we-Shannon 3 (shannon-3, shannon-3-pro, shannon-3.1, shannon-3.1-pro) ufunda namadokhumenti. Umbhalo wedokhumenti uyakhishwa unikezwe i-model kanye nomlayezo wakho.
| Idokhumenti | Uhlobo lwemidiya |
|---|---|
application/pdf | |
| Word | application/vnd.openxmlformats-officedocument.wordprocessingml.document |
| PowerPoint | application/vnd.openxmlformats-officedocument.presentationml.presentation |
| Excel | application/vnd.openxmlformats-officedocument.spreadsheetml.sheet |
Idokhumenti iyingxenye yomlayezo womsebenzisi, njengesithombe:
| I-endpoint | Esicelweni (base64) | Ngekheli |
|---|---|---|
/v1/chat/completions, /v1/messages | {"type": "document", "source": {"type": "base64", "media_type": "application/pdf", "data": "…"}} | {"type": "document", "source": {"type": "url", "url": "https://…"}} |
/v1/responses | {"type": "input_file", "file_data": "data:application/pdf;base64,…"} | {"type": "input_file", "file_url": "https://…"} |
{
"model": "shannon-3",
"messages": [
{
"role": "user",
"content": [
{
"type": "document",
"source": {
"type": "base64",
"media_type": "application/pdf",
"data": "JVBERi0xLjcKJeLjz9MK…"
}
},
{"type": "text", "text": "Summarise this report in five points."}
]
}
]
} {
"model": "shannon-3",
"input": [
{
"role": "user",
"content": [
{
"type": "input_file",
"file_data": "data:application/pdf;base64,JVBERi0xLjcKJeLjz9MK…"
},
{
"type": "input_text",
"text": "Summarise this report in five points."
}
]
}
]
} {
"model": "shannon-3",
"messages": [
{
"role": "user",
"content": [
{
"type": "document",
"source": {
"type": "base64",
"media_type": "application/pdf",
"data": "JVBERi0xLjcKJeLjz9MK…"
}
},
{"type": "text", "text": "Summarise this report in five points."}
]
}
]
} - Nikeza uhlobo lwemidiya lweqiniso lefayela. Ngaphandle kwalo, idokhumenti ifundwa njenge-
application/pdf. - Ifayela lombhalo olula, njenge-CSV, lifundwa njengombhalo futhi linamathiselwa ngendlela efanayo.
- Uma idokhumenti ingafundeki, noma ifayela liyohlobo olunye, i-model iyatshelwa futhi ingakusho empendulweni yayo. Isimo sisathi
200. - Kuwo wonke amanye ama-model ingxenye yedokhumenti ishiywa kulokho i-model eyikufundayo, futhi isicelo siphendulwa kusukela kokunye.
- Idokhumenti ethunyelwe ngekheli iyalandwa ngaphansi kwemikhawulo yamafayela ekude engenhla.
Amaphutha
| Isimo | Uhlobo | Umlayezo | Nini |
|---|---|---|---|
400 | invalid_request_error | <id> does not accept image input | Isithombe sithunyelwe ku-model ye-open-weight ehlinzekiwe eyamukela umbhalo kuphela. Akukho okukhishwa ku-balance yakho. |
400 | invalid_request_error | audio and video input are not supported by any hosted model | Ingxenye yomsindo noma yevidiyo ithunyelwe ku-model ye-open-weight ehlinzekiwe. |
413 | invalid_request_error | Failed to buffer the request body: … | Umzimba wesicelo, namafayela ayo angaphakathi, mkhulu kuno-32 MiB. Iphutha liphatha code: "request_too_large". |
I-model ye-Shannon iphendula ngesimo 200 noma yimaphi amafayela isicelo esiwaphethe: ingxenye angayifundi iyashiywa. Ukuphathwa kwamaphutha