Документация

Быстрый старт с AI API Hub

Подключите OpenAI-compatible API, создайте ключ в кабинете и отправьте первый запрос. Эта страница закрывает базовую интеграцию, заголовки, ошибки и контроль расходов.

Node.jsQuick Start
import OpenAI from "openai";

const client = new OpenAI({
  apiKey: process.env.AI_HUB_API_KEY,
  baseURL: "https://crea-ai.ru/v1"
});

const response = await client.chat.completions.create({
  model: "claude-sonnet-4-6",
  messages: [{ role: "user", content: "Сделай краткое резюме" }]
});

console.log(response.choices[0].message.content);

Авторизация

Передавайте API-ключ в заголовке Authorization: Bearer. Ключи создаются и ограничиваются в кабинете.

Совместимость

Формат запросов совместим с OpenAI SDK: обычно достаточно заменить baseURL и ключ.

Биллинг

Стоимость фиксируется по версии тарифа на момент запроса, списания отображаются в истории расходов.

Надёжность

Используйте идемпотентность, лимиты стоимости и обработку retryable-ошибок для production-сценариев.

Интеграции

Готовые подключения к IDE и агентам

Настройте AI API Hub как кастомный провайдер в популярных инструментах разработки.

API Reference

Основные endpoints

Базовый URL: https://crea-ai.ru/v1. Для локальной разработки используйте URL из окружения.

GET /v1/models

Возвращает список доступных моделей, их capabilities, публичные slug и сведения о тарификации.

POST /v1/chat/completions

Создаёт chat completion в OpenAI-compatible формате. Поддерживает стандартные messages и model slug.

POST /v1/embeddings

Создаёт vector embeddings для моделей с prefix embedding-. Используйте публичный slug AI API Hub, а не upstream model id провайдера.

POST /v1/search

Группа Search: serper.model для Google и tavily.model для search, extract, map, crawl и research. Tavily тарифицируется по 0,912 ₽ за credit.

POST /v1/responses

Endpoint для response-ориентированных сценариев, когда выбранная модель поддерживает этот capability.

Headers

Заголовки для production-интеграций

AuthorizationBearer API-ключ из кабинета.
Idempotency-KeyЗащита от повторного списания при ретраях.
X-Routing-ModeРежим маршрутизации: auto или fixed, если доступно политикой.
X-Max-Cost-RUBМаксимальная допустимая стоимость запроса.
X-Request-ProjectПривязка расхода к проекту в кабинете.
cURLchat completions
curl https://crea-ai.ru/v1/chat/completions \
  -H "Authorization: Bearer $AI_HUB_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: request-123" \
  -d '{
    "model": "claude-sonnet-4-6",
    "messages": [{"role": "user", "content": "Привет"}]
  }'
Errors

Ошибки возвращаются в совместимом формате.

Ответ не раскрывает внутренние URL, ключи, stack trace или детали инфраструктуры. Для повторяемых ошибок используйте request_id при обращении в поддержку.

JSONretryable error
{
  "error": {
    "message": "The selected model is temporarily unavailable",
    "type": "provider_unavailable",
    "code": "model_temporarily_unavailable",
    "request_id": "req_...",
    "retryable": true
  }
}
Embeddings

Embedding models for vector search and RAG

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.

Node.jsembeddings
import OpenAI from "openai";

const client = new OpenAI({
  apiKey: process.env.AI_HUB_API_KEY,
  baseURL: "https://crea-ai.ru/v1"
});

const response = await client.embeddings.create({
  model: "embedding-text-3-small",
  input: "Документ для поиска"
});

console.log(response.data[0].embedding);
cURLembeddings
curl https://crea-ai.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": "Документ для поиска"
  }'
Models

Группы моделей и сценарии

Используйте публичный slug из каталога. Внутренние маршруты поставщиков не раскрываются в API-ответах и документации.

Chat / Responses

Текстовые модели используют OpenAI-compatible messages, стабильный model slug и списание по токенам.

Claude 4.5–5, GPT 5.1–5.6 и Codex, Gemini 2.5–3.6, Qwen 3/3.6, GLM 5.2, Kimi K3, Grok 4.5 — точные slug и доступность: GET /v1/models

Image generation / edit

Image-модели создают, редактируют, улучшают и масштабируют изображения через task-friendly workflow.

gpt-image-2, nano-banana-2, nano-banana-2-lite, grok-imagine, qwen-text-to-image, seedream

Embedding models

Embedding-модели возвращают векторы для поиска, кластеризации, RAG и семантического сравнения. Публичные slug всегда начинаются с embedding-.

embedding-text-3-small, embedding-text-3-large, embedding-ada-002

Video generation

Video-модели запускают долгие задачи, поэтому интеграция должна поддерживать polling и webhooks.

video-budget — доступность и параметры проверяйте через GET /v1/models

Music / Audio

Audio-маршруты подходят для генерации музыки, голоса и озвучки с оплатой по минутам или задаче.

MiniMax Speech 2.8 Turbo — проверяйте capability audio_speech в GET /v1/models
SUNO

Полный API для генерации и обработки музыки

Используйте POST /v1/audio/music с suno. В input передаются все параметры генерации: lyrics, style, title, custom mode, persona, callback URL и исходное аудио.

Операции

generate, extend, upload cover/extend, vocals, instrumental, replace section, persona, cover, lyrics, WAV, stems, MIDI, mashup и music video.

Статус

Сохраните taskId из ответа и используйте GET /v1/audio/music/tasks/:taskId. Не опрашивайте одну задачу чаще 3 раз в секунду.

Ограничения

Simple mode: prompt до 500 символов. Custom V4: prompt 3000/style 200; V4.5/V5: 5000/1000. Для replace section — 6–60 секунд.

cURLSuno generate
curl https://crea-ai.ru/v1/audio/music \
  -H "Authorization: Bearer $AI_HUB_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "suno",
    "operation": "generate",
    "input": {
      "prompt": "Мягкая электронная композиция для ночного города",
      "customMode": true,
      "instrumental": false,
      "model": "V5",
      "style": "ambient electronica, warm synths",
      "title": "Night Signals"
    }
  }'
Tasks

Polling и webhooks для долгих генераций

Image, video и audio задачи могут выполняться асинхронно. Создайте задачу, сохраните task id, проверяйте статус через GET /v1/tasks/:id или настройте webhook в кабинете.

cURLtask status
curl https://crea-ai.ru/v1/tasks/task_123 \
  -H "Authorization: Bearer $AI_HUB_API_KEY"
Media Storage

Временное хранение изображений и видео

Сгенерированные медиафайлы сохраняются в S3 Beget и доступны 12 часов с момента создания задачи. После истечения срока файлы автоматически удаляются из S3 и ссылки перестают работать.

POST /v1/images/generations и /v1/videos/generations

Создают задачу и сохраняют результат в S3. В ответе приходит result_url и retention_expires_at.

GET /v1/tasks/:id/content

Возвращает 307 Temporary Redirect на временный presigned URL S3. После истечения срока — 410 Gone.

cURLgenerate image
curl https://crea-ai.ru/v1/images/generations \
  -H "Authorization: Bearer $AI_HUB_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: image-request-123" \
  -d '{
    "model": "gpt-image-2",
    "prompt": "собака на сене",
    "size": "1024x1024",
    "n": 1
  }'
cURLdownload result
curl https://crea-ai.ru/v1/tasks/task_123/content \
  -H "Authorization: Bearer $AI_HUB_API_KEY" \
  -L
JSONtask response
{
  "object": "task",
  "id": "task_123",
  "status": "succeeded",
  "type": "image",
  "result_storage_key": "media/task_123/result.png",
  "storage_bucket": "313cc805575a-constant-saul",
  "result_url": "https://crea-ai.ru/v1/tasks/task_123/content",
  "result_content_type": "image/png",
  "result_size_bytes": 245912,
  "retention_expires_at": "2026-07-05T09:00:00.000Z"
}

gpt-image-2

OpenAI-compatible image generation via /v1/images/generations.

nano-banana-2-lite

Fast image generation with custom parameters.

grok-imagine

High-quality artistic image generation via async tasks.

qwen-text-to-image

Detailed image generation via async tasks.

ENVBeget S3
S3_ENDPOINT=https://s3.ru1.storage.beget.cloud
S3_BUCKET=<beget-bucket-name>
S3_ACCESS_KEY=<access-key>
S3_SECRET_KEY=<secret-key>
S3_REGION=ru-1
S3_FORCE_PATH_STYLE=true
Не используйте presigned URL как постоянную ссылку.Он действителен ограниченное время и предназначен только для скачивания.
Скачивайте результаты сразу.Через 12 часов файлы удаляются без возможности восстановления.
Используйте /v1/tasks/:id/content.Прямой доступ к S3-домену не гарантируется; ссылки выдаются только через API.

SDK

Используйте официальный OpenAI SDK для Node.js, Python или любого клиента с совместимым HTTP API.

Модели

Смотрите capabilities и цены в публичном каталоге, затем используйте стабильный model slug.

Расходы

Лимиты, баланс, история запросов и документы доступны в кабинете организации.