HiAPI
Blog

Tutorial

Google Virtual Try-On API-Integration: Personenbild und Kleidungsbild

Trennen Sie die Bildfelder für Person und Kleidung, reichen Sie Tasks über HiAPI ein und fragen Sie Ergebnisse ab – ganz ohne Prompt.

Oct 28, 2026
Google Virtual Try-On API-Integration: Personenbild und Kleidungsbild

Wenn die beiden Bilder jeweils im richtigen Feld stehen, ist die Integration klar aufgesetzt. Das Personenbild gehört in person_image_url, das Kleidungsbild in product_image_url; füllt man das Personenbild in das Kleidungsfeld, ändert sich die Bedeutung der Eingabe.

TL;DR

Google Virtual Try-On kostet $0.1075 pro Bild; Preise und Budget ansehen. Verwenden Sie die HiAPI-/v1/tasks-Schnittstelle: Task einreichen, taskId erhalten, dann Ergebnis abfragen. Kein Prompt erforderlich.

Eingabevorbereitung und Felder

Wählen Sie ein frontales Einzelporträt, bei dem die Körperkontur möglichst klar erkennbar ist; für die Kleidung verwenden Sie ein Flachlege- oder Hänge­bild mit sauberem Hintergrund und vollständigen Rändern. Die beiden permanenten Bild-URLs im folgenden Beispiel stehen für Person A und ein rot-weiß gestreiftes T-Shirt und können durch eigene öffentliche Bild-URLs ersetzt werden.

Feld Ausfüllen
person_image_url Pflichtfeld; öffentliche HTTP(S)-URL des Personenfotos
product_image_url Pflichtfeld; öffentliche HTTP(S)-URL des Kleidungsproduktbilds
num_images Ganzzahl; explizit 1 eintragen, aktuell wird nur ein Bild unterstützt

Geschäftsanforderungen auf die Anfrage abbilden

Wenn dieselbe Person verschiedene Kleidungsstücke anprobieren soll, bleibt person_image_url fest, und product_image_url wird Stück für Stück ersetzt; wenn dasselbe Kleidungsstück an verschiedenen Personen gezeigt werden soll, bleibt das Produktbild fest und das Personenbild wird ersetzt. Wenn Sie für dieselbe Bildgruppe mehrere Kandidaten benötigen, behalten Sie beide Eingaben bei und reichen Sie jeweils separat ein, wobei jedes Mal weiterhin num_images: 1 angegeben wird. Es empfiehlt sich, in den eigenen Task-Aufzeichnungen Produktnummer und Version des Personenbilds zu speichern und die Zuordnung nicht nur anhand des Dateinamens des Ergebnisses zu erraten.

Für Person und Kleidung müssen jeweils öffentlich lesbare HTTP(S)-Bild-URLs angegeben werden; lokale Datenträgerpfade oder Data-URIs werden nicht als Bild-URL akzeptiert. Dass ein Bild im Browser bei angemeldeter Sitzung sichtbar ist, bedeutet nicht, dass andere Dienste es lesen können; prüfen Sie den Link vor dem Einreichen unter Bedingungen, die keine Anmeldesitzung voraussetzen. Bestätigen Sie möglichst, dass das Bild selbst zurückgegeben wird und nicht eine Galerieseite oder eine Berechtigungshinweisseite, und stellen Sie sicher, dass das Bild während der Task-Ausführung erreichbar bleibt.

Wenn das Personenbild den Saum verdeckt oder Hände großflächig mit der Kleidung überlappen, ziehen Sie zunächst ein Foto mit klareren Grenzen in Betracht. Für das Kleidungsbild bevorzugen Sie ein einzelnes Flachlege- oder Hänge­foto mit vollständigen Rändern und vermeiden es, ein Ergebnis eines Anprobeversuchs erneut fälschlich als eigenständiges Produktbild zu verwenden. Die öffentlichen Felder bieten keine Einstellungen für lokalen Schutz, Manschettenanpassung oder Schuhfixierung; solche Anforderungen lassen sich nicht durch Hinzufügen benutzerdefinierter Felder ausdrücken.

Die Wahl klarer Bilder ist eine Arbeitsmethode; ob die Schnittstelle Bilder akzeptiert, und ob das Produkt korrekt dargestellt wird, sind getrennt zu prüfen. Dieser Artikel gibt für Try-On keine unbelegten Zusagen zu Dateigröße, Pixelobergrenzen oder Ausgabemaßen ab; Einschränkungen anderer Bildmodelle lassen sich nicht einfach übertragen.

Task einreichen: cURL

Das folgende Beispiel verwendet Bash/cURL. Konfigurieren Sie zunächst HIAPI_API_KEY in der Laufzeitumgebung; die Bild-URLs in der Anfrage können ersetzt werden, der Schlüssel bleibt in der Serverumgebung.

curl -X POST "https://api.hiapi.ai/v1/tasks" \
  -H "Authorization: Bearer $HIAPI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "google-virtual-try-on",
  "input": {
    "person_image_url": "https://static.hiapi.ai/gallery/2026/10/9f656c8b6ecf94d5.webp",
    "product_image_url": "https://static.hiapi.ai/model-covers/2026/10/22/1792660602486-b5b70d2cfdd8dc95-1792152569828-b5b70d2cfdd8dc95-t-g1-0.webp",
    "num_images": 1
  }
}'

Eine erfolgreiche Einreichung gibt data.taskId zurück. Speichern Sie diesen Wert für spätere Abfragen.

Task abfragen und Ergebnis speichern

Setzen Sie die Task-Nummer in TASK_ID und fragen Sie ab:

curl "https://api.hiapi.ai/v1/tasks/$TASK_ID" \
  -H "Authorization: Bearer $HIAPI_API_KEY"

Wenn der Task data.status=success hat, rufen Sie das Bild über data.output[0].url ab und speichern es. Für dauerhaft laufende Anwendungen können Sie auf oberster Ebene der Einreichungsanfrage callback.url und callback.when: "final" setzen, um Abschlussbenachrichtigungen zu erhalten, und nach taskId deduplizieren; sowohl Erfolg als auch Fehler können Benachrichtigungen auslösen. Die Abfrage per GET eignet sich für Debugging und Nachprüfungen.

Polling, Callbacks und Timeout-Behandlung

Einreichen und Abfragen sind zwei verschiedene Vorgänge. Nachdem Sie data.taskId erhalten haben, zeichnen Sie diese zusammen mit der Eingabe auf und fragen Sie dann GET /v1/tasks/:id ab. Solange kein Endzustand erreicht ist, warten Sie weiter und ersetzen Sie die Abfrage nicht durch ein erneutes POST. Polling-Intervall und maximale Wartezeit der Anwendung legen Sie in Ihrer Anwendung fest; dieser Artikel gibt keine durchschnittliche Dauer oder feste Abschlussfrist an, die als Zusage dienen könnte; auch die Netzwerk-Timeouts in den Beispielen sind keine Zusage zur Dienstlaufzeit.

Ein Timeout der Abfrageanfrage bedeutet nur, dass dieses Lesen nicht rechtzeitig abgeschlossen wurde. Bewahren Sie die Task-Nummer auf und prüfen Sie denselben Task später erneut. Wenn die Einreichungsanfrage selbst ein Timeout erleidet und Sie keine Nummer erhalten haben, ist unklar, ob der Server den Task bereits angenommen hat: Bewahren Sie Einreichungszeitpunkt und Anfrageinhalt auf, prüfen Sie zunächst die Task-Aufzeichnungen und entscheiden Sie dann, ob Sie erneut einreichen. Interpretieren Sie Client-Ausnahmen nicht direkt als Task-Fehler und versprechen Sie nicht, dass wiederholte Anfragen automatisch zusammengeführt werden.

Die Callback-Konfiguration gehört auf die oberste Ebene des Anfrage-Bodys, gleichrangig mit model und input, und darf nicht in die Modelleingabe gesteckt werden. Verwenden Sie bei callback.url zugleich callback.when: "final". Abschlussbenachrichtigungen können sowohl Erfolg als auch Fehler bedeuten; prüfen Sie daher nach Erhalt der Benachrichtigung weiterhin den Status. Abfrage und Callback können denselben Task betreffen; die Anwendung sollte nach taskId deduplizieren, um doppelte Downloads oder doppelt ausgelöste Folgearbeiten zu vermeiden. Hier wird die Vorgehensweise in der Anwendung beschrieben; es wird nicht angenommen, dass ein Callback zwangsläufig innerhalb einer bestimmten Frist eintrifft.

Nach data.status=success prüfen Sie, ob data.output tatsächlich eine lesbare Ergebnis-URL enthält, und laden Sie dann das Bild herunter. Bei fail speichern Sie die Fehlermeldung und korrigieren die Anfrage entsprechend dem Inhalt; raten Sie nicht allein anhand eines Status, ob das Bild zu groß war, ein Netzwerkfehler vorlag oder eine andere konkrete Ursache. Bei unerwarteten Status oder fehlender Ausgabe bewahren Sie die Antwort auf und prüfen Sie erneut; behandeln Sie ein leeres Ergebnis nicht als erfolgreiche Auslieferung.

Download-Fehler und Generierungsfehler sind ebenfalls zu trennen. Wenn der Task erfolgreich war, die Datei aber nicht gespeichert wurde, lesen Sie zunächst das vorhandene Ergebnis erneut oder laden Sie es erneut herunter, statt das Bild direkt neu zu erzeugen. Beim Archivieren bewahren Sie Task-Nummer, Eingabezuordnung und endgültigen Dateispeicherort auf, damit später genau nachvollziehbar ist, aus welcher Anfrage ein Bild stammt. Ein dem Benutzer angezeigtes „Wartezeit überschritten“ sollte bedeuten, dass die aktuelle Oberfläche das Warten beendet, und nicht eigenmächtig verkünden, der serverseitige Task sei abgebrochen.

Python-Einreichungsbeispiel

In der Umgebung muss requests installiert sein. Das timeout=60 hier ist die maximale Wartezeit der Client-Netzwerkanfrage, nicht die Dauer der Bilderzeugung.

import os
import requests

payload = {'model': 'google-virtual-try-on', 'input': {'person_image_url': 'https://static.hiapi.ai/gallery/2026/10/9f656c8b6ecf94d5.webp', 'product_image_url': 'https://static.hiapi.ai/model-covers/2026/10/22/1792660602486-b5b70d2cfdd8dc95-1792152569828-b5b70d2cfdd8dc95-t-g1-0.webp', 'num_images': 1}}
response = requests.post(
    "https://api.hiapi.ai/v1/tasks",
    headers={"Authorization": f"Bearer {os.environ['HIAPI_API_KEY']}"},
    json=payload,
    timeout=60,
)
response.raise_for_status()
result = response.json()
task_id = result["data"]["taskId"]
print(task_id)

Prüfung vor dem Einreichen und der Ergebnisse

Die Schnittstelle benötigt keinen prompt. Setzen Sie num_images nicht auf 2 oder 4; wenn Sie Kandidatenbilder benötigen, starten Sie separate Anfragen. Prüfen Sie zuerst, dass beide Bilder öffentlich lesbar sind und die Felder nicht vertauscht wurden, und reichen Sie dann ein. Lesen Sie bei einem Fehlerstatus die zurückgegebene Meldung und korrigieren Sie die Eingabe; reichen Sie nicht unverändert wiederholt ein.

Rückgegebene Bilder nach Verwendungszweck abnehmen

Vergleichen Sie zunächst das Ergebnis nebeneinander mit dem Personenbild und prüfen Sie Gesicht, Frisur, Haltung, Hintergrund sowie Hose und Schuhe, die unverändert bleiben sollen. Prüfen Sie dann anhand des Kleidungsbilds Farbe, Kragenform, Ärmellänge, Muster und Saum. Bei einem gestreiften T-Shirt ist zu prüfen, wie die Querstreifen an Brust und Ärmeln anschließen; bei einem Kleid sind Träger, fallender Ausschnitt und Falten in Handnähe zu prüfen; bei einem Hemd, ob die Manschetten hochgekrempelt und der Saum in den Hosenbund gesteckt ist. Diese Prüfungen stammen aus den in den Beispielen sichtbaren Veränderungen; es wird nicht garantiert, dass bei anderen Eingaben nur diese Veränderungen auftreten.

„Datei heruntergeladen“ und „Bild für Produktseiten verwendbar“ sind getrennt zu erfassen. Auch nach Erfolg können Veränderungen außerhalb der Kleidung auftreten; der Schnittstellenstatus darf die manuelle Abnahme nicht automatisch ersetzen. Stammt ein Mangel von einer Verdeckung in der Eingabe, tauschen Sie zuerst die Eingabe und versuchen es erneut; muss ein Produkt eine bestimmte Ärmellänge oder ein festes Accessoire zeigen, prüfen Sie zuerst, ob das aktuelle Ergebnis diese Vorgabe erfüllt, und ignorieren Sie Produktdetails nicht, nur weil das Gesamtoutfit natürlich wirkt.

Wenn Sie für dieselbe Eingabegruppe Kandidaten nachreichen, bewahren Sie frühere Ergebnisse zum Vergleich auf und überschreiben Sie keine alten Dateien mit neuen. Notieren Sie bei der Auswahl die Gründe für Annahme oder Ablehnung, damit ähnliche Produkte später leichter behandelt werden können. Bilder dienen nur der Beobachtung des Aussehens; tatsächliche Größen und Tragegefühl erfordern zusätzlich Angaben zu Kleidungsmaßen und Informationen aus realen Anproben.

Häufige Fragen

Können Personenbild und Kleidungsbild dasselbe Feld verwenden?

Nein. Das Personenbild gehört in person_image_url, das Kleidungsbild in product_image_url.

Muss ein prompt-Parameter hinzugefügt werden?

Nein. Die Schnittstelle hat kein Prompt-Feld; die Anprobe wird von den beiden Eingabebildern bestimmt.

Warum explizit num_images: 1 angeben?

Aktuell wird nur ein Ergebnis unterstützt; die explizite Angabe stellt die Anzahl der Anfragebilder direkt dem Budget von $0.1075 pro Bild gegenüber.

Kann man das Bild direkt nach Erhalt der taskId abrufen?

Zusätzlich muss der Task abgefragt oder eine Benachrichtigung empfangen werden; nach data.status=success rufen Sie das Bild über data.output[0].url ab.

Weiterlesen

Preise und Budget · API-Integration · Beispiele und Bildauswahl · Google Virtual Try-On

Wenn Sie zwischen Anprobe und allgemeiner Bildbearbeitung wählen müssen, sehen Sie sich den Vergleich von Google Virtual Try-On mit Seedream 5.0 Lite an und prüfen Sie Kleidung, Schuhe und Personenaussehen Punkt für Punkt.

TagsAPI

Ähnliche Artikel

Alle Artikel ansehen →

Starte mit persistenten KI-Artefakten

Hol dir deinen API-Key und rufe Bild-, Video- und Audiomodelle über eine einzige task-basierte API auf.

API-Dokumentation lesen