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 trabajo | Solicitudes por minuto | Trabajos en curso / pendientes | Cargo de créditos |
|---|---|---|---|
| 3D para IA | Sin límite público fijo de RPM | 1 trabajo en ejecución a la vez. Los trabajos enviados adicionales esperan en la cola. | Se cobra por tarea aceptada |
| Otras APIs de generación | Sin límite público fijo de RPM | Hasta 30 trabajos pendientes por cuenta y por flujo de trabajo | Se 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#
| Estado | Significado | Se cuenta como pendiente |
|---|---|---|
Unprocessed | La tarea ha sido aceptada y está esperando para ejecutarse | Sí |
Processing | La tarea se está ejecutando actualmente | Sí |
Success | La tarea se completó exitosamente | No |
Failed | La 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:
- Guarda el
taskIddevuelto. - Consulta el endpoint de resultado cada 3-5 segundos.
- Trata
Unprocessedcomo pendiente. - Trata
Processingcomo en ejecución activa. - Usa
waitNumberypercentagepara 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ódigo | Nombre | Significado |
|---|---|---|
9015 | TASK_NOT_COMPLETED | La 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:
| Ejemplo | Trabajos pendientes activos | Créditos deducidos al crear la tarea |
|---|---|---|
| Enviar 30 tareas de Cambio de Muebles | 30 | 30 x 1 crédito = 30 créditos |
Enviar 30 tareas de Decoración del hogar con modelType: "Base" | 30 | 30 x 3 créditos = 90 créditos |
Enviar 30 tareas de Decoración del hogar con modelType: "Pro" | 30 | 30 x 10 créditos = 300 créditos |
Enviar 10 tareas de Paisajismo Flash, 10 Base y 10 Pro | 30 | 10 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ódigo | Nombre | Significado |
|---|---|---|
5020 | QUEUE_TASK_OVERFLOW | El servicio está actualmente ocupado. Reintenta más tarde. |
Esto es temporal. No lo trates como un fallo permanente.
Comportamiento recomendado del cliente#
- Guarda cada
taskIddevuelto. - Consulta el estado de la tarea regularmente.
- Mantén una lista local de trabajos pendientes por cuenta y flujo de trabajo.
- Elimina los trabajos de la lista de pendientes cuando el estado sea
SuccessoFailed. - 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.
- Si recibes
9015o5020, reintenta después de un retraso.
Comportamiento de reintento sugerido:
| Situación | Acción recomendada |
|---|---|
9015 TASK_NOT_COMPLETED | Espera a que los trabajos existentes de la misma cuenta y flujo de trabajo completen, luego reintenta. |
5020 QUEUE_TASK_OVERFLOW | Espera y reintenta con retroceso exponencial. |
La tarea está Unprocessed | Continúa consultando; la tarea está esperando. |
La tarea está Processing | Continú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.