Limiti delle attività API#
Le APIs di generazione usano l'elaborazione asincrona delle attività. Quando un'attività viene creata correttamente, API restituisce un taskId. Usa l'endpoint dei risultati per controllare lo stato dell'attività, l'avanzamento, la posizione in coda e l'output finale.
Questo documento spiega i limiti pubblici delle attività per le integrazioni API, comprese le richieste al minuto, i processi non terminati e il modo in cui vengono addebitati i crediti quando vengono inviate più attività.
Riepilogo dei limiti di frequenza#
Le APIs di generazione non usano un limite pubblico fisso di richieste al minuto per la creazione delle attività. Il limite effettivo si basa sul numero di processi non terminati presenti contemporaneamente in un account.
| Flusso di lavoro | Richieste al minuto | Processi simultanei / non terminati | Addebito dei crediti |
|---|---|---|---|
| AI 3D | Nessun limite pubblico fisso di richieste al minuto | 1 processo in esecuzione alla volta. Gli ulteriori processi inviati attendono in coda. | Addebito per ogni attività accettata |
| Altre APIs di generazione | Nessun limite pubblico fisso di richieste al minuto | Fino a 30 processi non terminati per account e flusso di lavoro | Addebito per ogni attività accettata |
I processi non terminati comprendono sia quelli in coda sia quelli in esecuzione.
Il limite di 30 processi è un limite al numero di attività, non un pacchetto di crediti né una quota gratuita. Ogni attività di generazione accettata viene addebitata secondo le regole sui crediti della relativa API.
Stato dell'attività#
| Stato | Significato | Conta come non terminata |
|---|---|---|
Unprocessed | L'attività è stata accettata e attende di essere eseguita | Sì |
Processing | L'attività è attualmente in esecuzione | Sì |
Success | L'attività è stata completata correttamente | No |
Failed | L'attività non è riuscita | No |
L'endpoint dei risultati può restituire anche waitNumber, che indica la posizione in coda di un'attività in attesa. Quando un'attività è in esecuzione o è terminata, waitNumber è solitamente 0.
Attività AI 3D#
Le attività AI 3D vengono elaborate una alla volta.
Puoi inviare più attività AI 3D e ogni invio riuscito restituisce un taskId. Tuttavia, viene eseguita una sola attività AI 3D alla volta. Le ulteriori attività AI 3D attendono che quella corrente termini.
Comportamento di integrazione consigliato:
- Salva il
taskIdrestituito. - Interroga l'endpoint dei risultati ogni 3-5 secondi.
- Interpreta
Unprocessedcome stato di attesa. - Interpreta
Processingcome stato di esecuzione in corso. - Usa
waitNumberepercentageper mostrare l'avanzamento agli utenti.
Altre attività di generazione#
Per i flussi di generazione diversi da AI 3D, ogni account può avere fino a 30 processi non terminati per lo stesso flusso di lavoro.
Questo limite si applica a livello di account. Se vengono create più chiavi API nello stesso account, condividono lo stesso limite.
Questo non significa che tutti i 30 processi siano sempre in esecuzione nello stesso istante. Alcuni possono essere in attesa e altri in esecuzione. Il limite li conta entrambi.
Quando l'account ha già 30 processi non terminati per un flusso di lavoro, i nuovi invii di attività per quel flusso possono essere temporaneamente rifiutati finché i processi esistenti non terminano.
| Codice | Nome | Significato |
|---|---|---|
9015 | TASK_NOT_COMPLETED | L'account ha raggiunto il limite di processi non terminati per questo flusso di lavoro. Riprova dopo il completamento dei processi esistenti. |
Crediti e processi non terminati#
I crediti vengono detratti quando un'attività di generazione viene creata correttamente. Se alla fine l'attività non riesce, i crediti detratti vengono rimborsati automaticamente.
Il limite di processi non terminati non modifica il costo in crediti di ogni attività. Se invii più attività, ogni attività accettata viene addebitata separatamente.
Esempi:
| Esempio | Processi attivi non terminati | Crediti detratti alla creazione dell'attività |
|---|---|---|
| Invia 30 attività di sostituzione dei mobili | 30 | 30 x 1 credito = 30 crediti |
Invia 30 attività di decorazione della casa con modelType: "Base" | 30 | 30 x 3 crediti = 90 crediti |
Invia 30 attività di decorazione della casa con modelType: "Pro" | 30 | 30 x 10 crediti = 300 crediti |
Invia 10 attività di progettazione del paesaggio Flash, 10 Base e 10 Pro | 30 | 10 x 1 + 10 x 3 + 10 x 10 = 140 crediti |
Per la tabella completa dei crediti, consulta il Riferimento delle detrazioni dei crediti.
L'interrogazione periodica dell'endpoint dei risultati non crea una nuova attività di generazione e non conta come processo non terminato.
Risposte temporanee di servizio occupato#
In alcuni casi, i nuovi invii di attività possono essere temporaneamente rifiutati perché il servizio è occupato. Questo può accadere anche se l'account ha meno di 30 processi non terminati.
| Codice | Nome | Significato |
|---|---|---|
5020 | QUEUE_TASK_OVERFLOW | Il servizio è attualmente occupato. Riprova più tardi. |
Questa condizione è temporanea. Non considerarla un errore permanente.
Comportamento consigliato del client#
- Salva ogni
taskIdrestituito. - Interroga regolarmente lo stato delle attività.
- Mantieni un elenco locale dei processi non terminati per account e flusso di lavoro.
- Rimuovi i processi dall'elenco dei non terminati quando lo stato diventa
SuccessoFailed. - Per i flussi diversi da AI-3D, mantieni i processi non terminati a 30 o meno prima di inviarne altri.
- Se ricevi
9015o5020, riprova dopo un intervallo di attesa.
Comportamento suggerito per i nuovi tentativi:
| Situazione | Azione consigliata |
|---|---|
9015 TASK_NOT_COMPLETED | Attendi il completamento dei processi esistenti dello stesso account e flusso di lavoro, poi riprova. |
5020 QUEUE_TASK_OVERFLOW | Attendi e riprova aumentando progressivamente l'intervallo di attesa. |
L'attività è Unprocessed | Continua a interrogare lo stato; l'attività è in attesa. |
L'attività è Processing | Continua a interrogare lo stato; l'attività è in esecuzione. |
Ti serve una capacità di elaborazione maggiore?#
Se il limite standard di 30 processi non terminati per account e flusso di lavoro non soddisfa le esigenze della tua integrazione, contattaci a [email protected]. Possiamo esaminare il tuo caso d'uso e discutere opzioni per una maggiore capacità di elaborazione o un accordo dedicato.