Ideal House
Saltar al contenido

Límite de tareas de la API#

Las APIs de generación utilizan procesamiento de tareas asíncrono. Cuando una tarea se crea correctamente, la API devuelve un taskId. Usa el endpoint de resultados para verificar el estado de la tarea, el progreso, la posición en la cola y el resultado final.

Este documento explica los límites públicos de tareas para integraciones de API, incluyendo solicitudes por minuto, trabajos pendientes y cómo se cobran los créditos al enviar múltiples tareas.


Resumen de límite de velocidad#

Las APIs de generación no utilizan un límite público fijo de solicitudes por minuto para la creación de tareas. El límite práctico se basa en cuántos trabajos pendientes tiene una cuenta al mismo tiempo.

Flujo de trabajoSolicitudes por minutoTrabajos en curso / pendientesCargo de créditos
3D para IASin límite público fijo de RPM1 trabajo en ejecución a la vez. Los trabajos enviados adicionales esperan en la cola.Se cobra por tarea aceptada
Otras APIs de generaciónSin límite público fijo de RPMHasta 30 trabajos pendientes por cuenta y por flujo de trabajoSe cobra por tarea aceptada

Los trabajos pendientes incluyen tanto trabajos en cola como trabajos en ejecución.

El límite de trabajos de 30 es un límite de conteo de tareas, no un paquete de créditos ni una cuota gratuita. Cada tarea de generación aceptada se cobra de acuerdo con las reglas de créditos de esa API.


Estado de la tarea#

EstadoSignificadoSe cuenta como pendiente
UnprocessedLa tarea ha sido aceptada y está esperando para ejecutarse
ProcessingLa tarea se está ejecutando actualmente
SuccessLa tarea se completó exitosamenteNo
FailedLa tarea fallóNo

El endpoint de resultados también puede devolver waitNumber, que indica la posición en la cola para una tarea en espera. Cuando una tarea está en ejecución o finalizada, waitNumber suele ser 0.


Tareas 3D para IA#

Las tareas 3D para IA se procesan de una en una.

Puedes enviar múltiples tareas de IA 3D y cada envío exitoso devuelve un taskId. Sin embargo, solo una tarea de IA 3D se ejecuta a la vez. Las tareas adicionales de IA 3D esperan a que termine la tarea actual.

Comportamiento recomendado de integración:

  1. Guarda el taskId devuelto.
  2. Consulta el endpoint de resultado cada 3-5 segundos.
  3. Trata Unprocessed como pendiente.
  4. Trata Processing como en ejecución activa.
  5. Usa waitNumber y percentage para mostrar el progreso a tus usuarios.

Otras tareas de generación#

Para flujos de trabajo de generación que no sean 3D para IA, cada cuenta puede tener hasta 30 trabajos pendientes para el mismo flujo de trabajo.

Este es un límite a nivel de cuenta. Si se crean múltiples claves de API bajo la misma cuenta, comparten el mismo límite.

Esto no siempre significa que los 30 trabajos se estén ejecutando exactamente al mismo momento. Algunos trabajos pueden estar esperando y otros en ejecución. El límite cuenta ambos.

Cuando la cuenta ya tiene 30 trabajos pendientes para un flujo de trabajo, los nuevos envíos de tareas para ese flujo de trabajo pueden ser rechazados temporalmente hasta que los trabajos existentes terminen.

CódigoNombreSignificado
9015TASK_NOT_COMPLETEDLa cuenta ha alcanzado el límite de trabajos pendientes para este flujo de trabajo. Reintenta después de que los trabajos existentes completen.

Créditos y trabajos pendientes#

Los créditos se deducen cuando una tarea de generación se crea correctamente. Si la tarea finalmente falla, los créditos deducidos se reembolsan automáticamente.

El límite de trabajos pendientes no cambia el costo en créditos de cada tarea. Si envías múltiples tareas, cada tarea aceptada se cobra por separado.

Ejemplos:

EjemploTrabajos pendientes activosCréditos deducidos al crear la tarea
Enviar 30 tareas de Cambio de Muebles3030 x 1 crédito = 30 créditos
Enviar 30 tareas de Decoración del hogar con modelType: "Base"3030 x 3 créditos = 90 créditos
Enviar 30 tareas de Decoración del hogar con modelType: "Pro"3030 x 10 créditos = 300 créditos
Enviar 10 tareas de Paisajismo Flash, 10 Base y 10 Pro3010 x 1 + 10 x 3 + 10 x 10 = 140 créditos

Para la tabla completa de créditos, consulta Referencia de deducción de créditos.

Consultar el endpoint de resultado no crea una nueva tarea de generación ni se cuenta como un trabajo pendiente.


Respuestas temporales de servicio ocupado#

En algunos casos, los nuevos envíos de tareas pueden ser rechazados temporalmente porque el servicio está ocupado. Esto puede ocurrir incluso si tu cuenta tiene menos de 30 trabajos pendientes.

CódigoNombreSignificado
5020QUEUE_TASK_OVERFLOWEl servicio está actualmente ocupado. Reintenta más tarde.

Esto es temporal. No lo trates como un fallo permanente.


Comportamiento recomendado del cliente#

  1. Guarda cada taskId devuelto.
  2. Consulta el estado de la tarea regularmente.
  3. Mantén una lista local de trabajos pendientes por cuenta y flujo de trabajo.
  4. Elimina los trabajos de la lista de pendientes cuando el estado sea Success o Failed.
  5. Para flujos de trabajo que no sean 3D para IA, mantén los trabajos pendientes en o por debajo de 30 antes de enviar más.
  6. Si recibes 9015 o 5020, reintenta después de un retraso.

Comportamiento de reintento sugerido:

SituaciónAcción recomendada
9015 TASK_NOT_COMPLETEDEspera a que los trabajos existentes de la misma cuenta y flujo de trabajo completen, luego reintenta.
5020 QUEUE_TASK_OVERFLOWEspera y reintenta con retroceso exponencial.
La tarea está UnprocessedContinúa consultando; la tarea está esperando.
La tarea está ProcessingContinúa consultando; la tarea se está ejecutando.

¿Necesitas mayor rendimiento?#

Si el límite estándar de 30 trabajos no terminados por cuenta y flujo de trabajo no satisface las necesidades de tu integración, contáctanos en [email protected]. Podemos revisar tu caso de uso y discutir opciones para mayor rendimiento o un acuerdo dedicado.