Límites
Se aplican límites por cuenta. Todas las claves de una sola cuenta las comparten.
Límites de tasas
Sección titulada «Límites de tasas»| Punto final | Por minuto | Por hora | Por día |
|---|---|---|---|
POST /v1/render |
3 | 30 | 100 |
POST /api/webhooks/hooks |
10 | 60 | 200 |
Cada render también cuenta para el límite total de render de la cuenta: 5 por minuto, 60 por hora y 300 por día. Ese límite se comparte con los renders iniciados en la app, por lo que un equipo ocupado en la app deja menos espacio para el API.
Las solicitudes se cuentan en ventanas fijas de un minuto, una hora y un día. Cuando pasas, obtienes 429 con code: "RATE_LIMITED" y el número de segundos de espera, en retryAfter o details.retryAfter:
{ "error": "Rate limit exceeded", "retryAfter": 37, "code": "RATE_LIMITED" }GET /v1/me y GET /v1/job/{id} hoy no tienen límite de tasa. Consulta un trabajo cada pocos segundos, no en un bucle cerrado, o usa webhooks en su lugar.
Renders concurrentes
Sección titulada «Renders concurrentes»Tu plan establece cuántos renders pueden ejecutarse al mismo tiempo. Los renders iniciados en la app también cuentan. Cuando todos los espacios están ocupados, POST /v1/render devuelve 429 con code: "CONCURRENT_LIMIT". No hay nada en cola para ti: espera a que termine un trabajo en ejecución y luego envía la petición de nuevo.
Créditos y uso
Sección titulada «Créditos y uso»- Cada render gasta créditos del saldo de la cuenta. Si no hay suficientes, el render se rechaza con
402(NO_CREDITSoINSUFFICIENT_CREDITS) antes de comenzar. - Un render no puede costar más que un límite fijo por renderizado. Un renderizado sobre él se rechaza con
413 REQUEST_COST_TOO_HIGH. Usa menos escenas, escenas más cortas o unqualitymenor. - Cada plan tiene un límite de uso mensual. Cuando se alcanza, los renders se rechazan con
402 ABUSE_CAP_EXCEEDEDhasta que el mes se reinicie o cambie el plan. - Cada plan tiene una margen de almacenamiento para los vídeos terminados. Cuando la biblioteca está llena, los renders se rechazan con
402 STORAGE_FULL.
Consulta la Cuenta y la facturación de las asignaciones de tu plan.
Límites de solicitudes
Sección titulada «Límites de solicitudes»Para POST /v1/render:
| Campo | Límite |
|---|---|
brief |
De 1 a 4.000 caracteres |
scene_plan |
De 1 a 12 escenas |
escena prompt |
De 1 a 2.000 caracteres |
escena script |
hasta 2.000 caracteres |
escena duration |
3 a 10 segundos |
duration_sec |
5 a 120 segundos |
title |
hasta 200 caracteres |
brand_name |
hasta 80 caracteres |
category |
Hasta 60 caracteres |
language |
De 2 a 10 caracteres |
brand_colors |
hasta 12 colores, 32 caracteres cada uno |
brand_logo_url, product_image_url |
hasta 5.000.000 de caracteres (suficiente para un URI de datos) |
Idempotency-Key cabecera |
Se utilizan los primeros 80 caracteres |
Para los webhooks:
| Punto | Límite |
|---|---|
| Webhooks por cuenta | 25 |
webhook_url |
Hasta 2.000 caracteres, solo http(s) público(s) |
description |
hasta 200 caracteres |
Límites de tiempo
Sección titulada «Límites de tiempo»| Escalón | Límite | ¿Qué pasa? |
|---|---|---|
Planificación desde un brief |
unos 60 segundos | 502 PLAN_FAILED, créditos de planificación devueltos. |
| Una representación | Aproximadamente 1 hora | El trabajo se marca failed y se le devuelven los créditos. |
| Una entrega por webhook | 10 segundos por intento | La entrega se vuelve a intentar, hasta 3 intentos. |