Перейти к содержанию
Справочник APIVision (изображения)

Vision (изображения)

Изображения: поддержанные форматы и ограничения выбранного API.

Протокол модели

Messages без серверного промпта

Без применённого серверного промпта POST /v1/messages изображения передаются блоком image. Самый надёжный способ — base64: файл уже находится в запросе и не зависит от доступности внешнего сайта.

Base64 — рекомендуется

json
{
  "model": "claude-opus-5",
  "max_tokens": 1024,
  "messages": [{
    "role": "user",
    "content": [
      {"type": "image", "source": {
        "type": "base64", "media_type": "image/jpeg", "data": "<BASE64>"
      }},
      {"type": "text", "text": "Что на изображении?"}
    ]
  }]
}

URL — только прямой публичный файл

json
{"type": "image", "source": {"type": "url", "url": "https://example.com/photo.jpg"}}
  • Форматы: JPEG, PNG, GIF, WebP.
  • Лимиты Anthropic: до 10 MB base64-данных и до 8000×8000 px на изображение. Если изображений больше 20, безопасно заранее уменьшить каждую сторону до 2000 px.
  • На один API-запрос допускается до 100 изображений при 200k context window и до 600 при 1M context window; размер запроса и токены могут остановить обработку раньше.
  • Анимация GIF не воспроизводится — Claude анализирует только первый кадр.
  • URL должен быть прямым публичным https:// без авторизации, cookies, login-страницы и anti-bot проверки.
  • Сервер должен стабильно отдавать корректный image MIME (image/jpeg, image/png, image/gif или image/webp).
  • Guard не скачивает URL сам: адрес передаётся в запрос Claude Messages без серверного промпта для удалённой загрузки.
  • Официальный count_tokens Anthropic может отклонить URL-source, хотя Messages принимает тот же файл. Для /v1/messages Guard в этом случае пропускает внутренний count-preflight и использует безопасный резерв полного контекста; если нужен предварительный точный count, отправьте изображение как base64.
  • Редиректы, CDN-защита, hotlink-защита и временные signed URL могут не сработать. Доступность произвольного внешнего хоста не гарантируется.
  • Если URL отклоняется — скачайте файл сами и отправьте base64.
  • В одном сообщении можно несколько изображений, пока весь запрос укладывается в лимит.
  • Картинки считаются входными токенами (зависит от разрешения) — см. Биллинг.

GPT-6 Sol и Luna

Текущий каталог источника объявляет для GPT-6 Sol и GPT-6 Luna входные модальности text и image. Используйте изображение только в поддержанной форме выбранного API; наличие image metadata не создаёт файловый alias /v1/files.

Kimi, Composer и Grok

СемействоИзображения на входе
Kimiблоки image_url, input_image и image принимаются и уходят модели как есть; такое же поведение у видео-блоков
Composerнет: 400 cursor_image_input_unavailable до списания
Grok 4.6да: инлайн base64, до 16 изображений на запрос, image/png, image/jpeg, image/webp, image/gif
Grok 4.7нет: 400 cursor_image_input_unavailable до списания
json
{
  "model": "cursor-grok-4.6-high",
  "max_tokens": 512,
  "messages": [{
    "role": "user",
    "content": [
      {"type": "image", "source": {"type": "base64", "media_type": "image/png", "data": "iVBORw0…"}},
      {"type": "text", "text": "Что на картинке?"}
    ]
  }]
}

PNG через GLM 5.3 Flash

Изображение подтверждено только для glm-5.3-flash. Передавайте PNG как base64/data URL в нативной форме выбранного API.

APIContent block
Chatimage_url.image_url.url = data:image/png;base64,…
Messagesimage.source = {type: base64, media_type: image/png, data: …}
Responsesinput_image.image_url = data:image/png;base64,…

Chat Completions:

json
{
  "model": "glm-5.3-flash",
  "max_tokens": 4096,
  "messages": [{"role": "user", "content": [
    {"type": "text", "text": "Describe the image"},
    {"type": "image_url", "image_url": {"url": "data:image/png;base64,<base64>"}}
  ]}]
}

Messages:

json
{
  "model": "glm-5.3-flash",
  "max_tokens": 4096,
  "messages": [{"role": "user", "content": [
    {"type": "text", "text": "Describe the image"},
    {"type": "image", "source": {
      "type": "base64", "media_type": "image/png", "data": "<base64>"
    }}
  ]}]
}

Responses:

json
{
  "model": "glm-5.3-flash",
  "max_output_tokens": 4096,
  "store": false,
  "input": [{"role": "user", "content": [
    {"type": "input_text", "text": "Describe the image"},
    {"type": "input_image", "image_url": "data:image/png;base64,<base64>"}
  ]}]
}

Изображения Gemini

Gemini принимает изображения встроенными данными base64 или ссылкой https: файл по ссылке скачивает сам Google. Передавайте изображение в нативной форме выбранного API.

APIБлок изображения
Messagesimage с source.type: "base64" или source.type: "url" и адресом https в url
Chat Completionsimage_url с адресом вида data:image/png;base64,… или адресом https; detail только auto
Responsesinput_image с image_url: data-адрес или адрес https

Chat Completions:

json
{
  "model": "gemini-4-argon",
  "max_tokens": 4096,
  "messages": [{"role": "user", "content": [
    {"type": "text", "text": "Describe the image"},
    {"type": "image_url", "image_url": {"url": "data:image/png;base64,<base64>"}}
  ]}]
}

Messages:

json
{
  "model": "gemini-4-argon",
  "max_tokens": 4096,
  "messages": [{"role": "user", "content": [
    {"type": "text", "text": "Describe the image"},
    {"type": "image", "source": {
      "type": "base64", "media_type": "image/png", "data": "<base64>"
    }}
  ]}]
}

Responses:

json
{
  "model": "gemini-4-argon",
  "max_output_tokens": 4096,
  "input": [{"role": "user", "content": [
    {"type": "input_text", "text": "Describe the image"},
    {"type": "input_image", "image_url": "data:image/png;base64,<base64>"}
  ]}]
}

Ссылка вместо данных, Messages:

json
{
  "type": "image",
  "source": {"type": "url", "url": "https://example.com/picture.png"}
}

Изображения Muse

Muse принимает изображения встроенными данными base64: в Chat Completions и Responses это data-адрес вида data:image/png;base64,….

APIБлок изображения
Messagesimage
Chat Completionsimage_url
Responsesinput_image

Разделы

На этой странице