Руководство
Как использовать Claude Sonnet 4.6 через hiapi API
Что вы создадите
Рабочий пример интеграции: вызов Claude Sonnet 4.6 через совместимый с OpenAI Chat Completions API от hiapi — один запрос возвращает реальный результат дополнения, а также охватывает production-паттерны, которые вы действительно будете использовать после того, как демо заработает (потоковый вывод, вызов инструментов, адаптивное мышление).
Предварительные требования: ключ hiapi API. Получите его в консоли — это просто строка sk-..., один и тот же ключ работает для всех включённых моделей вашей учётной записи, а не только для этой.
Всё ниже в этой статье было проверено на работающем API в момент написания.
Минимальный рабочий пример
Claude Sonnet 4.6 — это текстовая модель на стандартном эндпоинте Chat Completions, а не асинхронный процесс /v1/tasks, который hiapi использует для моделей изображений/видео/аудио. Один запрос, один ответ, без опроса.
curl https://api.hiapi.ai/v1/chat/completions \
-H "Authorization: Bearer sk-<your-api-key>" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-sonnet-4-6",
"messages": [
{"role": "user", "content": "Explain how an HTTP cache works in three short paragraphs."}
]
}'
Ответ (сокращённо):
{
"id": "msg_bdrk_011Cf8Bo25qCVFFQF5ETk8Wf",
"model": "claude-sonnet-4-6",
"object": "chat.completion",
"choices": [
{
"index": 0,
"message": { "role": "assistant", "content": "..." },
"finish_reason": "stop"
}
],
"usage": { "prompt_tokens": 13, "completion_tokens": 4, "total_tokens": 17 }
}
Тот же вызов на Python с единственной зависимостью requests:
import requests
resp = requests.post(
"https://api.hiapi.ai/v1/chat/completions",
headers={"Authorization": "Bearer sk-<your-api-key>"},
json={
"model": "claude-sonnet-4-6",
"messages": [
{"role": "user", "content": "Explain how an HTTP cache works in three short paragraphs."}
],
},
timeout=60,
)
resp.raise_for_status()
data = resp.json()
print(data["choices"][0]["message"]["content"])
print(data["usage"]) # prompt_tokens / completion_tokens / total_tokens
Поскольку структура совместима с OpenAI, этот код без изменений работает и с официальным Python/JS SDK openai — достаточно указать base_url как https://api.hiapi.ai/v1 и передать свой ключ hiapi.
Production-паттерны
Потоковый вывод
Установите "stream": true и читайте Server-Sent Events. Каждый блок данных несёт фрагмент delta.content; поток завершается в последнем блоке с finish_reason: "stop", после чего идёт маркер [DONE]:
curl https://api.hiapi.ai/v1/chat/completions \
-H "Authorization: Bearer sk-<your-api-key>" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-sonnet-4-6",
"messages": [{"role": "user", "content": "Count 1 to 3"}],
"stream": true
}'
data: {"choices":[{"delta":{"content":"","role":"assistant"},"finish_reason":null,"index":0}]}
data: {"choices":[{"delta":{"content":"Here"},"finish_reason":null,"index":0}]}
data: {"choices":[{"delta":{"content":" you"},"finish_reason":null,"index":0}]}
data: {"choices":[{"delta":{},"finish_reason":"stop","index":0}]}
data: [DONE]
Накопив choices[0].delta.content по всем блокам, вы восстановите полный текст.
Вызов инструментов
Объявите функции так же, как в OpenAI, а затем в следующем раунде воспроизведите сообщение tool_calls ассистента вместе с сообщением-результатом tool:
curl https://api.hiapi.ai/v1/chat/completions \
-H "Authorization: Bearer sk-<your-api-key>" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-sonnet-4-6",
"messages": [{"role": "user", "content": "What is the status of task demo-123?"}],
"tools": [{
"type": "function",
"function": {
"name": "get_task_status",
"description": "Look up a task by ID.",
"parameters": {
"type": "object",
"properties": {"task_id": {"type": "string"}},
"required": ["task_id"],
"additionalProperties": false
}
}
}],
"tool_choice": "auto"
}'
В ответе вернётся finish_reason: "tool_calls", где имя функции и параметры в JSON находятся в choices[0].message.tool_calls. Выполните свою функцию локально, а затем в следующем запросе отправьте результат обратно как сообщение role: "tool" с совпадающим tool_call_id — модель продолжит с этого места.
Адаптивное мышление
Claude Sonnet 4.6 поддерживает включаемый по требованию этап рассуждения. Добавьте "thinking": {"type": "adaptive"} и выберите уровень усилия через output_config.effort (low, medium, high или max):
{
"model": "claude-sonnet-4-6",
"messages": [{"role": "user", "content": "Compare two approaches and state the trade-offs."}],
"thinking": {"type": "adaptive"},
"output_config": {"effort": "high"}
}
Читаемая трасса рассуждений возвращается через choices[0].message.reasoning_content; исходный массив reasoning_details несёт метаданные подписи, и если вы хотите продолжить диалог и перейти к вызову инструментов, его необходимо сохранить как есть — не разбирайте, не отображайте и не придумывайте его, просто передайте без изменений в следующем запросе.
Обработка ошибок
Ошибка аутентификации возвращает HTTP 401 с конвертом ошибки hiapi_error:
{
"error": {
"code": "permission_denied",
"message": "This API key is invalid. Check that it is correct or use another API key and try again.",
"type": "hiapi_error"
}
}
Проверяйте response.status_code перед обращением к response.json()["choices"], а если нужна эскалация, зафиксируйте error.request_id — служба поддержки сможет по нему отследить конкретный вызов.
Идемпотентность и повторные попытки
Вызовы Chat Completions, в отличие от заданий /v1/tasks, не идемпотентны по ID запроса — повторный запрос это новое дополнение. Для production-трафика оберните вызов в собственные повторные попытки с backoff, обрабатывая 5xx/тайм-ауты, и задайте ограничение max_tokens, чтобы шторм повторных попыток не привёл к неограниченному счёту.
См. также
- Справочник по модели Claude Sonnet 4.6 — полная таблица параметров, схема ответа и другие примеры запросов непосредственно из документации hiapi.
- Аутентификация — как работают ключи hiapi API и как их ротировать.
- Цены hiapi — актуальные ставки за токен для Claude Sonnet 4.6 и всех остальных включённых моделей.
Частые вопросы
claude-sonnet-4-6 — это точный ID модели, который нужно отправлять?
Да — отправляйте в поле model строку без префикса claude-sonnet-4-6. hiapi за совместимым с OpenAI интерфейсом маршрутизирует её в Claude Sonnet 4.6 от Anthropic, поэтому никакой префикс провайдера не нужен.
Используется ли здесь тот же процесс /v1/tasks, что и для моделей изображений и видео hiapi?
Нет. Текстовые модели вроде Claude Sonnet 4.6 используют синхронный эндпоинт POST /v1/chat/completions — один запрос, один ответ (или один поток SSE). /v1/tasks применяется только к медиамоделям (изображения, видео, аудио), которые работают асинхронно и возвращают URL для опроса или callback.
Можно ли использовать OpenAI SDK вместо нативных curl/requests?
Да. Поскольку эндпоинт совместим с OpenAI, достаточно указать base_url официального SDK openai как https://api.hiapi.ai/v1 и передать свой ключ hiapi как api_key — для базового чата, потокового вывода или вызова инструментов другие изменения кода не нужны.
Поддерживает ли Claude Sonnet 4.6 ввод изображений?
Да, через блоки содержимого — задайте content сообщения как массив, содержащий блок с type: "image_url", где image_url.url указывает на публичный URL изображения, рядом с вашими текстовыми блоками.
Что будет, если опустить thinking?
Согласно текущей версии, адаптивное мышление включается по требованию — опустите поле thinking (или установите thinking.type в disabled), и модель ответит сразу, без reasoning_content в ответе.
Где посмотреть текущие цены перед запуском больших пакетных задач? На странице цен hiapi перечислены актуальные ставки за токен для Claude Sonnet 4.6 — проверьте их перед планированием бюджета, так как ставки могут меняться, а эта статья не фиксирует число, которое может устареть.
Похожие статьи
Все статьи →-
Руководство
Как вызвать hailuo-2.3-fast/image-to-video через HiAPI API: практика с curl и Python
Первый рабочий запрос к быстрому и недорогому уровню генерации видео по изображению — от ID модели до загрузки MP4
-
Руководство
Как вызывать hailuo-2.3/text-to-video через API HiAPI: curl, Python и рабочие примеры запросов
-
Руководство
Использование Kandinsky 6.0 Pro для преобразования текста в видео на HiAPI: руководство по curl и Python
Практическая демонстрация с упором на запросы: построение вызова от промпта до видеоклипа, отправка запроса, опрос статуса завершения и скачивание результата