Preskoči na vsebino
Slike in datoteke

Slike in datoteke

Pošiljanje slik s sporočilom: kateri modeli jih sprejemajo, sprejete oblike in njihove omejitve.

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

Slika potuje znotraj sporočila uporabnika, kot en del njegovega content. Primer prebere lokalno datoteko in jo pošlje kot podatkovni 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
  }
}

Kateri modeli sprejemajo slike

Modeli Bere
shannon-3, shannon-3-pro, shannon-3.1, shannon-3.1-pro Slike in dokumenti: datoteke PDF, Word, PowerPoint, Excel in z golim besedilom.
shannon-1.6-lite, shannon-1.6-pro Slike.
shannon-2-lite, shannon-2-pro Slike, v zahtevkih, ki pošiljajo tudi tools ali response_format.
Kimi-K3-3BIT-REAP, MiniMax-M3-3BIT-REAP, Kimi-K2.6-W4A16-AUTOROUND-REAP, inkling-W4A16-AUTOROUND-REAP, MiMo-V2.5-W8A16 Slike.
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 Besedilo. Na zahtevek s sliko se odgovori s statusom 400.
shannon-coder-1 Besedilo.

GET /v1/models vhod slik poroča po posameznih id kot capabilities.vision. Modeli in cene

  • Modeli Shannon berejo datoteke zadnjega sporočila uporabnika. Sliko vstavite v sporočilo, ki se sprašuje o njej.
  • Družina Shannon 3 ohranja v pogledu tudi nekaj slik in dokumentov iz prejšnjih sporočil uporabnika, če so bili poslani vstavljeni, ter bere določeno največje število slik na zahtevek, šteto od prve.
  • Gostovani modeli z odprtimi utežmi berejo slike vseh sporočil v pogovoru.

Sprejete oblike

Datoteka se pošlje na enega od dveh načinov: znotraj zahtevka kot base64 ali kot naslov, ki ga API prenese. Vsaka datoteka potuje z zahtevkom; API nima končne točke za nalaganje.

Končna točka V zahtevku (base64) Po naslovu
/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://…"}}

Isto sporočilo uporabnika v vsakem formatu:

{
  "role": "user",
  "content": [
    {"type": "text", "text": "What is in this picture?"},
    {
      "type": "image_url",
      "image_url": {
        "url": "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD…"
      }
    }
  ]
}
  • Podatkovni URL ima obliko data:<media type>;base64,<data>. Del ;base64 je obvezen.
  • Na /v1/chat/completions in /v1/responses je image_url lahko sam niz ali objekt {"url": "…"}.
  • Vrsta datoteke izhaja iz podatkovnega URL-ja ali iz media_type. Brez nje se slika bere kot image/png.
  • Vstavljene datoteke se štejejo v velikost telesa zahtevka, ki je lahko do 32 MiB.
  • Sprejeto zaradi združljivosti: image_url.detail.

Omejitve za oddaljene datoteke

Ko pošljete naslov, API datoteko prenese, preden se model zažene, v okviru teh omejitev:

Omejitev Pravilo
Velikost Do 8 MiB na datoteko.
Čas 20 sekund za odgovor.
Preusmeritve Največ 5.
Naslov http:// ali https://, brez uporabniškega imena ali gesla v naslovu, na gostitelju z javnim naslovom.
Odgovor gostitelja Status v razponu 200 in telo, ki ni prazno. Vrsta datoteke se prebere iz Content-Type.
Zahtevano kot User-Agent: ShannonBot/1.0 (+https://shannon-ai.com)

Kako se slike štejejo v tokenih

Pri gostovanih modelih z odprtimi utežmi se slika šteje po en token za vsak košček 28 × 28 pikslov: širina, deljena z 28 in zaokrožena navzgor, krat višina, deljena z 28 in zaokrožena navzgor. Rezultat je del usage.prompt_tokens in se obračuna kot vhod.

1024 × 1024
1,369 tokeni
1920 × 1080
2,691 tokeni
512 × 512
361 tokeni
  • Oddaljena slika se najprej prenese, zato se šteje njena prava velikost.
  • Slika, katere velikosti ni mogoče prebrati, se šteje 1,024 tokenov.
  • Končni točki za štetje za podatkovne URL-je uporabljata isto pravilo. Oddaljenega naslova ne preneseta in ga štejeta kot 1,024 tokenov. Štetje tokenov
  • Pri modelu Shannon iz usage v odgovoru preberite, koliko je zahtevek s slikami stal.

Dokumenti in druge datoteke

Družina Shannon 3 (shannon-3, shannon-3-pro, shannon-3.1, shannon-3.1-pro) bere tudi dokumente. Besedilo dokumenta se izvleče in skupaj z vašim sporočilom preda modelu.

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

Dokument je del sporočila uporabnika, tako kot slika:

Končna točka V zahtevku (base64) Po naslovu
/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."}
      ]
    }
  ]
}
  • Navedite pravo vrsto medija datoteke. Brez nje se dokument bere kot application/pdf.
  • Datoteka z golim besedilom, kot je CSV, se prebere kot besedilo in priloži na enak način.
  • Kadar dokumenta ni mogoče prebrati ali je datoteka druge vrste, se model o tem obvesti in to lahko pove v odgovoru. Status je še vedno 200.
  • Pri vseh drugih modelih se del z dokumentom izpusti iz tega, kar model prebere, na zahtevek pa se odgovori na podlagi preostalega.
  • Dokument, poslan z naslovom, se prenese v okviru zgornjih omejitev za oddaljene datoteke.

Napake

Stanje Vrsta Sporočilo Kdaj
400 invalid_request_error <id> does not accept image input Slika je bila poslana gostovanemu modelu z odprtimi utežmi, ki sprejema samo besedilo. Z vašega stanja se ne odšteje nič.
400 invalid_request_error audio and video input are not supported by any hosted model Zvočni ali video del je bil poslan gostovanemu modelu z odprtimi utežmi.
413 invalid_request_error Failed to buffer the request body: … Telo zahtevka z vstavljenimi datotekami je večje od 32 MiB. Napaka vsebuje code: "request_too_large".

Model Shannon odgovori s statusom 200, ne glede na to, katere datoteke zahtevek vsebuje: del, ki ga ne prebere, se izpusti. Obravnava napak