Vision (входное изображение)
Отправляйте изображения в Claude через /v1/messages: base64 или URL. Формат запроса, поддерживаемые типы файлов, лимиты размера и выбор модели.
Все модели Claude принимают изображения. Передавайте inline как base64 или как URL внутри блока image.
Все модели, характеристики и цены Индекс документации для AI-агентов:https://oneprovider.dev/docs/llms.txt Блок image
Смешивайте text- и image-блоки в одном 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 также принимает публичный HTTPS URL: мы скачиваем картинку на сервере и передаём её модели.
json{
"type": "image",
"source": {
"type": "url",
"url": "https://example.com/diagram.png"
}
} Форматы и лимиты
- Media-типы:
image/jpeg,image/png,image/gif,image/webp. - До 20 изображений на запрос и 5 МБ на изображение до base64-кодирования.
- Анимированные GIF декодируются до первого кадра.
- Vision-токены тарифицируются как input-токены — типичная картинка 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) Выбор модели для vision
- OCR и плотный текст —
claude-opus-5-5, когда точность важнее стоимости. - Объекты и описание сцен —
claude-sonnet-5-5как сбалансированный дефолт. - Простые диаграммы и UI-скриншоты —
claude-haiku-5-5для дешёвой массовой обработки; сложные случаи переводите на Sonnet или Opus.
Быстрые ответы
Какой base URL использовать?
Claude Code и Anthropic SDK работают с https://api.oneprovider.dev. OpenAI SDK и OpenAI-совместимые клиенты работают с https://api.oneprovider.dev/v1. За обоими адресами один ключ; список моделей: странице моделей , ставки на странице тарифов .
Как авторизоваться?
Передайте сырой ключ sk-… в заголовке x-api-key или Authorization: Bearer: один из двух, не оба. Храните ключ в переменной окружения, а не в файле, который попадает в репозиторий. Подробнее об аутентификации .
Где взять ключ?
Откройте кабинет в Telegram-боте @oneprovider_robot или на app.oneprovider.dev, пополните баланс и нажмите «Выпустить ключ». У каждого ключа может быть свой лимит расхода. Кабинет и ключи .
Что значат ошибки 401, 404 и 429?
401: ключ не задан, написан с ошибкой или передан не в том заголовке; вставьте ключ целиком, без кавычек и пробелов. 404: обычно неверный base URL, например лишний или двойной /v1. 429 с текстом «Insufficient balance»: баланс кабинета или лимит ключа исчерпан, пополните его вместо повторов; любой другой 429 это лимит частоты, подождите Retry-After. Разбор: коды ошибок и решение проблем .
Почему обрывается стрим или сбрасывается соединение?
VPN и VLESS-прокси часто буферизуют SSE или ломают согласование HTTP/2. У OneProvider нет региональных ограничений, и стримы на нашей стороне не буферизуются: отключите прокси и повторите запрос.
Куда писать, если не помогло?
Напишите в Telegram @Oneproviderhelpbot или откройте «Поддержку» в веб-кабинете: приложите код статуса и точный текст ошибки. Как работает поддержка .
Последнее обновление: 2026-10-05 Нашли ошибку? @Oneproviderhelpbot