Sary sy rakitra
Alefaso ny sary miaraka amin'ny hafatra: iza amin'ny model no mandray azy, ny endrika ekena ary ny fetrany.
POST https://api.shannon-ai.com/v1/chat/completions
Ny sary dia mandeha ao anaty hafatry ny mpampiasa, ho ampahany iray amin'ny content-ny. Ny ohatra dia mamaky rakitra eo an-toerana ary mandefa azy ho 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
}
} Iza amin'ny model no mandray sary
| Model | Mamaky |
|---|---|
shannon-3, shannon-3-pro, shannon-3.1, shannon-3.1-pro | Sary, ary document: PDF, Word, PowerPoint, Excel ary rakitra soratra tsotra. |
shannon-1.6-lite, shannon-1.6-pro | Sary. |
shannon-2-lite, shannon-2-pro | Sary, amin'ny fangatahana mandefa tools na response_format koa. |
Kimi-K3-3BIT-REAP, MiniMax-M3-3BIT-REAP, Kimi-K2.6-W4A16-AUTOROUND-REAP, inkling-W4A16-AUTOROUND-REAP, MiMo-V2.5-W8A16 | Sary. |
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 | Soratra. Ny fangatahana misy sary dia valiana amin'ny status 400. |
shannon-coder-1 | Soratra. |
Ny GET /v1/models dia milaza ny input sary isaky ny id ho capabilities.vision. Model & vidiny
- Ny model Shannon dia mamaky ny rakitra ao amin'ny hafatry ny mpampiasa farany. Apetraho ao amin'ny hafatra manontany azy ny sary.
- Ny fianakavian'i Shannon 3 koa dia mitazona sary sy document vitsivitsy avy amin'ny hafatry ny mpampiasa teo aloha rehefa nalefa inline izy ireo, ary mamaky isa farafahabetsany ho an'ny sary isaky ny fangatahana, manomboka amin'ny voalohany.
- Ny model open-weight hosted dia mamaky ny sary ao amin'ny hafatra rehetra ao anaty resaka.
Endrika ekena
Alefa amin'ny fomba roa ny rakitra: ao anaty fangatahana ho base64, na ho adiresy alain'ny API. Ny rakitra rehetra dia mandeha miaraka amin'ny fangatahana; tsy manana endpoint upload ny API.
| Endpoint | Ao anaty fangatahana (base64) | Amin'ny adiresy |
|---|---|---|
/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://…"}} |
Ny hafatry ny mpampiasa mitovy amin'ny endrika tsirairay:
{
"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…"
}
}
]
} - Ny data URL dia manana endrika
data:<media type>;base64,<data>. Ilaina ny ampahany;base64. - Amin'ny
/v1/chat/completionssy/v1/responses, nyimage_urldia mety ho string mihitsy na object{"url": "…"}. - Ny karazan'ny rakitra dia avy amin'ny data URL na ny
media_type. Raha tsy misy, ny sary dia vakiana hoimage/png. - Ny rakitra inline dia anisan'ny haben'ny body ny fangatahana, izay hatramin'ny 32 MiB.
- Raisina ho an'ny compatibility:
image_url.detail.
Fetra ho an'ny rakitra lavitra
Rehefa mandefa adiresy ianao, ny API dia maka ny rakitra alohan'ny hanombohan'ny model, araka ireto fetra ireto:
| Fetra | Fitsipika |
|---|---|
| Habe | Hatramin'ny 8 MiB isaky ny rakitra. |
| Fotoana | Segondra 20 hamaliana. |
| Redirect | 5 farafahabetsany. |
| Adiresy | http:// na https://, tsy misy anaran'ny mpampiasa na tenimiafina ao amin'ny adiresy, amin'ny host manana adiresy ampahibemaso. |
| Valin'ny host | Status ao amin'ny faribolana 200 ary body tsy foana. Ny karazan'ny rakitra dia vakiana avy amin'ny Content-Type. |
| Angatahana ho | User-Agent: ShannonBot/1.0 (+https://shannon-ai.com) |
Ny fomba ikajiana ny sary ho token
Amin'ny model open-weight hosted, ny sary dia ekena ho token iray isaky ny patch 28 × 28 pixel: ny sakany zaraina 28, atsangana, in'ny haavony zaraina 28, atsangana. Ny vokatra dia anisan'ny usage.prompt_tokens ary vidiana ho input.
- 1024 × 1024
- 1,369 tokens
- 1920 × 1080
- 2,691 tokens
- 512 × 512
- 361 tokens
- Alaina aloha ny sary lavitra, ka ny habeny marina no ekena.
- Ny sary tsy azo vakiana ny habeny dia ekena ho token 1,024.
- Ny endpoint fanisana dia mampiasa fitsipika mitovy ho an'ny data URL. Tsy maka adiresy lavitra izy ireo ary mameno azy ho 1,024 token. Fanisana token
- Ho an'ny model Shannon, vakio ao amin'ny
usageao anaty valiny ny vidin'ny fangatahana misy sary.
Document sy rakitra hafa
Ny fianakavian'i Shannon 3 (shannon-3, shannon-3-pro, shannon-3.1, shannon-3.1-pro) dia mamaky document koa. Ny soratry ny document dia alaina ary omena ny model miaraka amin'ny hafatrao.
| Document | Karazana media |
|---|---|
application/pdf | |
| Word | application/vnd.openxmlformats-officedocument.wordprocessingml.document |
| PowerPoint | application/vnd.openxmlformats-officedocument.presentationml.presentation |
| Excel | application/vnd.openxmlformats-officedocument.spreadsheetml.sheet |
Ny document dia ampahan'ny hafatry ny mpampiasa, tahaka ny sary:
| Endpoint | Ao anaty fangatahana (base64) | Amin'ny adiresy |
|---|---|---|
/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."}
]
}
]
} - Omeo ny karazana media marina an'ny rakitra. Raha tsy misy, ny document dia vakiana ho
application/pdf. - Ny rakitra soratra tsotra, toy ny CSV, dia vakiana ho soratra ary ampiarahina amin'ny fomba mitovy.
- Rehefa tsy azo vakiana ny document, na karazana hafa ny rakitra, dia lazaina amin'ny model izany ary afaka milaza izany ao amin'ny valiny izy.
200ihany ny status. - Amin'ny model hafa rehetra, ny ampahan'ny document dia tsy ampidirina amin'izay vakin'ny model, ary ny fangatahana dia valiana avy amin'ny sisa.
- Ny document alefa amin'ny adiresy dia alaina araka ny fetra ho an'ny rakitra lavitra etsy ambony.
Hadisoana
| Status | Karazana | Hafatra | Rahoviana |
|---|---|---|---|
400 | invalid_request_error | <id> does not accept image input | Nalefa sary tamin'ny model open-weight hosted izay mandray soratra ihany. Tsy misy very amin'ny balance-nao. |
400 | invalid_request_error | audio and video input are not supported by any hosted model | Nalefa tamin'ny model open-weight hosted ny ampahany audio na video. |
413 | invalid_request_error | Failed to buffer the request body: … | Lehibe noho ny 32 MiB ny body ny fangatahana, miaraka amin'ny rakitra inline. Ny hadisoana dia mitondra code: "request_too_large". |
Ny model Shannon dia mamaly amin'ny status 200 na inona na inona rakitra ao amin'ny fangatahana: ny ampahany tsy vakiany dia tsy ampidirina. Fitantanana hadisoana