Saltar al contenido

API · Referencia

Estimación del coste

POST /v1/models/{model}/estimate — averigüe cuánto cuesta una generación en créditos antes de ejecutarla; no se crea ningún trabajo ni se reservan créditos.

Averigüe cuánto cuesta una generación en créditos sin ejecutar nada ni gastar créditos.

Playground

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

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

Authorization: Bearer <CLIPIA_API_KEY>

Передавайте полную строку, включая префикс схемы Bearer и пробел. Также принимаются Authorization: Key <ключ> и заголовок X-Api-Key: <ключ> — выбирайте удобную схему. Ключ создаётся в консоли разработчика (clipia.ai/developer, вкладка «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. Слаги с пространством имён (google/imagen4, grok-imagine/text-to-video) передаются как есть (/v1/models/google/imagen4) либо с %2F.

Match^[a-z0-9][a-z0-9-]{0,200}(?:/[a-z0-9][a-z0-9-]{0,200})?$
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": "rate_limit_error",
    "code": "rate_limit_exceeded",
    "message": "Rate limit exceeded. Retry after the reset window.",
    "retry_after_seconds": 12
  }
}

POST /v1/models/:model/estimate calcula el coste del input indicado en el modelo seleccionado. No se crea ningún trabajo ni se reservan créditos. Sirve cualquier clave válida: no se necesita ningún permiso adicional.

POST/v1/models/:model/estimate

Solicitud

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(`This generation will cost ${credits} credits`);
estimate = client.models.estimate(
    "seedance-2-fast-i2v",
    {"prompt": "aerial shot over a neon city", "duration": 8, "resolution": "1080p"},
)
print(f"This generation will cost {estimate.credits} credits")

Respuesta 200

{
  "credits": 40
}

Prop

Type

Si input contiene una clave que el modelo no aplicará (una errata, un parámetro de otro modelo), la estimación la enumera en warnings, con el mismo formato que el envío. Así puede comprobar un conjunto de parámetros antes de lanzar la generación.

Para qué usarlo

El coste depende del modelo y de sus parámetros —duración, resolución, número de imágenes, longitud del texto en la síntesis de voz—, no del tiempo que tarde realmente el trabajo. Por eso puede conocerlo de antemano:

  • confirmar el precio antes de un vídeo caro en alta resolución;
  • comparar opciones de parámetros, por ejemplo 4 frente a 8 segundos o 720p frente a 1080p;
  • comprobar el presupuesto en flujos automatizados en los que un programa lanza la generación.

El envío usa el mismo cálculo: con los mismos parámetros, credits coincide con cost en la respuesta de POST /v1/models/{model}. Los créditos se reservan al enviar, se cobran si la generación tiene éxito y se reembolsan íntegramente si falla.

Precios

Los precios están vigentes a octubre de 2026. El coste exacto siempre se muestra en el botón de ejecución antes de cobrar nada.

Errores

HTTPcodemessageCuándo
400invalid_requestinput_too_large / input_too_deepinput supera los 100.000 bytes o los 8 niveles de anidamiento
400invalid_request—input no es un objeto, o el texto para la síntesis de voz es demasiado largo
404not_foundmodel_not_foundno existe ningún modelo con este slug
429rate_limit_exceeded—se ha superado el límite de solicitudes
503service_unavailable—los precios no están disponibles temporalmente, inténtelo más tarde