Skip to main content

Panoramica

Tutte le richieste di generazione seguono lo stesso ciclo di vita di base: Job lifecycle diagram

Stati del job

queued Il job è in attesa nella coda per essere elaborato backlogged Il job è in attesa oltre il tuo limite di concorrenza attuale scheduled Il job è stato accettato e programmato per l’elaborazione processing Il job è in fase di elaborazione attiva da parte di un worker sampling Il job sta generando campioni di output intermediate-complete Il job ha un risultato intermedio e potrebbe continuare l’elaborazione completed Il job è terminato con successo, il risultato è disponibile in result.urls failed Il job è fallito a causa di un errore, i dettagli sono in result.error cancelled Il job è stato cancellato dall’utente o dal sistema

Fallimenti e cancellazione

I job possono fallire per diversi motivi:
  • Errori API dal servizio di generazione
  • Parametri non validi o configurazioni non supportate
  • Moderazione dei contenuti (filtro NSFW)
  • Rilevamento automatico del timeout (3 minuti per gli strumenti in hosting, 2 ore per i provider esterni)
Per cancellare un job: Invia una richiesta DELETE a /jobs/{id}. Nota: i job possono essere cancellati solo quando hanno lo stato queued o processing.
Importante: I job falliti e cancellati non vengono fatturati. Paghi solo per i job completati.

Controllo dello stato del job

Effettua polling sullo stato del job con una richiesta GET a /jobs/{id}. Pratiche consigliate:
  • Effettua polling ogni 2-5 secondi mentre il job è in sospeso (backlogged, queued, scheduled, processing, sampling o intermediate-complete)
  • Utilizza un backoff esponenziale per i job di lunga durata
  • Interrompi il polling quando lo stato è completed, failed o cancelled
  • Alcuni job possono includere immagini di anteprima nelle risposte durante processing
Esempio di implementazione del polling:
// npm install @krea-ai/sdk
import { Krea } from "@krea-ai/sdk";

const krea = new Krea({ apiKey: process.env.KREA_API_KEY });

async function waitForJob(jobId) {
  const job = await krea.jobs.wait(jobId, { intervalMs: 2000 });
  return job.result;
}

Prossimi passi

Webhook

Ricevi notifiche al completamento dei job

Limiti di frequenza

Comprendi i limiti API per livello di piano

Model APIs

Esplora tutti gli endpoint e i parametri disponibili

Chiavi API e fatturazione

Crea e gestisci le tue chiavi API