TryOnCloud
StartseiteIntegrationsReact & Next.js
MittelEinrichtung: 2–3 hoursREST API — called from React/Next.js frontend or API routes

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. 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. 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. 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. 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. 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

typescript
// 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

Weitere Integrationen