Images na files
Zipụ images na ozi: models na-anara ha, ụdị anabatara na limits ha.
POST https://api.shannon-ai.com/v1/chat/completions
Image na-aga n'ime user message, dị ka otu akụkụ nke content ya. Sample na-agụ file dị na kọmputa ma zipụ ya dị ka 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
}
} Models na-anara images
| Models | Na-agụ |
|---|---|
shannon-3, shannon-3-pro, shannon-3.1, shannon-3.1-pro | Images, na akwụkwọ: PDF, Word, PowerPoint, Excel na plain-text files. |
shannon-1.6-lite, shannon-1.6-pro | Images. |
shannon-2-lite, shannon-2-pro | Images, na requests na-ezipukwa tools ma ọ bụ response_format. |
Kimi-K3-3BIT-REAP, MiniMax-M3-3BIT-REAP, Kimi-K2.6-W4A16-AUTOROUND-REAP, inkling-W4A16-AUTOROUND-REAP, MiMo-V2.5-W8A16 | Images. |
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 | Text. A na-aza request nwere image na status 400. |
shannon-coder-1 | Text. |
GET /v1/models na-akọ image input maka id ọ bụla dị ka capabilities.vision. Models & ọnụahịa
- Shannon models na-agụ files nke user message ikpeazụ. Tinye image ahụ n'ozi na-ajụ banyere ya.
- Shannon 3 family na-edebekwa ole na ole images na akwụkwọ nke user messages gara aga n'anya mgbe e zipụrụ ha inline, ma na-agụ oke ọnụọgụ images maka request, a na-agụ site na nke mbụ.
- Hosted open-weight models na-agụ images nke ozi ọ bụla nke mkparịta ụka ahụ.
Ụdị anabatara
A na-ezipu file n'otu n'ụzọ abụọ: n'ime request dị ka base64, ma ọ bụ dị ka adreesị API na-ebubata. File ọ bụla na-eso request; API enweghị upload endpoint.
| Endpoint | N'ime request (base64) | Site na adreesị |
|---|---|---|
/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://…"}} |
Otu user message ahụ n'format ọ bụla:
{
"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…"
}
}
]
} - Data URL nwere ụdị
data:<media type>;base64,<data>. Akụkụ;base64achọrọ. - Na
/v1/chat/completionsna/v1/responses,image_urlnwere ike ịbụ string n'onwe ya ma ọ bụ object{"url": "…"}. - File type si na data URL ma ọ bụ site na
media_type. Na-enweghị otu, a na-agụ image dị kaimage/png. - Inline files na-agụ n'ime nha nke request body, nke nwere ike ịbụ ruo 32 MiB.
- Anabatara maka ndakọrịta:
image_url.detail.
Limits maka remote files
Mgbe ị zipụrụ adreesị, API na-ebubata file tupu model agba, n'ime limits ndị a:
| Oke | Iwu |
|---|---|
| Nha | Ruo 8 MiB maka file ọ bụla. |
| Oge | Sekọnd 20 iji aza. |
| Redirects | Ihe na-akarịghị 5. |
| Adreesị | http:// ma ọ bụ https://, na-enweghị user name ma ọ bụ paswọọdụ n'adreesị, na host nwere adreesị ọha. |
| Azịza nke host | Status n'ọkwa 200 na body na-abụghị efu. A na-agụ file type site na Content-Type. |
| A na-arịọ dị ka | User-Agent: ShannonBot/1.0 (+https://shannon-ai.com) |
Otu images si agụ na tokens
Na hosted open-weight models, image na-agụ otu token maka patch pixel 28 × 28 ọ bụla: obosara kewara 28, gbagoro elu, ugboro ogologo kewara 28, gbagoro elu. Result bụ akụkụ nke usage.prompt_tokens a na-akwụ ụgwọ ya dị ka input.
- 1024 × 1024
- 1,369 tokens
- 1920 × 1080
- 2,691 tokens
- 512 × 512
- 361 tokens
- A na-ebubata remote image buru ụzọ, ya mere a na-agụ nha ya n'ezie.
- Image enweghị ike ịgụ nha ya na-agụ tokens 1,024.
- Counting endpoints na-eji otu iwu ahụ maka data URLs. Ha anaghị ebubata remote address ma na-agụ ya dị ka tokens 1,024. Ịgụ tokens
- Maka Shannon model, gụọ ihe request nwere images tụ n'ime
usagen'azịza ahụ.
Akwụkwọ na files ndị ọzọ
Shannon 3 family (shannon-3, shannon-3-pro, shannon-3.1, shannon-3.1-pro) na-agụkwa akwụkwọ. A na-ewepụta ederede nke akwụkwọ ahụ nye model ya na ozi gị.
| Akwụkwọ | Media type |
|---|---|
application/pdf | |
| Word | application/vnd.openxmlformats-officedocument.wordprocessingml.document |
| PowerPoint | application/vnd.openxmlformats-officedocument.presentationml.presentation |
| Excel | application/vnd.openxmlformats-officedocument.spreadsheetml.sheet |
Akwụkwọ bụ akụkụ nke user message, dị ka image:
| Endpoint | N'ime request (base64) | Site na adreesị |
|---|---|---|
/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."}
]
}
]
} - Nye media type ezigbo nke file ahụ. Na-enweghị ya, a na-agụ akwụkwọ dị ka
application/pdf. - A na-agụ plain-text file, dị ka CSV, dị ka text ma jikọta ya n'otu ụzọ ahụ.
- Mgbe enweghị ike ịgụ akwụkwọ, ma ọ bụ file ahụ bụ ụdị ọzọ, a na-agwa model ya ma ọ nwere ike ikwu ya n'azịza ya. Status ka bụ
200. - Na model ọ bụla ọzọ, a na-ahapụ document part n'ihe model na-agụ, a na-azakwa request site na ndị ọzọ.
- A na-ebubata akwụkwọ e zipụrụ site na adreesị n'okpuru limits maka remote files dị n'elu.
Njehie
| Status | Ụdị | Ozi | Mgbe |
|---|---|---|---|
400 | invalid_request_error | <id> does not accept image input | Zipụrụ image na hosted open-weight model na-anara text naanị. A naghị ewepụ ihe ọ bụla na balance gị. |
400 | invalid_request_error | audio and video input are not supported by any hosted model | Zipụrụ audio ma ọ bụ video part na hosted open-weight model. |
413 | invalid_request_error | Failed to buffer the request body: … | Request body, ya na inline files ya, buru ibu karịa 32 MiB. Njehie ahụ nwere code: "request_too_large". |
Shannon model na-aza na status 200 ihe ọ bụla files request nwere: a na-ahapụ part ọ naghị agụ. Njikwa njehie