Авторизация
Передавайте API-ключ в заголовке Authorization: Bearer. Ключи создаются и ограничиваются в кабинете.
Подключите OpenAI-compatible API, создайте ключ в кабинете и отправьте первый запрос. Эта страница закрывает базовую интеграцию, заголовки, ошибки и контроль расходов.
import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.AI_HUB_API_KEY,
baseURL: "https://api.example.ru/v1"
});
const response = await client.chat.completions.create({
model: "claude-best",
messages: [{ role: "user", content: "Сделай краткое резюме" }]
});
console.log(response.choices[0].message.content);Передавайте API-ключ в заголовке Authorization: Bearer. Ключи создаются и ограничиваются в кабинете.
Формат запросов совместим с OpenAI SDK: обычно достаточно заменить baseURL и ключ.
Стоимость фиксируется по версии тарифа на момент запроса, списания отображаются в истории расходов.
Используйте идемпотентность, лимиты стоимости и обработку retryable-ошибок для production-сценариев.
Настройте AI API Hub как кастомный провайдер в популярных инструментах разработки.
Базовый URL: https://api.example.ru/v1. Для локальной разработки используйте URL из окружения.
Возвращает список доступных моделей, их capabilities, публичные slug и сведения о тарификации.
Создаёт chat completion в OpenAI-compatible формате. Поддерживает стандартные messages и model slug.
Создаёт vector embeddings для моделей с prefix embedding-. Используйте публичный slug AI API Hub, а не upstream model id провайдера.
Endpoint для response-ориентированных сценариев, когда выбранная модель поддерживает этот capability.
curl https://api.example.ru/v1/chat/completions \
-H "Authorization: Bearer $AI_HUB_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: request-123" \
-d '{
"model": "claude-best",
"messages": [{"role": "user", "content": "Привет"}]
}'Ответ не раскрывает внутренние URL, ключи, stack trace или детали инфраструктуры. Для повторяемых ошибок используйте request_id при обращении в поддержку.
{
"error": {
"message": "The selected model is temporarily unavailable",
"type": "provider_unavailable",
"code": "model_temporarily_unavailable",
"request_id": "req_...",
"retryable": true
}
}Use embedding-text-3-small, embedding-text-3-large or embedding-ada-002. Public model slugs always use the embedding- prefix; provider upstream IDs are internal routing details.
import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.AI_HUB_API_KEY,
baseURL: "https://api.example.ru/v1"
});
const response = await client.embeddings.create({
model: "embedding-text-3-small",
input: "Документ для поиска"
});
console.log(response.data[0].embedding);curl https://api.example.ru/v1/embeddings \
-H "Authorization: Bearer $AI_HUB_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: embedding-request-123" \
-d '{
"model": "embedding-text-3-small",
"input": "Документ для поиска"
}'Используйте публичный slug из каталога. Внутренние маршруты поставщиков не раскрываются в API-ответах и документации.
Текстовые модели используют OpenAI-compatible messages, стабильный model slug и списание по токенам.
claude-best, claude-sonnet, claude-haiku, gpt-coding, gpt-fast, gpt-reasoning, codex-pro, gemini-fast, gemini-pro, gemini-flashImage-модели создают, редактируют, улучшают и масштабируют изображения через task-friendly workflow.
image-best, gpt-image, seedream-image, imagen-pro, flux-pro, nano-banana, qwen-imageEmbedding-модели возвращают векторы для поиска, кластеризации, RAG и семантического сравнения. Публичные slug всегда начинаются с embedding-.
embedding-text-3-small, embedding-text-3-large, embedding-ada-002Video-модели запускают долгие задачи, поэтому интеграция должна поддерживать polling и webhooks.
video-budget, kling-video, veo-video, wan-video, runway-video, hailuo-videoAudio-маршруты подходят для генерации музыки, голоса и озвучки с оплатой по минутам или задаче.
suno-music, elevenlabs-voiceImage, video и audio задачи могут выполняться асинхронно. Создайте задачу, сохраните task id, проверяйте статус через GET /v1/tasks/:id или настройте webhook в кабинете.
curl https://api.example.ru/v1/tasks/task_123 \ -H "Authorization: Bearer $AI_HUB_API_KEY"
Сгенерированные медиафайлы сохраняются в S3 Beget и доступны 12 часов с момента создания задачи. После истечения срока файлы автоматически удаляются из S3 и ссылки перестают работать.
Создают задачу и сохраняют результат в S3. В ответе приходит result_url и retention_expires_at.
Возвращает 307 Temporary Redirect на временный presigned URL S3. После истечения срока — 410 Gone.
curl https://api.example.ru/v1/images/generations \
-H "Authorization: Bearer $AI_HUB_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "image-best", "prompt": "a cat"}'curl https://api.example.ru/v1/tasks/task_123/content \ -H "Authorization: Bearer $AI_HUB_API_KEY" \ -L
{
"object": "task",
"id": "task_123",
"status": "succeeded",
"type": "image",
"result_url": "https://api.example.ru/v1/tasks/task_123/content",
"result_content_type": "image/png",
"result_size_bytes": 95,
"retention_expires_at": "2026-07-05T09:00:00.000Z"
}Используйте официальный OpenAI SDK для Node.js, Python или любого клиента с совместимым HTTP API.
Смотрите capabilities и цены в публичном каталоге, затем используйте стабильный model slug.
Лимиты, баланс, история запросов и документы доступны в кабинете организации.