API per la prova virtuale per React, Next.js e Angular — Guida al frontend
Integra la funzione di prova virtuale di TryOnCloud in React, Next.js, Angular o qualsiasi SPA JavaScript. Richiama l'API REST dal tuo frontend o backend, gestisci il caricamento delle immagini e visualizza i risultati direttamente nella pagina. Include hook React ed esempi di route API per Next.js.
Metodo
REST API — called from React/Next.js frontend or API routes
Autore
Developer API key (tk_dev_v1_) — use a server-side route to keep it private (never expose in the browser)
Lingua
TypeScript / JavaScript (React, Next.js, Angular)
Ideale per
Headless ecommerce, D2C brands, custom fashion storefronts
Perché utilizzare TryOnCloud con React & Next.js
- Funziona con qualsiasi framework JavaScript: React, Next.js, Angular, Vue
- Tipi TypeScript definiti per i modelli di richiesta e risposta delle API
- Esempio di route API Next.js incluso — la chiave API viene conservata sul lato server
- L'hook React useVirtualTryOn è disponibile per un'integrazione pulita dei componenti
- Ottimizzato per lo streaming: visualizza lo stato di caricamento mentre l'IA elabora i dati
Come configurare TryOnCloud su React & Next.js
Tempo di montaggio stimato: 2–3 hours. Difficoltà: Livello intermedio.
- 1
Creare una route API proxy lato server
In Next.js, crea il file app/api/tryon/route.ts. Questo percorso richiama l'API di TryOnCloud utilizzando la tua chiave API presente nelle variabili d'ambiente. Non richiamare mai TryOnCloud direttamente dal browser.
- 2
Gestione del caricamento delle immagini
Crea un endpoint di caricamento (app/api/upload-url/route.ts) che restituisca un URL pre-firmato per la foto del cliente. Il browser effettua il caricamento direttamente all'URL firmato, senza passare dal tuo server.
- 3
Crea il componente React per la prova virtuale
Crea un componente TryOnButton che avvii una finestra di selezione file, carichi la foto, chiami il tuo proxy /api/tryon e interroghi l'endpoint /api/result/{id} finché il risultato non è pronto.
- 4
Visualizza il risultato
Mostra l'immagine del risultato in una finestra modale o in linea sotto l'immagine del prodotto. Aggiungi un pulsante "Confronta" per passare dalla foto originale del prodotto al risultato della prova.
- 5
Aggiungi stati di errore e di caricamento
Visualizza un indicatore di caricamento durante i 7 secondi necessari all'elaborazione. Gestisci gli errori dell'API (formato non supportato, nessun indumento rilevato) con messaggi chiari e intuitivi.
Esempio di codice
Next.js: proxy per route API lato server + hook React
// app/api/tryon/route.ts — server-side (keeps the API key private)
export async function POST(req: Request) {
const form = await req.formData(); // garment_image + person_image from the browser
const res = await fetch("https://www.tryoncloud.com/api/v1/generate", {
method: "POST",
headers: { "X-API-KEY": process.env.TRYONCLOUD_API_KEY! },
body: form,
});
if (!res.ok) {
return Response.json(await res.json(), { status: res.status });
}
// The response body IS the PNG — stream it straight back to the browser.
return new Response(res.body, { headers: { "Content-Type": "image/png" } });
}
// components/TryOnButton.tsx (client)
async function runTryOn(garment: File, person: File) {
const fd = new FormData();
fd.append("garment_image", garment);
fd.append("person_image", person);
const res = await fetch("/api/tryon", { method: "POST", body: fd });
if (!res.ok) { const { error } = await res.json(); throw new Error(error); }
return URL.createObjectURL(await res.blob()); // <img src={thisUrl} />
}Cose da sapere
- ⓘLa chiave API deve essere conservata sul lato server: non renderla mai visibile nel codice JavaScript lato client
- ⓘPer caricare un'immagine è necessario un endpoint di caricamento file (l'esempio fornito utilizza i percorsi API di Next.js)
- ⓘIl tempo di elaborazione è di 7 secondi — progettare l'interfaccia utente per un'esperienza asincrona
Domande frequenti
Posso usare TryOnCloud con Angular invece che con React?
Sì. L'API REST è indipendente dal framework. Crea un servizio Angular che chiami l'endpoint del tuo proxy backend. I tipi TypeScript sono identici.
Perché la chiave API deve essere gestita dal server?
Le chiavi API nel JavaScript lato client sono visibili a chiunque apra gli Strumenti di sviluppo del browser. Utilizza una route API di Next.js o un backend Express.js come proxy: in questo modo la chiave risiede nelle variabili d'ambiente e non nel browser.
Come faccio a visualizzare un indicatore di avanzamento durante l'elaborazione?
Imposta uno stato di elaborazione al momento dell'invio del processo e mostra un'icona di caricamento o una barra di avanzamento. TryOnCloud esegue l'elaborazione in 7 secondi. È possibile visualizzare un messaggio del tipo: «La tua prova virtuale è in fase di generazione...»
TryOnCloud supporta lo streaming dei risultati?
Non ancora: il risultato è un'unica immagine finale. Lo streaming dei rendering parziali è previsto nella roadmap del prodotto.
Sei pronto ad aggiungere la funzione di prova virtuale al tuo negozio React & Next.js?
Unisciti alle centinaia di negozi di moda che stanno riducendo i resi e aumentando le conversioni grazie a TryOnCloud. Inizia gratuitamente: non serve la carta di credito.
Inizia gratuitamente