Skip to main content

Aperçu

Toutes les requêtes de génération suivent le même cycle de vie de base : Diagramme du cycle de vie d'un job

États d’un job

queued Le job attend dans la file pour être traité backlogged Le job attend derrière votre limite de concurrence actuelle scheduled Le job a été accepté et planifié pour traitement processing Le job est activement traité par un worker sampling Le job génère des échantillons de sortie intermediate-complete Le job dispose d’un résultat intermédiaire et peut continuer son traitement completed Le job s’est terminé avec succès, le résultat est disponible dans result.urls failed Le job a échoué en raison d’une erreur, détails dans result.error cancelled Le job a été annulé par l’utilisateur ou le système

Échecs et annulations

Les jobs peuvent échouer pour plusieurs raisons :
  • Erreurs de l’API du service de génération
  • Paramètres invalides ou configurations non prises en charge
  • Modération de contenu (filtrage NSFW)
  • Détection automatique de timeout (3 minutes pour les outils hébergés, 2 heures pour les fournisseurs externes)
Pour annuler un job : envoyez une requête DELETE vers /jobs/{id}. Note : les jobs ne peuvent être annulés que lorsqu’ils ont un statut queued ou processing.
Important : les jobs qui échouent ou qui sont annulés ne sont pas facturés. Vous ne payez que pour les jobs terminés.

Vérification du statut d’un job

Interrogez le statut d’un job à l’aide d’une requête GET vers /jobs/{id}. Bonnes pratiques recommandées :
  • Interrogez toutes les 2 à 5 secondes tant que le job est en attente (backlogged, queued, scheduled, processing, sampling ou intermediate-complete)
  • Utilisez un backoff exponentiel pour les jobs plus longs
  • Arrêtez le polling lorsque le statut est completed, failed ou cancelled
  • Certains jobs peuvent inclure des images de prévisualisation dans les réponses pendant l’état processing
Exemple d’implémentation de 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;
}

Étapes suivantes

Webhooks

Recevez des notifications lorsque les jobs se terminent

Limites de débit

Comprenez les limites de l’API par niveau de plan

API des modèles

Explorez tous les endpoints et paramètres disponibles

Clés API et facturation

Créez et gérez vos clés API