Limite de tâches de l'API#
Les API de génération utilisent un traitement asynchrone des tâches. Lorsqu'une tâche est créée avec succès, l'API renvoie un taskId. Utilisez le point de terminaison des résultats pour vérifier le statut de la tâche, sa progression, sa position dans la file d'attente et son résultat final.
Ce document explique les limites publiques de tâches pour les intégrations API, y compris les requêtes par minute, les tâches inachevés et la manière dont les crédits sont facturés lors de la soumission de plusieurs tâches.
Résumé des limites de débit#
Les API de génération n'utilisent pas de limite publique fixe en requêtes par minute pour la création de tâches. La limite pratique est basée sur le nombre de tâches inachevés qu'un compte possède simultanément.
| Flux de travail | Requêtes par minute | Tâches simultanés / inachevés | Facturation des crédits |
|---|---|---|---|
| 3D IA | Pas de limite RPM publique fixe | 1 tâche en cours à la fois. Les tâches soumis supplémentaires attendent dans la file d'attente. | Facturé par tâche acceptée |
| Autres API de génération | Pas de limite RPM publique fixe | Jusqu'à 30 tâches inachevés par compte et flux de travail | Facturé par tâche acceptée |
Les tâches inachevés comprennent à la fois les tâches en attente et les tâches en cours.
La limite de 30 tâches est une limite de nombre de tâches, pas un forfait de crédits ou un quota gratuit. Chaque tâche de génération acceptée est facturée selon les règles de crédits de cette API.
Statut de la tâche#
| Statut | Signification | Compté comme non terminé |
|---|---|---|
Unprocessed | La tâche a été acceptée et attend d'être exécutée | Oui |
Processing | La tâche est actuellement en cours d'exécution | Oui |
Success | La tâche s'est terminée avec succès | Non |
Failed | La tâche a échoué | Non |
Le point de terminaison de résultat peut également renvoyer waitNumber, qui indique la position dans la file d'attente pour une tâche en attente. Lorsqu'une tâche est en cours ou terminée, waitNumber est généralement 0.
Tâches 3D IA#
Les tâches 3D IA sont traitées une par une.
Vous pouvez soumettre plusieurs tâches 3D IA et chaque soumission réussie renvoie un taskId. Cependant, une seule tâche 3D IA s'exécute à la fois. Les tâches 3D IA supplémentaires attendent que la tâche en cours soit terminée.
Comportement d'intégration recommandé :
- Conservez le
taskIdretourné. - Interrogez périodiquement le point de terminaison de résultat toutes les 3-5 secondes.
- Traitez
Unprocessedcomme en attente. - Traitez
Processingcomme étant activement en cours. - Utilisez
waitNumberetpercentagepour afficher la progression à vos utilisateurs.
Autres tâches de génération#
Pour les flux de travail de génération autres que 3D IA, chaque compte peut avoir jusqu'à 30 tâches inachevés pour le même flux de travail.
Ceci est une limite au niveau du compte. Si plusieurs clés API sont créées sous le même compte, elles partagent la même limite.
Cela ne signifie pas que les 30 tâches s'exécutent toutes exactement au même moment. Certaines peuvent être en attente et d'autres en cours. La limite compte les deux.
Lorsque le compte a déjà 30 tâches inachevés pour un flux de travail, les nouvelles soumissions de tâches pour ce flux de travail peuvent être temporairement rejetées jusqu'à ce que les tâches existants soient terminés.
| Code | Nom | Signification |
|---|---|---|
9015 | TASK_NOT_COMPLETED | Le compte a atteint la limite de tâches inachevés pour ce flux de travail. Réessayez après la fin des tâches existants. |
Crédits et tâches inachevés#
Les crédits sont déduits lorsqu'une tâche de génération est créée avec succès. Si la tâche échoue finalement, les crédits déduits sont automatiquement remboursés.
La limite de tâches inachevés ne modifie pas le coût en crédits de chaque tâche. Si vous soumettez plusieurs tâches, chaque tâche acceptée est facturée séparément.
Exemples :
| Exemple | Tâches inachevés actifs | Crédits déduits à la création de la tâche |
|---|---|---|
| Soumettre 30 tâches de remplacement de mobilier | 30 | 30 x 1 crédit = 30 crédits |
Soumettre 30 tâches de décoration intérieure avec modelType: "Base" | 30 | 30 x 3 crédits = 90 crédits |
Soumettre 30 tâches de décoration intérieure avec modelType: "Pro" | 30 | 30 x 10 crédits = 300 crédits |
Soumettre 10 tâches d'aménagement paysager Flash, 10 Base et 10 Pro | 30 | 10 x 1 + 10 x 3 + 10 x 10 = 140 crédits |
Pour le tableau complet des crédits, consultez la Référence des déductions de crédits.
L'interrogation périodique de le point de terminaison de résultat ne crée pas une nouvelle tâche de génération et ne compte pas comme un tâche inachevé.
Réponses temporaires de service occupé#
Dans certains cas, les nouvelles soumissions de tâches peuvent être temporairement rejetées car le service est occupé. Cela peut se produire même si votre compte a moins de 30 tâches inachevés.
| Code | Nom | Signification |
|---|---|---|
5020 | QUEUE_TASK_OVERFLOW | Le service est actuellement occupé. Réessayez plus tard. |
Ceci est temporaire. Ne le traitez pas comme une erreur permanente.
Comportement client recommandé#
- Conservez chaque
taskIdretourné. - Interrogez régulièrement le statut des tâches.
- Conservez une liste locale de tâches inachevés par compte et par flux de travail.
- Supprimez les tâches de la liste des inachevés lorsque le statut devient
SuccessouFailed. - Pour les flux de travail non 3D-IA, maintenez les tâches inachevés à 30 ou moins avant de soumettre davantage.
- Si vous recevez
9015ou5020, réessayez après un délai.
Comportement recommandé pour les nouvelles tentatives :
| Situation | Action recommandée |
|---|---|
9015 TASK_NOT_COMPLETED | Attendez que les tâches existants du même compte et flux de travail se terminent, puis réessayez. |
5020 QUEUE_TASK_OVERFLOW | Attendez, puis réessayez en augmentant progressivement le délai entre les tentatives. |
La tâche est Unprocessed | Continuez l'interrogation périodique ; la tâche est en attente. |
La tâche est Processing | Continuez l'interrogation périodique ; la tâche est en cours. |
Besoin de plus de débit ?#
Si la limite standard de 30 tâches inachevés par compte et flux de travail ne répond pas à vos besoins d'intégration, veuillez nous contacter à [email protected]. Nous pourrons examiner votre cas d'utilisation et discuter des options pour un débit plus élevé ou un arrangement dédié.