Перейти к содержимому
API Reference

Оценка стоимости

POST /v1/models/{model}/estimate — узнать цену генерации до запуска.

Узнайте точную стоимость генерации в кредитах, ничего не запуская и не списывая.

Песочница

POST
/v1/models/{model}/estimate
Authorization<token>

API-ключ в заголовке Authorization со схемой Bearer:

Authorization: Bearer clipia_live_xxxxxxxxxxxxxxxxxxxxxx

Передавайте полную строку, включая префикс схемы Bearer и пробел. Также принимаются Authorization: Key <ключ> и заголовок X-Api-Key: <ключ> — выбирайте удобную схему. Ключ создаётся в личном кабинете (Настройки → API-ключи) и показывается один раз. Формат: clipia_live_… (боевой), clipia_test_… (песочница).

Sandbox / тестовый режим. Ключ с префиксом clipia_test_… работает в песочнице: submit не списывает кредиты и не запускает реальную генерацию — он мгновенно возвращает status: COMPLETED с детерминированным mock-результатом (фиксированный sample-ассет на media.clipia.ai). Поле cost показывает расчётную стоимость, но она не списывается. Вебхуки приходят тем же подписанным механизмом (HMAC-SHA256). Режим предназначен для отладки интеграции до подключения боевого ключа.

In: header

Path Parameters

modelstringrequired

Slug модели, напр. nano-banana-2, seedance-2-fast-i2v. Список — GET /v1/models.

inputobjectrequired

Параметры генерации, для которых считается стоимость. Тот же формат, что и input в POST /v1/models/{model} — см. input_schema модели.

Empty Object

Response Body

curl -X POST "https://api.clipia.ai/v1/models/nano-banana-2/estimate" \  -H "Content-Type: application/json" \  -d '{    "input": {      "prompt": "a sunset over mountains, cinematic",      "aspect_ratio": "16:9"    }  }'

{
  "credits": 40
}

{
  "error": {
    "type": "invalid_request_error",
    "code": "invalid_api_key",
    "message": "API-ключ отсутствует, неверный или отозван."
  }
}

{
  "error": {
    "type": "invalid_request_error",
    "code": "not_found",
    "message": "Запрос с таким идентификатором не найден."
  }
}

{
  "error": {
    "type": "invalid_request_error",
    "code": "model_input_invalid",
    "message": "Параметр `resolution` не поддерживается этой моделью."
  }
}

{
  "error": {
    "type": "invalid_request_error",
    "code": "rate_limit_exceeded",
    "message": "Превышен лимит запросов. Повторите позже."
  }
}

POST /v1/models/:model/estimate возвращает детерминированную стоимость переданного input на выбранной модели. Генерация не ставится в очередь, кредиты не резервируются и не списываются. Эндпоинт доступен любому валидному ключу — scope не требуется.

POST/v1/models/:model/estimate

Запрос

Prop

Type

curl -X POST https://api.clipia.ai/v1/models/seedance-2-fast-i2v/estimate \
  -H "Authorization: Bearer $CLIPIA_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "input": {
      "prompt": "aerial shot over a neon city",
      "duration": 8,
      "resolution": "1080p"
    }
  }'
const { credits } = await clipia.models.estimate('seedance-2-fast-i2v', {
  prompt: 'aerial shot over a neon city',
  duration: 8,
  resolution: '1080p',
});
console.log(`Эта генерация стоит ${credits} кредитов`);
estimate = client.models.estimate(
    "seedance-2-fast-i2v",
    {"prompt": "aerial shot over a neon city", "duration": 8, "resolution": "1080p"},
)
print(f"Эта генерация стоит {estimate.credits} кредитов")

Ответ 200

{
  "credits": 40
}

Prop

Type

Зачем это нужно

Стоимость операции детерминирована: она вычисляется из модели и параметров, а не из фактического времени работы. Поэтому её можно узнать заранее и показать пользователю до запуска.

Типичные применения:

  • подтверждение цены перед дорогой генерацией видео в высоком разрешении;
  • сравнение стоимости разных параметров (4 с против 8 с, 720p против 1080p);
  • предварительная проверка бюджета в сценариях автоматизации, где генерация запускается без участия человека.

Оценка и факт совпадают

Значение credits из estimate равно полю cost в ответе submit при тех же параметрах. Кредиты резервируются в момент submit и окончательно списываются при успехе; при FAILED возвращаются полностью.

Ошибки

HTTPcodeКогда
404not_foundнеизвестный slug модели
422model_input_invalidпараметры не подходят выбранной модели
429rate_limit_exceededпревышен лимит запросов