GuideVon Thibault Mathian

Virtuelle KI-Anprobe per API in eigene Apps integrieren

Erstellen Sie mit einem einzigen API-Aufruf Fotos von Personen mit ausgewählter Kleidung, Brillen oder Schmuck. Architektur, Codebeispiele, mobile Apps, Kosten und Best Practices.

Inhaltsverzeichnis

Eine API für virtuelle Anproben benötigt lediglich zwei Bilder: das Foto einer Person und die Produktaufnahme. Das Ergebnis ist ein fotorealistisches Bild der Person, die das Produkt trägt. Diese Anleitung zeigt, wie Sie Virtual Try-On mit der Genlook Try-On API in Ihre Web-App, mobile App oder Ihren individuellen Online-Shop einbinden. Der Ablauf ist für Kleidung, Schuhe, Brillen, Schmuck, Uhren, Taschen und Hüte identisch.

Hinweis in eigener Sache: Genlook entwickelt diese API. Wenn Sie aktuell noch Anbieter vergleichen, hilft Ihnen unser Benchmark von 10 Try-On-APIs mit direkten Bildvergleichen.

Voraussetzungen

  • Ein API-Schlüssel: Erstellen Sie einfach ein Konto auf platform.genlook.app. Zum Start erhalten Sie 10 Gratis-Credits, mit denen sich der komplette Ablauf testen lässt.
  • Ein Backend: Der API-Schlüssel gehört auf den Server und darf niemals im Browser oder im Code einer mobilen App landen.
  • Ein Personenfoto: JPEG, PNG, WebP oder HEIC mit bis zu 10 MB. Die Person sollte frontal zu sehen sein und die betreffende Körperpartie muss erkennbar sein.
  • Ein Produktbild: Verwenden Sie einfach die vorhandenen Fotos aus Ihrem Online-Shop. Packshots, Legeware (Flatlays) oder Aufnahmen am Model funktionieren gleichermaßen. Ein 3D-Modell ist nicht erforderlich.

So funktioniert der Ablauf

Jede Integration basiert auf drei einfachen Schritten:

  1. Personenfoto hochladen per POST /images/upload. Als Antwort erhalten Sie eine imageId, die Sie für alle weiteren Anproben mit diesem Foto wiederverwenden können.
  2. Anprobe anstoßen per POST /try-on. Übergeben Sie die Produktdaten direkt im Request (Bild, Titel, Beschreibung) zusammen mit der imageId. Eine vorherige Katalog-Synchronisierung ist nicht nötig.
  3. Ergebnis abrufen: Überprüfen Sie den Status per Polling mit GET /generations/:id, nutzen Sie waitFor() im SDK oder empfangen Sie das fertige Bild über den Webhook generation.completed. Die Generierung dauert im Schnitt etwa 8 Sekunden.

Wenn Sie alles in einem einzigen Request erledigen möchten, hält POST /try-on/sync die Verbindung offen, bis das Bild fertig berechnet ist. Dieser synchrone Endpunkt eignet sich optimal für Skripte und Serverless Functions.

Ihre erste Anprobe mit TypeScript

Das offizielle SDK lautet @genlook/api. Es unterstützt Node 20+, Deno, Bun sowie moderne Edge-Runtimes.

import { Genlook } from "@genlook/api";
import { readFile } from "node:fs/promises";

const client = new Genlook({ apiKey: process.env.GENLOOK_API_KEY! });

// 1. Personenfoto einmalig hochladen und imageId wiederverwenden.
const { imageId } = await client.images.upload(
  await readFile("./person.jpg"),
  { mimeType: "image/jpeg" },
);

// 2. Anprobe anstoßen. Das Produkt wird direkt im Aufruf definiert.
const { generationId } = await client.tryOn.create({
  products: [{
    externalId: "linen-shirt-12",
    title: "Relaxed linen shirt",
    description: "Oversized fit, dropped shoulders, falls below the hip.",
    images: [{ source: { url: "https://cdn.example.com/linen-shirt.jpg" } }],
  }],
  person: { image: { source: { id: imageId } } },
});

// 3. Auf das Ergebnis warten.
const result = await client.generations.waitFor(generationId);
console.log(result.resultImageUrl);

Der Aufruf mit cURL oder Python

Auch ohne dediziertes Python-SDK lässt sich die REST-API aus jeder Programmiersprache ansteuern. Hier sehen Sie die Abfrage in einem Schritt über den synchronen Endpunkt:

curl -X POST "https://api.genlook.app/tryon/v1/try-on/sync" \
  -H "x-api-key: $GENLOOK_API_KEY" \
  -H "Content-Type: application/json" \
  --max-time 100 \
  -d '{
    "products": [{
      "externalId": "linen-shirt-12",
      "title": "Relaxed linen shirt",
      "description": "Oversized fit, dropped shoulders, falls below the hip.",
      "images": [{ "source": { "url": "https://cdn.example.com/linen-shirt.jpg" } }]
    }],
    "person": { "image": { "source": { "id": "<imageId>" } } }
  }'
import os, requests

BASE = "https://api.genlook.app/tryon/v1"
headers = {"x-api-key": os.environ["GENLOOK_API_KEY"]}

with open("person.jpg", "rb") as f:
    image_id = requests.post(f"{BASE}/images/upload", headers=headers,
                             files={"file": ("person.jpg", f, "image/jpeg")}).json()["imageId"]

result = requests.post(f"{BASE}/try-on/sync", headers=headers, timeout=100, json={
    "products": [{
        "externalId": "linen-shirt-12",
        "title": "Relaxed linen shirt",
        "description": "Oversized fit, dropped shoulders, falls below the hip.",
        "images": [{"source": {"url": "https://cdn.example.com/linen-shirt.jpg"}}],
    }],
    "person": {"image": {"source": {"id": image_id}}},
}).json()

print(result["resultImageUrl"])

Der synchrone Request wartet bis zu 90 Sekunden. Sollte die Berechnung ausnahmsweise länger dauern, erhalten Sie den Statuscode 202 samt generationId, um das Resultat anschließend per Polling abzufragen.

Brillen, Schmuck, Schuhe und Accessoires

Sie müssen keinen Produkttyp explizit festlegen. Die API erkennt das Objekt im Bild automatisch und platziert es an der richtigen Stelle: Brillen auf der Nase, Ohrringe am Ohr, Ketten am Hals und Schuhe an den Füßen. Der API-Aufruf unterscheidet sich nicht von dem für ein Oberteil.

Zwei wichtige Punkte sollten Sie beachten:

  • Kombinationen nur bei Kleidung: Sie können bis zu vier Kleidungsstücke gleichzeitig in einer Anprobe kombinieren, etwa Oberteil, Hose und Jacke. Brillen, Mützen, Schuhe, Taschen oder Schmuckstücke werden jeweils einzeln angefordert.
  • Passender Bildausschnitt: Das Personenfoto muss den Bereich zeigen, an dem das Produkt getragen wird. Ein Porträt-Selfie reicht für Brillen und Ohrringe völlig aus, für Schuhe ist eine Ganzkörperaufnahme erforderlich.

Mobile Apps (iOS, Android, Flutter, React Native)

Da API-Schlüssel nicht in die App kompiliert werden dürfen, läuft die Kommunikation auf Mobilgeräten immer über Ihr Backend:

  1. Der Nutzer nimmt ein Foto auf oder wählt eines aus der Galerie; die App schickt es an Ihr Backend.
  2. Ihr Backend lädt das Foto über die API hoch und stößt die virtuelle Anprobe an.
  3. Sobald das Bild fertig ist (per Polling oder Webhook), leitet Ihr Backend die Bild-URL an die App weiter.
  4. Die App rendert das fertige Foto.

Da Ihr Backend lediglich HTTP-Requests ausführen können muss, spielt der Tech-Stack Ihrer mobilen App keine Rolle.

Preismodell

Jede Anprobe kostet 1 Credit. Schlägt eine Generierung fehl, wird der Credit automatisch erstattet. Im flexiblen Pay-as-you-go-Modell zahlen Sie 0,04 $ pro Anprobe (Credit-Pakete ab 5 $, Guthaben verfällt nie). Mit Monatsplänen sinkt der Preis auf 0,02 $ pro Anprobe (Starter: 20 $ für 1.000 Credits) bzw. bis auf 0,015 $ im Scale-Tarif (300 $ für 20.000 Credits). Mit dem Kostenrechner auf der Entwicklerseite können Sie Ihre monatlichen Kosten direkt anhand Ihres erwarteten Volumens ermitteln.

Typische Fehler und Best Practices

  • API-Aufrufe direkt aus dem Frontend: Dabei wird Ihr API-Schlüssel im Klartext offengelegt. Führen Sie alle Aufrufe grundsätzlich über Ihren eigenen Server aus.
  • Zu ungenaue Produktbezeichnungen: Titel und Beschreibung helfen der KI, Schnitt und Material korrekt zu interpretieren. Eine Angabe wie „Kürzere Strickjacke aus Wolle im Boxy-Fit“ führt zu deutlich besseren Resultaten als bloß „Artikel 4417“.
  • Produkte bei jedem Durchlauf erneut senden: Beim ersten Aufruf wird das Produktbild analysiert, was wenige Sekunden in Anspruch nimmt. Danach reicht die Angabe der externalId, um direkt auf die bereits verarbeiteten Daten zurückzugreifen.
  • Bilder länger als nötig speichern: Nutzen Sie den Parameter keepForDays (1, 3 oder 7 Tage) beim Upload und hinterlegen Sie eine externalUserId. So können Sie alle Bilder eines Nutzers bei Bedarf mit einem einzigen Befehl datenschutzkonform löschen.
  • Credits bei der UI-Entwicklung verbrauchen: Testen Sie Ihre Oberfläche kostenlos mit einem Produkt namens mock. Die API gibt in diesem Fall unmittelbar das unveränderte Personenfoto zurück, ohne Credits abzuziehen.

FAQ

Deine Fragen, beantwortet.

Gibt es eine API, die Fotos von Personen mit ausgewählter Kleidung erzeugt?↓

Ja, genau das leistet eine Virtual-Try-On-API: Sie übergeben ein Foto der Person sowie eine Produktaufnahme und erhalten ein Bild der Person im gewünschten Kleidungsstück zurück. Mit Genlook genügt ein einziger Request an den Sync-Endpunkt; die Generierung dauert durchschnittlich 8 Sekunden.

Werden 3D-Modelle der Produkte benötigt?↓

Nein. Die API verarbeitet reguläre 2D-Produktfotos, wie sie bereits in Ihrem Online-Shop vorhanden sind.

Dürfen die generierten Bilder kommerziell genutzt werden?↓

Ja. Genlook ist eine kommerzielle API, die für den produktiven Einsatz in Shops und Apps lizenziert ist. Forschungsmodelle wie IDM-VTON oder CatVTON sind hingegen oft auf nicht-kommerzielle Zwecke beschränkt.

Wird die API für Shops auf Basis von Shopify, WooCommerce oder PrestaShop benötigt?↓

Nein. Über die Genlook-Apps und Plugins binden Sie die Anprobe ganz ohne Programmieraufwand direkt in Ihre Produktseiten ein. Die API richtet sich an Entwickler von Custom-Stores, mobilen Apps oder eigenständigen Softwarelösungen.