В примерах ниже
$TEXT_MODEL — переменная окружения с идентификатором модели из GET /api/v1/models. Идентификаторы не зашивают в код: состав каталога меняется. Разбор — в разделе Модели и цены.Публичные ссылки
Любая прямая ссылкаhttps:// работает как есть — и в image_url.url, и в file.file_url, и во входных параметрах медиа-задачи.
data:-URI с base64
Если ссылка недоступна или файл маленький, вложите содержимое прямо в запрос. Формат — data:<mime>;base64,<данные>.
Изображение:
Python
input_audio принимает только base64, без data-URI:
Python
file.file_data в виде data-URI:
Python
Каждый бит base64 стоит примерно 1,33 байта и уезжает в счёт входных токенов. Для файлов от нескольких сотен килобайт и выше переходите на хранилище: ссылка дешевле по трафику, понятнее в логах и не раздувает тело запроса.
Загрузка в хранилище
POST /api/v1/storage/upload — правильный способ для файлов, которые живут дольше одного запроса: изображения пользователей, документы, референсы для генерации. Тело — только multipart/form-data, предел — 100 МБ.
201 Created:
Ссылка в запросе
cURL
Ссылка в медиа-задаче
cURL
url из хранилища — обычная публичная ссылка, а не подписанная: срока действия у неё нет, отдавать её можно кому угодно. Если нужна приватная ссылка с ограничением по времени, подписывайте файл по своей схеме — хранилище такое не выдаёт.Типы блоков ввода
file_id и asset://
Старые версии документации утверждали обратное, и интеграции, построенные на этом, получают отказ. Если файл нужно передать в модель, загрузите его и подставьте url.
Перекодирование при загрузке
Изображения перекодируются без потерь в PNG, если получившийся файл меньше исходного; длинная сторона при этом ограничивается 2000 пикселями. Последствия:filenameв ответе может отличаться от вашего — расширение меняется на.png.sizeможет оказаться меньше отправленного размера. Это норма, а не ошибка загрузки.mime_typeв ответе отражает уже сохранённый файл.
Не сравнивайте
size с размером исходника в логике расчёта квоты — сверяйтесь с тем, что вернул API.Какие модели принимают изображения
Зрение — не всеобщее свойство. Модель без него отвергает запрос целиком с400 invalid_request, а не игнорирует картинку молча.
Что дальше
Загрузить файл
Поля формы, квота и ограничения
Создать задачу
Входные параметры и опрос статуса
Запрос чату
Формат сообщений и блоков контента
Модели и цены
Зрение, контекст и стоимость
