Μετάβαση στο περιεχόμενο
Εικόνες και αρχεία

Εικόνες και αρχεία

Στείλτε εικόνες μαζί με ένα μήνυμα: ποια μοντέλα τις δέχονται, οι αποδεκτές μορφές και τα όριά τους.

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

Μια εικόνα ταξιδεύει μέσα σε ένα μήνυμα χρήστη, ως ένα μέρος του content του. Το παράδειγμα διαβάζει ένα τοπικό αρχείο και το στέλνει ως 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
  }
}

Ποια μοντέλα δέχονται εικόνες

Μοντέλα Διαβάζει
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 αναφέρει την είσοδο εικόνας ανά id ως capabilities.vision. Μοντέλα & τιμές

  • Τα μοντέλα Shannon διαβάζουν τα αρχεία του τελευταίου μηνύματος χρήστη. Βάλτε την εικόνα στο μήνυμα που ρωτά γι' αυτήν.
  • Η οικογένεια Shannon 3 κρατά επίσης σε ορατότητα λίγες εικόνες και έγγραφα από προηγούμενα μηνύματα χρήστη όταν στάλθηκαν inline, και διαβάζει έναν καθορισμένο μέγιστο αριθμό εικόνων ανά αίτημα, μετρώντας από την πρώτη.
  • Τα φιλοξενούμενα μοντέλα ανοιχτών βαρών διαβάζουν τις εικόνες κάθε μηνύματος της συνομιλίας.

Αποδεκτές μορφές

Ένα αρχείο στέλνεται με έναν από δύο τρόπους: μέσα στο αίτημα ως base64, ή ως διεύθυνση που ανακτά το API. Κάθε αρχείο ταξιδεύει με το αίτημα· το API δεν έχει endpoint μεταφόρτωσης.

Endpoint Μέσα στο αίτημα (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…"
      }
    }
  ]
}
  • Ένα data URL έχει τη μορφή data:<media type>;base64,<data>. Το τμήμα ;base64 είναι υποχρεωτικό.
  • Στα /v1/chat/completions και /v1/responses, το image_url μπορεί να είναι το ίδιο το string ή αντικείμενο {"url": "…"}.
  • Ο τύπος του αρχείου προκύπτει από το data URL ή από το media_type. Χωρίς αυτόν, μια εικόνα διαβάζεται ως image/png.
  • Τα inline αρχεία προσμετρούνται στο μέγεθος του σώματος του αιτήματος, που μπορεί να φτάσει τα 32 MiB.
  • Γίνεται δεκτό για συμβατότητα: image_url.detail.

Όρια για απομακρυσμένα αρχεία

Όταν στέλνετε διεύθυνση, το API ανακτά το αρχείο πριν τρέξει το μοντέλο, μέσα σε αυτά τα όρια:

Όριο Κανόνας
Μέγεθος Έως 8 MiB ανά αρχείο.
Χρόνος 20 δευτερόλεπτα για να απαντήσει.
Ανακατευθύνσεις Το πολύ 5.
Διεύθυνση http:// ή https://, χωρίς όνομα χρήστη ή κωδικό στη διεύθυνση, σε host με δημόσια διεύθυνση.
Απάντηση του host Κατάσταση στο εύρος 200 και σώμα που δεν είναι κενό. Ο τύπος του αρχείου διαβάζεται από το Content-Type.
Ζητείται ως User-Agent: ShannonBot/1.0 (+https://shannon-ai.com)

Πώς μετρούν οι εικόνες σε tokens

Στα φιλοξενούμενα μοντέλα ανοιχτών βαρών, μια εικόνα μετρά ένα token για κάθε τμήμα 28 × 28 pixel: το πλάτος διά 28, στρογγυλεμένο προς τα πάνω, επί το ύψος διά 28, στρογγυλεμένο προς τα πάνω. Το αποτέλεσμα είναι μέρος του usage.prompt_tokens και χρεώνεται ως είσοδος.

1024 × 1024
1,369 tokens
1920 × 1080
2,691 tokens
512 × 512
361 tokens
  • Μια απομακρυσμένη εικόνα ανακτάται πρώτα, οπότε μετράται το πραγματικό της μέγεθος.
  • Μια εικόνα της οποίας το μέγεθος δεν μπορεί να διαβαστεί μετρά 1,024 tokens.
  • Τα endpoints μέτρησης εφαρμόζουν τον ίδιο κανόνα για τα data URLs. Δεν ανακτούν απομακρυσμένη διεύθυνση και την μετρούν ως 1,024 tokens. Καταμέτρηση tokens
  • Για ένα μοντέλο Shannon, διαβάστε το κόστος ενός αιτήματος με εικόνες από το usage της απάντησης.

Έγγραφα και άλλα αρχεία

Η οικογένεια Shannon 3 (shannon-3, shannon-3-pro, shannon-3.1, shannon-3.1-pro) διαβάζει και έγγραφα. Το κείμενο του εγγράφου εξάγεται και δίνεται στο μοντέλο μαζί με το μήνυμά σας.

Έγγραφο Τύπος μέσου
PDF application/pdf
Word application/vnd.openxmlformats-officedocument.wordprocessingml.document
PowerPoint application/vnd.openxmlformats-officedocument.presentationml.presentation
Excel application/vnd.openxmlformats-officedocument.spreadsheetml.sheet

Ένα έγγραφο είναι μέρος του μηνύματος χρήστη, όπως μια εικόνα:

Endpoint Μέσα στο αίτημα (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."}
      ]
    }
  ]
}
  • Δώστε τον πραγματικό τύπο μέσου του αρχείου. Χωρίς αυτόν, ένα έγγραφο διαβάζεται ως 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: … Το σώμα του αιτήματος, μαζί με τα inline αρχεία του, είναι μεγαλύτερο από 32 MiB. Το σφάλμα φέρει code: "request_too_large".

Ένα μοντέλο Shannon απαντά με κατάσταση 200 όποια αρχεία κι αν φέρει το αίτημα: ένα μέρος που δεν διαβάζει παραλείπεται. Χειρισμός σφαλμάτων