कंटेंट पर जाएँ
इमेज और फ़ाइलें

इमेज और फ़ाइलें

संदेश के साथ इमेज भेजें: कौन से मॉडल उन्हें लेते हैं, स्वीकार किए जाने वाले रूप और उनकी सीमाएँ।

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 परिवार, इनलाइन भेजे गए पिछले यूज़र संदेशों की कुछ इमेज और दस्तावेज़ भी नज़र में रखता है, और प्रति अनुरोध इमेज की एक तय अधिकतम संख्या पढ़ता है, जो पहली इमेज से गिनी जाती है।
  • होस्टेड ओपन-वेट मॉडल बातचीत के हर संदेश की इमेज पढ़ते हैं।

स्वीकार किए जाने वाले रूप

फ़ाइल दो तरीकों में से एक से भेजी जाती है: अनुरोध के भीतर 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 स्ट्रिंग खुद हो सकता है या ऑब्जेक्ट {"url": "…"}।
  • फ़ाइल का प्रकार data 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 टोकन गिनी जाती है।
  • गिनती वाले endpoints data URL के लिए यही नियम लगाते हैं। वे रिमोट पते को नहीं लाते और उसे 1,024 टोकन गिनते हैं। टोकन गिनती
  • 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: … इनलाइन फ़ाइलों सहित अनुरोध बॉडी 32 MiB से बड़ी है। त्रुटि में code: "request_too_large" होता है।

Shannon मॉडल अनुरोध में कोई भी फ़ाइल हो, स्टेटस 200 से उत्तर देता है: जो भाग वह नहीं पढ़ता उसे छोड़ दिया जाता है। त्रुटि प्रबंधन