Skip to main content

Überblick

Anstatt wiederholt GET /jobs/{id} zu pollen, kannst du eine Webhook-URL angeben, um eine POST-Anfrage zu erhalten, sobald dein Job abgeschlossen ist. Das ist effizienter und reduziert unnötige API-Aufrufe.

Webhooks verwenden

Füge den X-Webhook-URL-Header zu einer beliebigen Generierungsanfrage hinzu. Sobald der Job einen Endzustand erreicht (completed, failed oder cancelled), sendet die API eine POST-Anfrage an deine URL mit den vollständigen Job-Daten.
// npm install @krea-ai/sdk
import { Krea } from "@krea-ai/sdk";

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

const job = await krea.image(
  "bfl/flux-1-dev",
  {
    prompt: "a serene mountain landscape at sunset",
    width: 1024,
    height: 576
  },
  { webhookUrl: "https://your-server.com/webhook" }
);

console.log(`Job ID: ${job.job_id}`);
// Dein Webhook empfängt die Ergebnisse, sobald der Job abgeschlossen ist

Webhook-Payload

Sobald der Job abgeschlossen ist, empfängt deine Webhook-URL eine POST-Anfrage mit den Job-Daten:
{
  "job_id": "550e8400-e29b-41d4-a716-446655440000",
  "status": "completed",
  "created_at": "2025-01-15T10:30:00.000Z",
  "completed_at": "2025-01-15T10:30:05.000Z",
  "result": {
    "urls": ["https://..."]
  }
}

Best Practices

Schnell antworten – Gib zügig einen 2xx-Statuscode zurück. Verarbeite die Webhook-Daten bei Bedarf asynchron.
Payload validieren – Prüfe, ob die job_id zu einem von dir gestarteten Job passt, bevor du die Ergebnisse verarbeitest.
  • Nutze HTTPS-Endpoints für die Sicherheit
  • Implementiere Idempotenz für den Fall doppelter Zustellungen
  • Logge Webhook-Empfänge für das Debugging

Webhooks vs. Polling

AnsatzVorteileNachteile
WebhooksEchtzeit-Benachrichtigungen, weniger API-AufrufeErfordert einen öffentlichen Endpoint
PollingFunktioniert überall, kein Server nötigMehr API-Aufrufe, leichte Verzögerung
Verwende Webhooks, wenn du einen Server hast, der HTTP-Anfragen empfangen kann. Verwende Polling für clientseitige Anwendungen oder wenn du keinen öffentlichen Endpoint bereitstellen kannst.

Nächste Schritte

Job-Lebenszyklus

Erfahre mehr über Job-Status und Status-Polling

Codebeispiele

Sieh dir vollständige Beispiele mit Webhook-Handling an