Zum Inhalt sprangen
Biller a Fichieren

Biller a Fichieren

Schéckt Biller mat enger Message: wéi eng Modeller se huelen, d'akzeptéiert Forme a seng Limiten.

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

E Bild reest an enger Benotzer-Message mat, als een Deel vun hirem content. D'Beispill liest eng lokal Datei a schéckt se als 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)
200 JSON
{
  "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
  }
}

Wéi eng Modeller Biller huelen

Modeller Liest
shannon-3, shannon-3-pro, shannon-3.1, shannon-3.1-pro Biller, an Dokumenter: PDF-, Word-, PowerPoint-, Excel- a Plain-Text-Fichieren.
shannon-1.6-lite, shannon-1.6-pro Biller.
shannon-2-lite, shannon-2-pro Biller, an Ufroen, déi och tools oder response_format schécken.
Kimi-K3-3BIT-REAP, MiniMax-M3-3BIT-REAP, Kimi-K2.6-W4A16-AUTOROUND-REAP, inkling-W4A16-AUTOROUND-REAP, MiMo-V2.5-W8A16 Biller.
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. Eng Ufro mat engem Bild gëtt mam Status 400 beäntwert.
shannon-coder-1 Text.

GET /v1/models mellt Bild-Input pro ID als capabilities.vision. Modeller a Präisser

  • D'Shannon-Modeller liesen d'Fichiere vun der leschter Benotzer-Message. Setzt d'Bild an d'Message, déi doriwwer freet.
  • D'Shannon-3-Famill hält och e puer Biller an Dokumenter vu fréiere Benotzer-Messagen am Bléck, wa se inline geschéckt goufen, a liest eng fest Maximalzuel u Biller pro Ufro, vum éischte Bild un gezielt.
  • D'Hosted Open-Weight-Modeller liesen d'Biller vun all Message vun der Konversatioun.

Akzeptéiert Formen

Eng Datei gëtt op eng vun zwee Weeër geschéckt: an der Ufro als base64, oder als Adress, déi d'API ofrifft. All Datei reest mat der Ufro mat; d'API huet keen Upload-Endpoint.

Endpoint An der Ufro (base64) Iwwer Adress
/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://…"}}

Déiselwecht Benotzer-Message an all Format:

{
  "role": "user",
  "content": [
    {"type": "text", "text": "What is in this picture?"},
    {
      "type": "image_url",
      "image_url": {
        "url": "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD…"
      }
    }
  ]
}
  • Eng Data-URL huet d'Form data:<media type>;base64,<data>. Den Deel ;base64 ass erfuerderlech.
  • Op /v1/chat/completions an /v1/responses ka image_url de String selwer oder en Objet {"url": "…"} sinn.
  • Den Dateityp kënnt vun der Data-URL oder vu media_type. Ouni en gëtt e Bild als image/png gelies.
  • Inline-Fichieren zielen zur Gréisst vum Body vun der Ufro, deen bis zu 32 MiB grouss däerf sinn.
  • Fir d'Kompatibilitéit akzeptéiert: image_url.detail.

Limite fir Fernfichieren

Wann Dir eng Adress schéckt, rifft d'API d'Datei of, ier de Modell leeft, bannent dëse Limiten:

Limit Regel
Gréisst Bis zu 8 MiB pro Datei.
Zäit 20 Sekonne fir ze äntwerten.
Weiderleedungen Héchstens 5.
Adress http:// oder https://, ouni Benotzernumm a Passwuert an der Adress, op engem Host mat enger ëffentlecher Adress.
Äntwert vum Host E Status am 200er-Beräich an e Body, dee net eidel ass. Den Dateityp gëtt aus Content-Type gelies.
Ugefrot als User-Agent: ShannonBot/1.0 (+https://shannon-ai.com)

Wéi Biller an Tokens zielen

Bei den Hosted Open-Weight-Modeller zielt e Bild een Token fir all 28 × 28 Pixel grousse Patch: d'Breet gedeelt duerch 28, opgerënnt, mol d'Héicht gedeelt duerch 28, opgerënnt. D'Resultat ass en Deel vun usage.prompt_tokens a gëtt als Input berechent.

1024 × 1024
1,369 Tokens
1920 × 1080
2,691 Tokens
512 × 512
361 Tokens
  • E Bild vun enger Adress gëtt fir d'éischt ofgeruff, dofir gëtt seng richteg Gréisst gezielt.
  • E Bild, dat seng Gréisst net gelies ka ginn, zielt 1,024 Tokens.
  • D'Zielendpoints benotzen déiselwecht Regel fir Data-URLen. Si rufen keng Fernadress of a zielen se als 1,024 Tokens. Tokenzielung
  • Bei engem Shannon-Modell liest aus usage an der Äntwert of, wat eng Ufro mat Biller kascht huet.

Dokumenter an aner Fichieren

D'Shannon-3-Famill (shannon-3, shannon-3-pro, shannon-3.1, shannon-3.1-pro) liest och Dokumenter. Den Text vum Dokument gëtt erausgeholl an zesumme mat Ärer Message dem Modell ginn.

Dokument Medietyp
PDF application/pdf
Word application/vnd.openxmlformats-officedocument.wordprocessingml.document
PowerPoint application/vnd.openxmlformats-officedocument.presentationml.presentation
Excel application/vnd.openxmlformats-officedocument.spreadsheetml.sheet

E Dokument ass en Deel vun der Benotzer-Message, wéi e Bild:

Endpoint An der Ufro (base64) Iwwer Adress
/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."}
      ]
    }
  ]
}
  • Gitt de richtegen Medietyp vun der Datei un. Ouni en gëtt e Dokument als application/pdf gelies.
  • Eng Plain-Text-Datei, wéi CSV, gëtt als Text gelies a op déiselwecht Manéier ugehaangen.
  • Wann e Dokument net gelies ka ginn, oder d'Datei vun engem anere Typ ass, gëtt dat dem Modell gesot, an en ka et a senger Äntwert soen. De Status ass trotzdem 200.
  • Bei all anere Modell gëtt en Dokument-Deel aus deem erausgelooss, wat de Modell liest, an d'Ufro gëtt aus dem Rescht beäntwert.
  • E Dokument, dat iwwer eng Adress geschéckt gëtt, gëtt ënner de Limite fir Fernfichieren hei uewen ofgeruff.

Feeler

Status Typ Message Wéini
400 invalid_request_error <id> does not accept image input E Bild gouf un en Hosted Open-Weight-Modell geschéckt, dee just Text hëlt. Et gëtt näischt aus Ärem Solde ofgezunn.
400 invalid_request_error audio and video input are not supported by any hosted model En Audio- oder Video-Deel gouf un en Hosted Open-Weight-Modell geschéckt.
413 invalid_request_error Failed to buffer the request body: … De Body vun der Ufro ass mat senge Inline-Fichieren méi grouss wéi 32 MiB. De Feeler enthält code: "request_too_large".

E Shannon-Modell äntwert mam Status 200, egal wéi eng Fichieren d'Ufro enthält: en Deel, deen en net liest, gëtt erausgelooss. Feelerbehandlung