مواد پر جائیں
تصاویر اور فائلیں

تصاویر اور فائلیں

پیغام کے ساتھ تصاویر بھیجیں: کون سے ماڈلز انہیں لیتے ہیں، قبول شدہ شکلیں اور ان کی حدود۔

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 URLs کے لیے یہی اصول استعمال کرتے ہیں۔ وہ دور دراز پتہ حاصل نہیں کرتے اور اسے 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 سے جواب دیتا ہے: جو حصہ وہ نہیں پڑھتا اسے نکال دیا جاتا ہے۔ غلطیاں