API für virtuelles Anprobieren für React, Next.js und Angular – Frontend-Leitfaden
Integrieren Sie die virtuelle Anprobe von TryOnCloud in React, Next.js, Angular oder jede beliebige JavaScript-SPA. Rufen Sie die REST-API von Ihrem Frontend oder Backend aus auf, verarbeiten Sie den Bild-Upload und zeigen Sie die Ergebnisse direkt auf der Seite an. Enthält Beispiele für React-Hooks und Next.js-API-Routen.
Methode
REST API — called from React/Next.js frontend or API routes
Auth
API key — use server-side API routes to keep key private (never expose in browser)
Sprache
TypeScript / JavaScript (React, Next.js, Angular)
Am besten für
Headless ecommerce, D2C brands, custom fashion storefronts
Warum TryOnCloud mit React & Next.js verwenden
- Funktioniert mit jedem JavaScript-Framework – React, Next.js, Angular, Vue
- Für API-Anfragen und -Antworten bereitgestellte TypeScript-Typen
- Beispiel für eine Next.js-API-Route enthalten – der API-Schlüssel wird serverseitig gespeichert
- Der React-Hook „useVirtualTryOn“ ermöglicht eine nahtlose Integration in Komponenten
- Streaming-fähig – Anzeige eines Ladezustands, während die KI Daten verarbeitet
So richten Sie TryOnCloud auf React & Next.js ein
Geschätzte Einrichtungszeit: 2–3 hours. Schwierigkeit: Mittel.
- 1
Eine serverseitige Proxy-API-Route erstellen
Erstellen Sie in Next.js die Datei „app/api/tryon/route.ts“. Diese Route ruft die API von TryOnCloud unter Verwendung Ihres API-Schlüssels aus den Umgebungsvariablen auf. Rufen Sie TryOnCloud niemals direkt über den Browser auf.
- 2
Bild hochladen
Erstellen Sie einen Upload-Endpunkt (app/api/upload-url/route.ts), der eine vorab signierte URL für das Kundenfoto zurückgibt. Der Browser lädt die Datei direkt an die signierte URL hoch, nicht über Ihren Server.
- 3
Erstelle die React-Try-on-Komponente
Erstelle eine „TryOnButton“-Komponente, die eine Dateiauswahl auslöst, das Foto hochlädt, deinen Proxy unter /api/tryon aufruft und die Endpunktadresse /api/result/{id} abfragt, bis das Ergebnis vorliegt.
- 4
Ergebnis anzeigen
Zeige das Ergebnisbild in einem Modalfenster oder direkt unterhalb des Produktbildes an. Füge eine Schaltfläche „Vergleichen“ hinzu, um zwischen dem Original-Produktfoto und dem Anprobe-Ergebnis zu wechseln.
- 5
Fehler- und Ladezustände hinzufügen
Zeige während des 15–20 Sekunden dauernden Verarbeitungsvorgangs einen Ladekreis an. Behandle Fehler der API (nicht unterstütztes Format, kein Kleidungsstück erkannt) mit benutzerfreundlichen Meldungen.
Code-Beispiel
Next.js: Proxy für serverseitige API-Routen + React-Hook
// app/api/tryon/route.ts — server-side proxy (keeps API key private)
export async function POST(req: Request) {
const { garmentUrl, personUrl } = await req.json()
const res = await fetch('https://www.tryoncloud.com/api/tryon', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'X-API-Key': process.env.TRYONCLOUD_API_KEY!,
},
body: JSON.stringify({
garment_image_url: garmentUrl,
person_image_url: personUrl,
}),
})
const data = await res.json()
return Response.json(data)
}
// hooks/useVirtualTryOn.ts
export function useVirtualTryOn() {
const [status, setStatus] = useState<'idle'|'uploading'|'processing'|'done'|'error'>('idle')
const [resultUrl, setResultUrl] = useState<string | null>(null)
const tryOn = async (garmentUrl: string, personFile: File) => {
setStatus('uploading')
// 1. Get upload URL, upload photo
const { uploadUrl, personUrl } = await getUploadUrl(personFile)
await fetch(uploadUrl, { method: 'PUT', body: personFile })
// 2. Submit try-on job
setStatus('processing')
const { job_id } = await fetch('/api/tryon', {
method: 'POST',
body: JSON.stringify({ garmentUrl, personUrl }),
}).then(r => r.json())
// 3. Poll for result
for (let i = 0; i < 10; i++) {
await new Promise(r => setTimeout(r, 3000))
const result = await fetch(`/api/result/${job_id}`).then(r => r.json())
if (result.status === 'complete') {
setResultUrl(result.result_url)
setStatus('done')
return
}
}
setStatus('error')
}
return { tryOn, status, resultUrl }
}Wissenswert
- ⓘDer API-Schlüssel muss serverseitig gespeichert werden – er darf niemals in clientseitigem JavaScript offengelegt werden
- ⓘFür das Hochladen von Bildern ist ein Endpunkt für den Datei-Upload erforderlich (im folgenden Beispiel werden Next.js-API-Routen verwendet)
- ⓘDie Bearbeitungszeit beträgt 15–20 Sekunden – UI für asynchrone Benutzererfahrung entwerfen
Häufig gestellte Fragen
Kann ich TryOnCloud mit Angular statt mit React verwenden?
Ja. Die REST-API ist frameworkunabhängig. Erstellen Sie einen Angular-Service, der Ihren Backend-Proxy-Endpunkt aufruft. Die TypeScript-Typen sind identisch.
Warum muss der API-Schlüssel serverseitig sein?
API-Schlüssel in clientseitigem JavaScript sind für jeden sichtbar, der die Entwicklertools des Browsers öffnet. Verwenden Sie eine Next.js-API-Route oder ein Express.js-Backend als Proxy – der Schlüssel wird in Umgebungsvariablen gespeichert, nicht im Browser.
Wie zeige ich während der Verarbeitung eine Fortschrittsanzeige an?
Legen Sie bei der Übermittlung des Auftrags einen Verarbeitungsstatus fest und zeigen Sie einen Ladekreis oder einen Fortschrittsbalken an. TryOnCloud benötigt für die Verarbeitung 15 bis 20 Sekunden. Sie können folgende Meldung anzeigen: „Ihre virtuelle Anprobe wird gerade erstellt ...“
Unterstützt TryOnCloud das Streamen des Ergebnisses?
Noch nicht – das Ergebnis ist ein einziges endgültiges Bild. Das Streaming von Teilrenderings ist in der Produkt-Roadmap vorgesehen.
Bereit, virtuelle Anprobe zu Ihrem React & Next.js-Shop hinzuzufügen?
Schließen Sie sich Hunderten von Modehändlern an, die Retouren reduzieren und Conversions mit TryOnCloud steigern. Kostenlos starten — keine Kreditkarte erforderlich.
Kostenlos starten