ചിത്രങ്ങളും ഫയലുകളും
ഒരു മെസേജിനൊപ്പം ചിത്രങ്ങൾ അയയ്ക്കുക: ഏതൊക്കെ മോഡലുകൾ സ്വീകരിക്കുന്നു, സ്വീകരിക്കുന്ന രൂപങ്ങൾ, അവയുടെ പരിധികൾ.
POST https://api.shannon-ai.com/v1/chat/completions
ചിത്രം ഒരു യൂസർ മെസേജിനുള്ളിൽ, അതിന്റെ content-ന്റെ ഒരു ഭാഗമായി സഞ്ചരിക്കുന്നു. സാമ്പിൾ ഒരു ലോക്കൽ ഫയൽ വായിച്ച് ഡാറ്റ 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
}
} ഏതൊക്കെ മോഡലുകൾ ചിത്രങ്ങൾ സ്വീകരിക്കുന്നു
| മോഡലുകൾ | വായിക്കുന്നത് |
|---|---|
shannon-3, shannon-3-pro, shannon-3.1, shannon-3.1-pro | ചിത്രങ്ങളും ഡോക്യുമെന്റുകളും: PDF, Word, PowerPoint, Excel, പ്ലെയിൻ-ടെക്സ്റ്റ് ഫയലുകൾ. |
shannon-1.6-lite, shannon-1.6-pro | ചിത്രങ്ങൾ. |
shannon-2-lite, shannon-2-pro | ചിത്രങ്ങൾ, tools അല്ലെങ്കിൽ response_format കൂടി അയയ്ക്കുന്ന റിക്വസ്റ്റുകളിൽ. |
Kimi-K3-3BIT-REAP, MiniMax-M3-3BIT-REAP, Kimi-K2.6-W4A16-AUTOROUND-REAP, inkling-W4A16-AUTOROUND-REAP, MiMo-V2.5-W8A16 | ചിത്രങ്ങൾ. |
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 | ടെക്സ്റ്റ്. ചിത്രമുള്ള റിക്വസ്റ്റിന് സ്റ്റാറ്റസ് 400 ഓടെ മറുപടി ലഭിക്കും. |
shannon-coder-1 | ടെക്സ്റ്റ്. |
GET /v1/models ഓരോ ഐഡിക്കും ചിത്രം ഇൻപുട്ട് capabilities.vision ആയി റിപ്പോർട്ട് ചെയ്യുന്നു. മോഡലുകളും വിലയും
- Shannon മോഡലുകൾ അവസാനത്തെ യൂസർ മെസേജിലെ ഫയലുകൾ വായിക്കുന്നു. ചിത്രത്തെക്കുറിച്ച് ചോദിക്കുന്ന മെസേജിൽ തന്നെ ചിത്രം വയ്ക്കുക.
- Shannon 3 കുടുംബം ഇൻലൈനായി അയച്ച മുൻ യൂസർ മെസേജുകളിലെ ചില ചിത്രങ്ങളും ഡോക്യുമെന്റുകളും കൂടി കാഴ്ചയിൽ നിലനിർത്തുന്നു, ഒരു റിക്വസ്റ്റിൽ ആദ്യം മുതൽ എണ്ണി നിശ്ചിത പരമാവധി ചിത്രങ്ങൾ വായിക്കുന്നു.
- ഹോസ്റ്റ് ചെയ്ത ഓപ്പൺ-വെയിറ്റ് മോഡലുകൾ സംഭാഷണത്തിലെ എല്ലാ മെസേജുകളിലെയും ചിത്രങ്ങൾ വായിക്കുന്നു.
സ്വീകരിക്കുന്ന രൂപങ്ങൾ
ഫയൽ രണ്ട് വഴികളിൽ ഒന്നിൽ അയയ്ക്കുന്നു: റിക്വസ്റ്റിനുള്ളിൽ base64 ആയി, അല്ലെങ്കിൽ API എടുക്കുന്ന ഒരു വിലാസമായി. ഓരോ ഫയലും റിക്വസ്റ്റിനൊപ്പം സഞ്ചരിക്കുന്നു; API-ക്ക് അപ്ലോഡ് എൻഡ്പോയിന്റ് ഇല്ല.
| എൻഡ്പോയിന്റ് | റിക്വസ്റ്റിൽ (base64) | വിലാസം വഴി |
|---|---|---|
/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://…"}} |
ഓരോ ഫോർമാറ്റിലും ഒരേ യൂസർ മെസേജ്:
{
"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…"
}
}
]
} - ഡാറ്റ URL-ന്റെ രൂപം
data:<media type>;base64,<data>ആണ്.;base64ഭാഗം നിർബന്ധമാണ്. /v1/chat/completions-ലും/v1/responses-ലുംimage_urlസ്ട്രിംഗ് തന്നെ ആകാം, അല്ലെങ്കിൽ{"url": "…"}ഒബ്ജക്റ്റ് ആകാം.- ഫയൽ തരം ഡാറ്റ URL-ൽ നിന്നോ
media_type-ൽ നിന്നോ എടുക്കുന്നു. ഇല്ലെങ്കിൽ ചിത്രംimage/pngആയി വായിക്കും. - ഇൻലൈൻ ഫയലുകൾ റിക്വസ്റ്റ് ബോഡിയുടെ വലിപ്പത്തിൽ കണക്കാക്കും, അത് 32 MiB വരെ ആകാം.
- അനുയോജ്യതയ്ക്കായി സ്വീകരിക്കുന്നു:
image_url.detail.
റിമോട്ട് ഫയലുകളുടെ പരിധികൾ
നിങ്ങൾ ഒരു വിലാസം അയയ്ക്കുമ്പോൾ, മോഡൽ പ്രവർത്തിക്കുന്നതിന് മുമ്പ് API ഈ പരിധികൾക്കുള്ളിൽ ഫയൽ എടുക്കുന്നു:
| പരിധി | നിയമം |
|---|---|
| വലിപ്പം | ഓരോ ഫയലിനും 8 MiB വരെ. |
| സമയം | മറുപടിക്ക് 20 സെക്കൻഡ്. |
| റീഡയറക്റ്റുകൾ | പരമാവധി 5. |
| വിലാസം | http:// അല്ലെങ്കിൽ https://, വിലാസത്തിൽ യൂസർ നാമമോ പാസ്വേഡോ ഇല്ലാതെ, പൊതു വിലാസമുള്ള ഹോസ്റ്റിൽ. |
| ഹോസ്റ്റിന്റെ മറുപടി | 200 ശ്രേണിയിലെ ഒരു സ്റ്റാറ്റസും ശൂന്യമല്ലാത്ത ബോഡിയും. ഫയൽ തരം Content-Type-ൽ നിന്ന് വായിക്കുന്നു. |
| അഭ്യർത്ഥിക്കുന്നത് | User-Agent: ShannonBot/1.0 (+https://shannon-ai.com) |
ചിത്രങ്ങൾ ടോക്കണുകളിൽ എങ്ങനെ കണക്കാക്കുന്നു
ഹോസ്റ്റ് ചെയ്ത ഓപ്പൺ-വെയിറ്റ് മോഡലുകളിൽ ചിത്രം ഓരോ 28 × 28 പിക്സൽ പാച്ചിനും ഒരു ടോക്കൺ എന്ന് കണക്കാക്കുന്നു: വീതി 28 കൊണ്ട് ഹരിച്ച് മുകളിലേക്ക് റൗണ്ട് ചെയ്തതിനെ, ഉയരം 28 കൊണ്ട് ഹരിച്ച് മുകളിലേക്ക് റൗണ്ട് ചെയ്തത് കൊണ്ട് ഗുണിക്കുക. ഫലം usage.prompt_tokens-ന്റെ ഭാഗമാണ്, ഇൻപുട്ടായി ബിൽ ചെയ്യുന്നു.
- 1024 × 1024
- 1,369 ടോക്കണുകൾ
- 1920 × 1080
- 2,691 ടോക്കണുകൾ
- 512 × 512
- 361 ടോക്കണുകൾ
- റിമോട്ട് ചിത്രം ആദ്യം എടുക്കുന്നു, അതിനാൽ അതിന്റെ യഥാർത്ഥ വലിപ്പം കണക്കാക്കും.
- വലിപ്പം വായിക്കാൻ കഴിയാത്ത ചിത്രം 1,024 ടോക്കണുകളായി കണക്കാക്കും.
- എണ്ണൽ എൻഡ്പോയിന്റുകൾ ഡാറ്റ URL-കൾക്ക് ഇതേ നിയമം ഉപയോഗിക്കുന്നു. അവ റിമോട്ട് വിലാസം എടുക്കുന്നില്ല, അതിനെ 1,024 ടോക്കണുകളായി കണക്കാക്കുന്നു. ടോക്കൺ എണ്ണൽ
- Shannon മോഡലിൽ, ചിത്രങ്ങളുള്ള റിക്വസ്റ്റിന് എത്ര ചെലവായി എന്ന് മറുപടിയിലെ
usage-ൽ നിന്ന് വായിക്കുക.
ഡോക്യുമെന്റുകളും മറ്റ് ഫയലുകളും
Shannon 3 കുടുംബം (shannon-3, shannon-3-pro, shannon-3.1, shannon-3.1-pro) ഡോക്യുമെന്റുകളും വായിക്കുന്നു. ഡോക്യുമെന്റിന്റെ ടെക്സ്റ്റ് വേർതിരിച്ചെടുത്ത് നിങ്ങളുടെ മെസേജിനൊപ്പം മോഡലിന് നൽകുന്നു.
| ഡോക്യുമെന്റ് | മീഡിയ ടൈപ്പ് |
|---|---|
application/pdf | |
| Word | application/vnd.openxmlformats-officedocument.wordprocessingml.document |
| PowerPoint | application/vnd.openxmlformats-officedocument.presentationml.presentation |
| Excel | application/vnd.openxmlformats-officedocument.spreadsheetml.sheet |
ചിത്രം പോലെ തന്നെ ഡോക്യുമെന്റും യൂസർ മെസേജിന്റെ ഒരു ഭാഗമാണ്:
| എൻഡ്പോയിന്റ് | റിക്വസ്റ്റിൽ (base64) | വിലാസം വഴി |
|---|---|---|
/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."}
]
}
]
} - ഫയലിന്റെ യഥാർത്ഥ മീഡിയ ടൈപ്പ് നൽകുക. ഇല്ലെങ്കിൽ ഡോക്യുമെന്റ്
application/pdfആയി വായിക്കും. - CSV പോലുള്ള പ്ലെയിൻ-ടെക്സ്റ്റ് ഫയൽ ടെക്സ്റ്റായി വായിച്ച് ഇതേ രീതിയിൽ ചേർക്കുന്നു.
- ഡോക്യുമെന്റ് വായിക്കാൻ കഴിയാത്തപ്പോൾ, അല്ലെങ്കിൽ ഫയൽ മറ്റൊരു തരത്തിലുള്ളതാകുമ്പോൾ, മോഡലിനോട് അത് പറയും, മോഡലിന് ഉത്തരത്തിൽ അത് പറയാം. സ്റ്റാറ്റസ് അപ്പോഴും
200ആണ്. - മറ്റെല്ലാ മോഡലുകളിലും ഡോക്യുമെന്റ് ഭാഗം മോഡൽ വായിക്കുന്നതിൽ നിന്ന് ഒഴിവാക്കപ്പെടും, ബാക്കിയുള്ളത് ഉപയോഗിച്ച് റിക്വസ്റ്റിന് ഉത്തരം നൽകും.
- വിലാസം വഴി അയച്ച ഡോക്യുമെന്റ്, മുകളിലുള്ള റിമോട്ട് ഫയലുകളുടെ പരിധികൾക്ക് കീഴിൽ എടുക്കുന്നു.
പിശകുകൾ
| സ്റ്റാറ്റസ് | ടൈപ്പ് | സന്ദേശം | എപ്പോൾ |
|---|---|---|---|
400 | invalid_request_error | <id> does not accept image input | ടെക്സ്റ്റ് മാത്രം സ്വീകരിക്കുന്ന ഹോസ്റ്റ് ചെയ്ത ഓപ്പൺ-വെയിറ്റ് മോഡലിലേക്ക് ഒരു ചിത്രം അയച്ചു. നിങ്ങളുടെ ബാലൻസിൽ നിന്ന് ഒന്നും എടുക്കില്ല. |
400 | invalid_request_error | audio and video input are not supported by any hosted model | ഹോസ്റ്റ് ചെയ്ത ഓപ്പൺ-വെയിറ്റ് മോഡലിലേക്ക് ഓഡിയോ അല്ലെങ്കിൽ വീഡിയോ ഭാഗം അയച്ചു. |
413 | invalid_request_error | Failed to buffer the request body: … | ഇൻലൈൻ ഫയലുകൾ ഉൾപ്പെടെ റിക്വസ്റ്റ് ബോഡി 32 MiB-യേക്കാൾ വലുതാണ്. പിശകിൽ code: "request_too_large" ഉണ്ടാകും. |
റിക്വസ്റ്റിൽ ഏത് ഫയലുകൾ ഉണ്ടെങ്കിലും Shannon മോഡൽ സ്റ്റാറ്റസ് 200 ഓടെ മറുപടി നൽകുന്നു: വായിക്കാത്ത ഭാഗം ഒഴിവാക്കപ്പെടും. എറർ ഹാൻഡ്ലിംഗ്