HiAPI
Блог

Руководство

HiAPI invalid_request: как исправить неверно выбранный интерфейс модели?

Сверьте model ID, поддерживаемые точки входа и тело запроса, различайте ошибки интерфейса, параметров и ключа; приложен код диагностики только для чтения.

Oct 25, 2026
HiAPI invalid_request: как исправить неверно выбранный интерфейс модели?

Кратко

invalid_request — это ошибка класса запроса. Неверно выбранный интерфейс — одна из возможных причин, но также нужно проверить тело запроса и model ID с учётом сообщения об ошибке. Сначала сверьте поддерживаемые моделью точки входа, затем формируйте поля в соответствии с этой точкой входа.

Перед запуском примера на Python выполните в том же окружении Python python -m pip install requests.

Как выбрать одну из трёх точек входа

Ниже приведены три часто используемые точки генерации в HiAPI; какие точки входа поддерживает конкретная модель, смотрите на её странице модели и в публичном каталоге моделей.

Точка входа Ключевые поля тела запроса Назначение
/v1/tasks model + input Задачи изображений, видео, аудио
/v1/chat/completions model + messages Модели, поддерживающие протокол чата
/v1/responses model + input Модели, поддерживающие Responses

Значения task, openai, openai-response в supported_endpoint_types соответствуют трём точкам входа выше. В каталоге могут встречаться и другие типы протоколов; при встрече с не указанным типом откройте документацию по подключению этой модели.

Только чтение: проверка поддерживаемых моделью точек входа

Задайте HIAPI_MODEL как полный model ID со страницы модели и запустите следующий скрипт. Он только читает публичный каталог и не отправляет задачи генерации.

import os
import requests

model_id = os.environ["HIAPI_MODEL"]
response = requests.get("https://api.hiapi.ai/api/pricing", timeout=30)
response.raise_for_status()
models = response.json()["data"]
model = next((m for m in models if m.get("model_name") == model_id), None)
if model is None:
    raise SystemExit("Model not present in the public catalog; check its exact model ID")
print("model:", model["model_name"])
print("supported_endpoint_types:", model.get("supported_endpoint_types", []))

Четыре шага исправления запроса

  1. Проверьте домен и путь фактического запроса, убедитесь, что Base URL не содержит повторно добавленного /v1.
  2. Сверьтесь с полным ID и поддерживаемыми точками входа на странице модели; отображаемое имя не может напрямую заменять API model ID.
  3. Скорректируйте тело запроса: messages чата нельзя копировать в интерфейс задач как есть; параметры задачи должны находиться внутри input.
  4. Перечитайте возвращённый HTTP-статус и поля ошибки; если сбой сохраняется, зафиксируйте ID запроса, model ID, путь интерфейса и очищенное от чувствительных данных тело запроса.

Различие ошибок интерфейса, параметров и ключа

Симптом Следующий шаг
400, сообщение о недопустимом запросе Проверьте интерфейс, JSON, обязательные поля и типы полей
Явное сообщение о неподдержке текущего протокола Используйте точку входа, поддерживаемую по объявлению модели
401, ключ недействителен или отсутствует Проверьте заголовок Bearer и переменные окружения во время выполнения
Интерфейс задач возвращает MODEL_UNAVAILABLE Проверьте model ID, статус доступности и права доступа аккаунта

Ответ об отказе интерфейса задач может содержать error_code верхнего уровня; другие точки входа могут использовать error.code. Не определяйте все ошибки только по одному полю.

Частые вопросы

invalid_request обязательно означает неверно выбранный интерфейс?

Не обязательно. Поля запроса, JSON или отсутствие обязательных элементов также могут привести к отклонению запроса. Сначала прочитайте message, затем проверьте точку входа.

Достаточно ли изменить только URL?

Нужно также скорректировать тело запроса в соответствии с соответствующим интерфейсом. Структуры messages и input интерфейса задач различаются.

Что делать, если модели нет в публичном каталоге?

Сверьте полный ID, страницу модели и область видимости аккаунта; не заменяйте автоматически на модель с похожим названием.

Генерирует ли этот проверочный код контент?

Нет. Код только читает публичный каталог; процесс задачи запускается только при фактической отправке запроса генерации.

Продолжить диагностику

Похожие статьи

Все статьи →

Начните работать с постоянными артефактами ИИ

Получите API-ключ и вызывайте модели изображений, видео и аудио через один API на основе tasks.

Читать документацию API