← На главную

ScalUP · API v1

API для разработчиков

Подключайте чат-модели ScalUP к своим приложениям и ботам по REST API. Один баланс с личным кабинетом, оплата в рублях, никаких отдельных подписок на провайдеров.

Ключ доступа

Создайте ключ в разделе Настройки → API. Ключ показывается один раз в момент создания — сохраните его сразу. Передавайте его в заголовке каждого запроса:

Authorization: Bearer scalup_live_...

Список моделей

Доступные чат- и image-модели, а также их цены, возвращает:

GET /api/v1/models
curl https://scalup.ru/api/v1/models \
  -H "Authorization: Bearer scalup_live_..."

Изображения

Генерация изображений асинхронная: сначала создайте задачу, затем опрашивайте её статус. Укажите id image-модели из GET /api/v1/models.

POST /api/v1/images/generations
Content-Type: application/json

{
  "model": "your-image-model",
  "prompt": "Editorial portrait of a red fox in a snowy forest",
  "size": "3:4",
  "output_format": "webp"
}

Ответ 202 содержит id задачи. Получите её через GET /api/v1/images/{id}; после статуса succeeded в полеdata[0].url будет приватная ссылка на файл. Для скачивания передайте тот же заголовок Authorization.

Чат

Запрос к модели в совместимом с OpenAI формате. История диалога — на стороне вашего приложения: каждый запрос содержит полный список сообщений.

POST /api/v1/chat/completions
Content-Type: application/json

{
  "model": "gpt-4o-mini",
  "messages": [
    { "role": "user", "content": "Привет! Расскажи, что ты умеешь." }
  ]
}
curl https://scalup.ru/api/v1/chat/completions \
  -H "Authorization: Bearer scalup_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-4o-mini",
    "messages": [{ "role": "user", "content": "Привет!" }]
  }'

Ответ:

{
  "id": "cku1a2b3...",
  "object": "chat.completion",
  "created": 1753350000,
  "model": "gpt-4o-mini",
  "choices": [{ "index": 0, "message": { "role": "assistant", "content": "Привет! Я..." }, "finish_reason": "stop" }],
  "usage": { "prompt_tokens": 12, "completion_tokens": 48, "total_tokens": 60, "credits_charged": 3 }
}

Параметр max_tokens (опционально, до 8000) ограничивает резерв кредитов под ответ — как и в веб-чате, фактическое списание считается по итоговым токенам, а не по резерву.

Также поддерживаются temperature,top_p,stop иresponse_format: { type: "json_object" }. JSON-режим следует использовать вместе с явной инструкцией модели вернуть валидный JSON.

Для потоковой выдачи передайте "stream": true. Ответ будет Server-Sent Events: чанки chat.completion.chunk, затем [DONE].

curl -N https://scalup.ru/api/v1/chat/completions \
  -H "Authorization: Bearer scalup_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-4o-mini",
    "stream": true,
    "messages": [{ "role": "user", "content": "Привет!" }]
  }'

Биллинг

Каждый вызов списывает кредиты с общего баланса аккаунта — того же, что используется в веб-версии и Telegram-боте. Стоимость операции фиксируется по факту токенов ответа; при ошибке провайдера списанные кредиты возвращаются автоматически.

Лимиты

60 запросов в минуту на один ключ. При превышении — ответ 429 с заголовком Retry-After (секунды до сброса).

Ошибки

HTTPtypeПричина
401authentication_errorКлюч отсутствует, неверен или отозван
402insufficient_balanceНедостаточно кредитов на балансе аккаунта
404not_found_errorМодель с таким id недоступна
429rate_limit_errorПревышен лимит запросов (60 в минуту на ключ)
502provider_errorОшибка провайдера модели. Кредиты возвращены на баланс

Тело ответа при ошибке: { "error": { "message": "...", "type": "..." } }