بینایی
تصویر را از طریق /v1/messages به Claude بفرستید، بهصورت base64 یا URL. قالب درخواست، نوع فایلهای پشتیبانیشده، سقف اندازه و مدل مناسب را ببینید.
همهٔ مدلهای Claude تصویر میپذیرند. آنها را درونخطی به صورت base64 یا به صورت URL داخل یک بلوک محتوای image بفرستید.
همهٔ مدلها، قابلیتها و قیمتها فهرست مستندات برای عاملهای هوش مصنوعی:https://oneprovider.dev/docs/llms.txt بلوک محتوای تصویر
بلوکهای متن و تصویر را داخل همان آرایهٔ content با هم ترکیب کنید. مدل آنها را یک جریان مرتب واحد میبیند.
{
"model": "claude-sonnet-5-5",
"max_tokens": 512,
"messages": [
{
"role": "user",
"content": [
{ "type": "text", "text": "Describe this image in one sentence." },
{
"type": "image",
"source": {
"type": "base64",
"media_type": "image/png",
"data": "iVBORw0KGgoAAAANSUhEUgAAA..."
}
}
]
}
]
} منبع URL
API یک URL عمومی HTTPS را هم میپذیرد: ما تصویر را سمت سرور میگیریم و به مدل میدهیم.
json{
"type": "image",
"source": {
"type": "url",
"url": "https://example.com/diagram.png"
}
} قالبها و محدودیتها
- نوعهای رسانه:
image/jpeg،image/png،image/gif،image/webp. - تا 20 تصویر در هر درخواست و 5 MB برای هر تصویر پیش از کدگذاری base64.
- از GIFهای متحرک فقط فریم اول رمزگشایی میشود.
- توکنهای بینایی مانند توکنهای ورودی محاسبه میشوند — یک تصویر معمولی 1024×1024 حدود 1600 توکن میشود.
Python (فایل ← base64)
pythonimport base64, mimetypes
from anthropic import Anthropic
client = Anthropic(base_url="https://api.oneprovider.dev")
def encode_image(path: str):
with open(path, "rb") as f:
data = base64.standard_b64encode(f.read()).decode("ascii")
return {
"type": "base64",
"media_type": mimetypes.guess_type(path)[0] or "image/png",
"data": data,
}
msg = client.messages.create(
model="claude-sonnet-5-5",
max_tokens=512,
messages=[{
"role": "user",
"content": [
{"type": "text", "text": "What's in this screenshot?"},
{"type": "image", "source": encode_image("./screen.png")},
],
}],
)
print(msg.content[0].text) انتخاب مدل برای بینایی
- OCR و متن فشرده —
claude-opus-5-5وقتی دقت مهمتر از هزینه است. - توصیف اشیا و صحنه —
claude-sonnet-5-5بهعنوان گزینهٔ پیشفرض متعادل. - نمودارهای ساده و اسکرینشاتهای رابط کاربری —
claude-haiku-5-5برای پردازش انبوه کمهزینه؛ موارد پیچیده را به Sonnet یا Opus ببرید.
پاسخهای سریع
از کدام base URL استفاده کنم؟
Claude Code و SDKهای Anthropic از https://api.oneprovider.dev استفاده میکنند. SDKهای OpenAI و کلاینتهای سازگار با OpenAI از https://api.oneprovider.dev/v1 استفاده میکنند. یک کلید پشت هر دو آدرس کار میکند؛ فهرست مدلها در صفحهٔ مدلها و نرخها در صفحهٔ قیمتها است.
چگونه احراز هویت کنم؟
کلید خام sk-… را در x-api-key یا Authorization: Bearer بفرستید: یکی از این دو، نه هر دو. کلید را در یک متغیر محیطی نگه دارید، نه در فایلی که commit میشود. اطلاعات بیشتر دربارهٔ احراز هویت .
کلید را از کجا بگیرم؟
حساب کاربری خود را در ربات Telegram به نام @oneprovider_robot یا در app.oneprovider.dev باز کنید، موجودی را شارژ کنید و «صدور کلید» را بزنید. هر کلید میتواند سقف مصرف مخصوص خودش را داشته باشد. حساب کاربری و کلیدهای API .
کدهای 401، 404 و 429 یعنی چه؟
401: کلید ارسال نشده، اشتباه تایپ شده یا در هدر نادرست فرستاده شده است؛ کلید را کامل و بدون گیومه و فاصله جایگذاری کنید. 404: معمولاً base URL نادرست است، مثلاً /v1 جا افتاده یا دوبار آمده است. 429 با پیام «Insufficient balance»: موجودی حساب کاربری یا سقف مصرف کلید تمام شده است؛ بهجای تلاش دوباره، شارژ کنید. هر 429 دیگری محدودیت نرخ است؛ تا پایان زمان Retry-After صبر کنید. جزئیات: کدهای خطا و رفع اشکال .
چرا استریمها قطع یا ریست میشوند؟
VPN و پروکسیهای VLESS اغلب SSE را بافر میکنند یا مذاکرهٔ HTTP/2 را مختل میکنند. OneProvider هیچ محدودیت منطقهای ندارد و استریمها را بافر نمیکند؛ پروکسی را خاموش کنید و دوباره امتحان کنید.
اگر اینها کافی نبود از کجا بپرسم؟
در Telegram به @Oneproviderhelpbot پیام بدهید یا در حساب کاربری وب «پشتیبانی» را باز کنید و کد وضعیت HTTP و متن دقیق خطا را بفرستید. پشتیبانی چگونه کار میکند .
آخرین بهروزرسانی: 2026-11-08 باگی پیدا کردید؟ @Oneproviderhelpbot