|

Ошибка декодирования Base64 в gemini-3-pro-image-preview: 6 основных причин и полное руководство по исправлению

Авторское примечание: при вызове gemini-3-pro-image-preview возникает ошибка Base64 decoding failed 400? В этой статье мы разберем 6 распространенных причин возникновения этой ошибки, предоставим примеры кода на Python, JavaScript и cURL, а также предложим пошаговый план диагностики из 5 этапов.

Вы столкнулись с этой ошибкой 400 при вызове интерфейса gemini-3-pro-image-preview?

{
  "status_code": 400,
  "error": {
    "message": "Invalid value at 'contents[0].parts[0].inline_data.data' (TYPE_BYTES), Base64 decoding failed for \"/9j/4AAQSkZJ...\" (request id: 2026050117522815159336234238114)",
    "type": "shell_api_error",
    "code": 400
  }
}

Это не проблема сервиса API, а ошибка декодирования Base64-данных в поле inline_data.data внутри тела вашего запроса на стороне бэкенда Gemini. Фрагмент /9j/4AAQSkZJ в сообщении об ошибке — это стандартный заголовок Base64 для файлов JPEG (соответствует бинарным данным FF D8 FF E0), что означает, что начало ваших данных корректно, но в остальной части строки есть элементы, препятствующие декодированию.

Ключевая ценность: В этой статье мы подробно разберем 6 распространенных причин этой ошибки, предоставим корректные примеры кода для Python, JavaScript и cURL, а также дадим план быстрой диагностики из 5 шагов. Если вы используете APIYI (apiyi.com) для вызова gemini-3-pro-image-preview, все предложенные решения также будут актуальны.

gemini-3-pro-image-preview-base64-decoding-failed-fix-ru 图示

I. Глубокий анализ ошибки Base64 decoding failed

Прежде чем приступать к исправлению, давайте разберем значение каждого поля в сообщении об ошибке — это сэкономит вам 80% времени на отладку.

1.1 Разбор полей сообщения об ошибке

Поле Значение Направление поиска
status_code: 400 Ошибка клиента HTTP 400 Проблема в формате тела запроса, а не в сервере
contents[0].parts[0] Ошибка в 1-й части 1-го контента Проверьте первый блок изображения
inline_data.data Поле данных встроенного контента Должно содержать чистую Base64-строку
(TYPE_BYTES) Тип поля — массив байтов Бэкенд Gemini ожидает байты после декодирования
Base64 decoding failed for "/9j/..." Ошибка декодирования, начало /9j/ Начальные байты верны, проблема в середине или конце
request id: 2026050... Уникальный ID запроса Укажите этот ID при обращении в техподдержку

1.2 Почему начало /9j/4AAQSkZJ корректно, но декодирование все равно не проходит?

/9j/4AAQSkZJ — это стандартное начало Base64-кодировки для JPEG-файлов (соответствует бинарным данным FF D8 FF E0 00 10 4A 46 49 46, то есть JPEG SOI + APP0 + заголовок "JFIF"). Это означает:

  • ✅ Ваши данные действительно являются JPEG-изображением
  • ✅ Начальные байты полностью корректны
  • ❌ Однако в полной строке где-то присутствуют недопустимые символы или нарушена структура

Этот признак исключает вероятность того, что "данные полностью неверны". Проблема, скорее всего, кроется в середине данных, отступах (padding) в конце или на этапе передачи/экранирования строки.

1.3 В каких сценариях возникает эта ошибка

gemini-3-pro-image-preview — это новейшая модель Google для генерации и редактирования изображений. Использование inline_data требуется в следующих случаях:

  • Изображение-в-изображение (Image-to-Image): генерация нового изображения на основе эталонного.
  • Редактирование изображений: внесение локальных правок в исходное изображение.
  • Слияние нескольких изображений: генерация на основе комбинации нескольких эталонных изображений.
  • Перенос стиля: использование эталонного изображения в качестве шаблона стиля.

Любой сценарий, требующий передачи данных изображения в качестве входных, может привести к ошибке Base64 decoding failed.

💡 Совет по быстрой диагностике: Если вы используете сервис-прокси API APIYI (apiyi.com) для вызова gemini-3-pro-image-preview, вы можете просмотреть полные логи запросов и request_id в консоли. Сравнение длины и содержимого поля inline_data.data, фактически отправленного в теле запроса, позволит провести отладку гораздо быстрее, чем при прямом подключении к официальному API.

二、6 распространенных причин ошибки Base64 decoding failed

Ошибки перечислены в порядке убывания частоты их возникновения. Рекомендуем проверять их именно в этом порядке.

2.1 Причина №1: Наличие префикса data URI (самая частая, около 40% случаев)

Это самая распространенная ошибка. Разработчики часто просто копируют строку base64 из HTML или фронтенда:

❌ Неправильно:

{
  "inline_data": {
    "mime_type": "image/jpeg",
    "data": "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAA..."
  }
}

✅ Правильно:

{
  "inline_data": {
    "mime_type": "image/jpeg",
    "data": "/9j/4AAQSkZJRgABAQAA..."
  }
}

Префикс data:image/jpeg;base64, используется только в тегах <img> в браузере или в CSS, а поле inline_data.data в Gemini API принимает только чистую строку Base64.

2.2 Причина №2: Наличие переносов строк или пробелов (около 25% случаев)

Функции кодирования Base64 во многих языках автоматически добавляют перенос строки каждые 76 символов (формат PEM), либо вы случайно захватили символы \n или \r при чтении файла.

❌ Пример ошибки (Python):

import base64

# Ошибка: использование encodebytes() добавляет переносы строк
with open("photo.jpg", "rb") as f:
    data = base64.encodebytes(f.read()).decode()  # содержит \n

✅ Правильно:

import base64

# Правильно: использование b64encode() не добавляет переносы
with open("photo.jpg", "rb") as f:
    data = base64.b64encode(f.read()).decode("utf-8")

2.3 Причина №3: Замена символов из-за URL-кодирования (около 15% случаев)

Набор символов Base64 включает + и /, которые при передаче через URL могут быть преобразованы в %2B и %2F. Некоторые HTTP-клиенты автоматически делают URL-кодирование, из-за чего бэкенд Gemini не может декодировать строку.

❌ Симптомы ошибки:

Оригинал: /9j/4AAQSkZJRg+abc=
После передачи: %2F9j%2F4AAQSkZJRg%2Babc%3D

✅ Решение:

  • Убедитесь, что Content-Type установлен как application/json, а не application/x-www-form-urlencoded.
  • Передавайте Base64 в теле JSON, а не в параметрах запроса URL.
  • Используйте параметр json= в HTTP-клиентах (например, в Python requests), вместо ручной сборки строки.

2.4 Причина №4: Обрезание строки Base64 (около 10% случаев)

Если ваше изображение «тяжелое» (несколько МБ), оно может быть обрезано во время передачи по следующим причинам:

  • Повторная отправка при разрыве соединения.
  • Ограничение длины строки в HTTP-клиенте.
  • Обрезание из-за лимита длины поля при сериализации JSON.
  • Ограничения размера тела запроса (body size) у промежуточных прокси.

Как проверить: вычислите длину исходной строки Base64 и сравните её с длиной фактически отправленного тела запроса. После кодирования Base64 размер увеличивается примерно в 4/3 раза (JPEG весом 2 МБ превращается примерно в 2,67 МБ).

2.5 Причина №5: Использование URL-safe Base64 (около 5% случаев)

Функции base64.urlsafe_b64encode() в Python или Buffer.from(buf).toString('base64url') в Node.js создают URL-безопасный Base64, где + и / заменяются на - и _.

❌ Ошибка:

data = base64.urlsafe_b64encode(image_bytes).decode()  # содержит - и _

✅ Правильно:

data = base64.b64encode(image_bytes).decode("utf-8")  # содержит + и /

Gemini API принимает только стандартный Base64 (RFC 4648 §4), а не URL-safe версию (RFC 4648 §5).

2.6 Причина №6: Отсутствие или лишние символы дополнения (padding) (около 5% случаев)

Длина строки Base64 должна быть кратна 4, а в конце должны стоять символы =. «Строгие» режимы некоторых библиотек могут удалять эти символы, что приводит к ошибке декодирования на стороне Gemini.

❌ Ошибка:

/9j/4AAQSkZJRgABAQAAAQABAAD  ← длина 27, не кратна 4

✅ Правильно:

/9j/4AAQSkZJRgABAQAAAQABAAD=  ← добавлен =, длина 28

При использовании стандартной функции base64.b64encode() дополнение (padding) обрабатывается автоматически, вручную добавлять ничего не нужно.


III. 5 шагов для быстрой диагностики ошибки Base64 decoding failed

gemini-3-pro-image-preview-base64-decoding-failed-fix-ru 图示

Проверяйте пункты по порядку — в большинстве случаев ошибку удается локализовать уже на первых трех этапах.

3.1 Шаг 1: Проверка префикса data URI

Действие:

# Пример на Python
if data.startswith("data:"):
    print("⚠️ Содержит префикс data URI, нужно удалить")
    data = data.split(",", 1)[1]  # Удаляем data:image/...;base64,

Условие прохождения: поле data начинается с /9j/ (JPEG), iVBORw0KGgo (PNG), R0lGOD (GIF), UklGR (WebP) и т.д., и не содержит префикс data:.

3.2 Шаг 2: Очистка от переносов строк и пробелов

Действие:

# Удаление всех пробельных символов
import re
data = re.sub(r"\s+", "", data)

Условие прохождения: строка не содержит \n, \r, \t или обычных пробелов.

3.3 Шаг 3: Проверка валидности Base64

Перед отправкой запроса попробуйте локально декодировать строку. Если локально не получается — проблема точно в данных:

import base64
try:
    decoded = base64.b64decode(data, validate=True)
    print(f"✅ Декодирование успешно, байт: {len(decoded)}")
except Exception as e:
    print(f"❌ Ошибка декодирования: {e}")

Если локально всё работает, а API выдает ошибку — переходите к шагу 4.

3.4 Шаг 4: Проверка корректности mime_type

mime_type должен соответствовать реальному формату изображения. Основные допустимые значения:

Формат Правильный mime_type Характерное начало Base64
JPEG image/jpeg /9j/4AAQSkZJ
PNG image/png iVBORw0KGgo
WebP image/webp UklGR
GIF image/gif R0lGOD
HEIC image/heic AAAAFGZ0eXBoZWlj

Если вы указали mime_type: image/png, а данные на самом деле в формате JPEG (начинаются с /9j/), Gemini выдаст ошибку.

3.5 Шаг 5: Проверка ограничений размера изображения

Gemini API имеет лимиты на размер одного запроса:

  • Общий размер inline_data ≤ 20 МБ (до кодирования).
  • Одна картинка рекомендуется ≤ 7 МБ (до кодирования).
  • Сверхбольшие изображения лучше загружать через File API и передавать ссылку.

Если изображение слишком большое, лучше сжать его или изменить размер перед отправкой.

🎯 Совет по диагностике: если вы используете сервис-прокси API APIYI (apiyi.com) для вызова gemini-3-pro-image-preview, вы можете использовать request_id в консоли, чтобы увидеть полный запрос и логи ответа. Это гораздо удобнее, чем при прямом подключении к официальному API, так как логи прокси показывают реальный размер тела запроса и место, где он был обрезан.

四、Примеры корректного вызова gemini-3-pro-image-preview на разных языках

Ниже приведены проверенные и максимально простые примеры кода, которые можно сразу использовать в своих проектах.

4.1 Полный пример на Python (рекомендуется использовать библиотеку requests)

import base64
import requests

# 1. Чтение и кодирование изображения
def encode_image(image_path):
    with open(image_path, "rb") as f:
        return base64.b64encode(f.read()).decode("utf-8")

# 2. Формирование запроса
api_key = "sk-your-apiyi-key"  # Замените на ваш реальный API-ключ
base_url = "https://vip.apiyi.com/gemini"  # Адрес сервис-прокси API APIYI
model = "gemini-3-pro-image-preview"

image_b64 = encode_image("input.jpg")

payload = {
    "contents": [{
        "parts": [
            {
                "inline_data": {
                    "mime_type": "image/jpeg",  # Должен соответствовать реальному формату
                    "data": image_b64  # Чистый Base64, без префикса
                }
            },
            {
                "text": "Переделай это изображение в стиле звездной ночи Ван Гога"
            }
        ]
    }]
}

# 3. Отправка запроса
response = requests.post(
    f"{base_url}/v1beta/models/{model}:generateContent",
    headers={
        "x-goog-api-key": api_key,
        "Content-Type": "application/json"  # Важно: формат JSON
    },
    json=payload  # Важно: используйте json= вместо data=
)

print(response.json())

4.2 Полный пример на JavaScript / Node.js

const fs = require('fs');
const fetch = require('node-fetch');

async function callGemini() {
  // 1. Чтение и кодирование изображения (стандартный Base64, не base64url)
  const imageBuffer = fs.readFileSync('input.jpg');
  const imageB64 = imageBuffer.toString('base64'); // ✅ Не используйте 'base64url'

  // 2. Формирование запроса
  const apiKey = 'sk-your-apiyi-key';
  const baseUrl = 'https://vip.apiyi.com/gemini'; // Сервис-прокси API APIYI
  const model = 'gemini-3-pro-image-preview';

  const payload = {
    contents: [{
      parts: [
        {
          inline_data: {
            mime_type: 'image/jpeg',
            data: imageB64  // Чистый Base64
          }
        },
        { text: 'Переделай это изображение в стиле звездной ночи Ван Гога' }
      ]
    }]
  };

  // 3. Отправка запроса
  const response = await fetch(
    `${baseUrl}/v1beta/models/${model}:generateContent`,
    {
      method: 'POST',
      headers: {
        'x-goog-api-key': apiKey,
        'Content-Type': 'application/json'
      },
      body: JSON.stringify(payload)
    }
  );

  console.log(await response.json());
}

callGemini();

4.3 Пример команды curl

# 1. Кодируем изображение и сохраняем в файл (чтобы избежать ограничений длины командной строки)
base64 -i input.jpg -o input.b64
# Или для macOS: base64 -w 0 input.jpg > input.b64

# 2. Формируем JSON-полезную нагрузку
cat > payload.json <<EOF
{
  "contents": [{
    "parts": [
      {
        "inline_data": {
          "mime_type": "image/jpeg",
          "data": "$(cat input.b64)"
        }
      },
      { "text": "Переделай это изображение в стиле звездной ночи Ван Гога" }
    ]
  }]
}
EOF

# 3. Отправка запроса
curl -X POST \
  "https://vip.apiyi.com/gemini/v1beta/models/gemini-3-pro-image-preview:generateContent" \
  -H "x-goog-api-key: sk-your-apiyi-key" \
  -H "Content-Type: application/json" \
  -d @payload.json

⚠️ Примечание для curl: При использовании curl -d "$(base64 input.jpg)" в macOS по умолчанию могут добавляться символы переноса строки. Обязательно используйте base64 -w 0 (Linux) или base64 -i ... | tr -d '\n' (macOS), чтобы удалить переносы.


Пять: Ошибочные запросы vs Корректные запросы: полное сравнение

gemini-3-pro-image-preview-base64-decoding-failed-fix-ru 图示

Проверка Ошибочный пример Корректный пример
Начало поля data data:image/jpeg;base64,/9j/... /9j/4AAQSkZJ...
Обработка переносов Содержит \n каждые 76 символов Одна непрерывная строка
Набор символов Содержит - _ (URL-safe) Содержит + / (стандарт)
Padding в конце Нет = или лишние = Автоматический корректный padding
mime_type Не соответствует формату Строго соответствует формату
HTTP-заголовки application/x-www-form-urlencoded application/json
Способ передачи Параметры URL query Поле JSON body
Размер изображения > 20 МБ на файл ≤ 7 МБ на файл

VI. Преимущества использования APIYI для вызова gemini-3-pro-image-preview

Если после всех проверок проблема не решена, использование сервиса-прокси API APIYI (apiyi.com) для работы с gemini-3-pro-image-preview дает несколько весомых плюсов:

Преимущество Описание
Полные логи запросов В консоли можно увидеть полный запрос/ответ для каждого request_id
Быстрая диагностика Поиск причины сбоя по request_id в один клик
Совместимость форматов Не нужно менять код, достаточно заменить base_url
Без лимитов на параллелизм Пакетная обработка изображений не будет блокироваться
Бонусы при пополнении +10% при пополнении на 100$ (эквивалентно скидке 15% от официальных цен)
Оплата в рублях Прямая оплата через WeChat/Alipay (или доступные методы)

Для подключения к APIYI и вызова gemini-3-pro-image-preview нужно изменить всего две переменные:

# Официальный интерфейс
base_url = "https://generativelanguage.googleapis.com"

# Заменяем на сервис-прокси APIYI (остальной код остается без изменений)
base_url = "https://vip.apiyi.com/gemini"

VII. FAQ: Частые вопросы по ошибке Base64 decoding failed

Q1: Почему локальный base64.b64decode() работает, а при вызове API возникает ошибка?

Скорее всего, проблема на этапе передачи данных. Типичные причины:

  • HTTP-клиент кодирует + как %2B (используйте application/json, а не form-urlencoded)
  • Строка обрезается при сериализации JSON (проверьте лимиты размера тела запроса)
  • Промежуточный прокси или шлюз ограничивает размер тела (например, client_max_body_size в nginx)

Если подозреваете сетевые проблемы, используйте сервис-прокси APIYI (apiyi.com). Логи в консоли покажут содержимое тела запроса в том виде, в котором оно дошло до сервера, что упростит поиск ошибки.

Q2: Какие форматы изображений поддерживает gemini-3-pro-image-preview?

Поддерживаемые mime_type:

  • image/jpeg (рекомендуется, минимальный размер файла)
  • image/png (для изображений с прозрачностью)
  • image/webp (баланс между качеством и размером)
  • image/gif (берется только первый кадр)
  • image/heic / image/heif (форматы с iPhone)

Форматы BMP, TIFF, SVG не поддерживаются, их нужно конвертировать заранее.

Q3: Сколько изображений можно передать в одном запросе?

За один запрос к gemini-3-pro-image-preview можно передать:

  • inline_data parts: 3–5 штук (зависит от общего размера изображений)
  • Общий объем данных: ≤ 20 МБ (сумма всех inline_data до кодирования)
  • Совет: если нужно более 5 эталонных изображений, используйте File API для загрузки, а затем ссылайтесь на них через file_data

Q4: Ошибка Base64 decoding failed, но другие модели (например, gemini-2.5-flash) работают нормально?

Обычно это связано с тем, что gemini-3-pro-image-preview более требовательна к формату изображений. Валидация входных данных у новых моделей строже:

  • Старые модели могли игнорировать лишние префиксы или переносы строк
  • Новые модели строго проверяют данные по стандарту RFC 4648 §4
  • Рекомендуем переписать код согласно минимальному правильному примеру из раздела 4.1 и проверять каждый пункт

Q5: Какой base_url использовать при работе через APIYI (apiyi.com)?

Стандартный base_url для вызова gemini-3-pro-image-preview через APIYI:

https://vip.apiyi.com/gemini

Полный путь к эндпоинту:

https://vip.apiyi.com/gemini/v1beta/models/gemini-3-pro-image-preview:generateContent

API-ключ передается через заголовок x-goog-api-key, точно так же, как в официальном API Google.

Q6: Зачем нужен request_id?

request_id (например, 2026050117522815159336234238114) — это уникальный идентификатор вашего запроса. Зачем он нужен:

  • Для обращения в техподдержку: помогает быстро найти проблему
  • Для воспроизведения: команда разработки сможет увидеть полный лог вашего запроса
  • Для анализа ошибок: если один и тот же запрос повторяется с одинаковым ID, это указывает на системную проблему

При использовании APIYI (apiyi.com) вы можете найти детали по request_id прямо в консоли без обращения в поддержку.

Q7: Как сжать слишком большое изображение?

Рекомендуем использовать библиотеку Pillow для предварительного сжатия на клиенте:

from PIL import Image
import io
import base64

def compress_image(path, max_size_kb=2048):
    img = Image.open(path)
    # Масштабируем длинную сторону до 1568 (рекомендация Gemini)
    img.thumbnail((1568, 1568))
    buffer = io.BytesIO()
    img.save(buffer, format="JPEG", quality=85, optimize=True)
    return base64.b64encode(buffer.getvalue()).decode("utf-8")

Такое сжатие позволяет сохранить визуальное качество, значительно уменьшив размер файла и избежав лимита в 20 МБ.

Q8: Что значит ошибка (TYPE_BYTES)?

TYPE_BYTES — это идентификатор типа поля в Google Protocol Buffers. Он означает, что бэкенд Gemini ожидает получить декодированный массив байтов (bytes). Когда декодирование Base64 не удается, система не может получить байты, поэтому и выдает эту ошибку. Это сообщение от низкоуровневой проверки protobuf, а не проблема конфигурации.

VIII. Основные выводы

  • Суть ошибки: Base64-строка в поле inline_data.data не может быть декодирована на стороне Gemini.
  • 6 частых причин (по убыванию частоты): префикс data URI / символы переноса строки / URL-кодирование / обрезка данных / символы URL-safe / ошибки заполнения (padding).
  • 5 шагов для отладки: удаление префикса → очистка от пробелов → локальная проверка → проверка mime_type → проверка размера.
  • Рекомендация для Python: используйте base64.b64encode() и параметр json= в библиотеке requests.
  • Рекомендация для JavaScript: используйте Buffer.toString('base64') (не 'base64url').
  • Рекомендация для curl: сначала запишите Base64 в файл, а затем используйте -d @file.json для ссылки на него.
  • Преимущества APIYI: полная совместимость с нативным форматом, возможность отладки через request_id в консоли, отсутствие лимитов на параллельные запросы.
  • Техподдержка: сохраняйте request_id для быстрого решения проблем.

IX. Заключение

Ошибка Base64 decoding failed при работе с gemini-3-pro-image-preview в 99% случаев вызвана некорректным формированием запроса на стороне клиента, а не сбоем на сервере. Сообщение об ошибке, начинающееся с /9j/4AAQSkZJ, уже говорит нам о том, что начальные байты являются валидным JPEG в формате Base64, а проблема кроется в промежуточных этапах обработки — возможно, это лишние префиксы, переносы строк, URL-кодирование, использование URL-safe символов или обрезка данных.

Если следовать 5-шаговому алгоритму отладки из третьей главы, большинство проблем можно локализовать менее чем за 5 минут. Для сложных сценариев (например, если файл слишком большой даже после сжатия, при работе с несколькими изображениями или при использовании специфических кодировок) воспользуйтесь готовыми примерами кода из четвертой главы — их можно просто скопировать и запустить.

Если вы ищете стабильное решение для интеграции gemini-3-pro-image-preview в мультимодальные проекты, APIYI (apiyi.com) предлагает полный доступ к серии моделей Gemini. Мы обеспечиваем 100% совместимость с нативным форматом (нужно лишь заменить base_url), отсутствие ограничений на параллельные запросы (отлично подходит для пакетной обработки изображений), бонус 10% при пополнении на 100$ (эквивалентно скидке 15% от официальных цен), оплату в рублях (без необходимости в зарубежных картах) и возможность просмотра полных логов через request_id в консоли (что значительно упрощает отладку).

🎯 Следующий шаг: пройдите по порядку все 5 шагов отладки из третьей главы. Если проблема не решилась, сохраните request_id и отправьте его в техподдержку APIYI (apiyi.com), приложив тело вашего запроса (предварительно скрыв конфиденциальные данные). Обычно мы даем точный ответ в течение часа.

Справочные материалы

  1. Официальная документация Google Gemini API: понимание и генерация изображений

    • Ссылка: ai.google.dev/gemini-api/docs/image-generation
    • Описание: спецификации полей inline_data / file_data, список mime_type.
  2. Руководство разработчика Gemini 3: руководство по миграции на новые модели

    • Ссылка: ai.google.dev/gemini-api/docs/gemini-3
    • Описание: различия между gemini-3-pro-image-preview и старыми моделями.
  3. RFC 4648 — Кодировки данных Base16, Base32 и Base64: стандарт спецификации Base64

    • Ссылка: datatracker.ietf.org/doc/html/rfc4648
    • Описание: различия между стандартным Base64 (§4) и URL-safe Base64 (§5).
  4. Официальный сайт APIYI: сервис-прокси API для всей линейки Gemini / Claude / OpenAI

    • Ссылка: apiyi.com
    • Описание: полная совместимость с нативными форматами, отсутствие лимитов на параллельные запросы, оплата в юанях, бонус 10% при пополнении на 100 долларов.

Автор: Техническая команда
Последнее обновление: 02.05.2026
О проекте APIYI: APIYI (apiyi.com) — это профессиональный сервис-прокси API для больших языковых моделей, обеспечивающий стабильный доступ к таким моделям, как gemini-3-pro-image-preview, Claude Sonnet 4.5, Claude Opus 4.7, серии GPT и другим. Сервис полностью совместим с нативными форматами Gemini/OpenAI/Anthropic. В панели управления доступна проверка полных логов запросов по request_id. При пополнении счета на 100 долларов вы получаете бонус 10% (что эквивалентно скидке 15% от официальных цен), нет ограничений на параллельные запросы, а техническая поддержка всегда на связи.

Похожие записи