Introduzione
Face Swap trasferisce i tratti del volto da un’immagine alla persona di un’altra. Si spostano solo i tratti: acconciatura, attaccatura dei capelli, sagoma della testa, posa, abiti, luce e sfondo dell’immagine di destinazione restano com’erano, ed è per questo che il risultato si inserisce nella foto originale invece di starci appoggiato sopra.
La richiesta sono due URL di immagine e un seed facoltativo: image_url è la foto da modificare e reference_image_url fornisce il volto. Non c’è un campo prompt da scrivere, e ogni richiesta restituisce un’immagine.
Caratteristiche principali
Lo scatto resta, l’identità cambia
È la scelta mirata quando la foto di destinazione ha già capelli, posa, abiti, inquadratura e ambiente giusti. Trasferisce l’identità del volto e protegge il resto della composizione approvata, così cambiare persona non diventa una generazione completa dell’immagine.
Pensato per coppie di immagini ripetibili
Il flusso è volutamente semplice: prepara una destinazione e un riferimento con i diritti in regola e con angolo e luce compatibili, poi controlla mandibola, occhi e transizione della pelle. Questo lo rende utile per varianti controllate di avatar, cataloghi e campagne in cui lo scatto deve restare riconoscibile.
Decidi l’estensione dello scambio prima di iniziare
Usa Face Swap quando acconciatura e sagoma della testa della destinazione fanno parte della composizione. Se la nuova identità deve portare con sé i capelli e l’intera forma della testa, affida il lavoro a Head Swap: scegliere l’estensione giusta evita un passaggio in più.
Parametri della richiesta
| Parametro | Obbligatorio | Nota |
|---|---|---|
image_url | Sì | L'immagine che viene modificata. Forma della testa, capelli, posa, guardaroba e sfondo di questa persona vengono preservati: vengono sostituiti solo i suoi tratti del viso. almeno 1 caratteri |
reference_image_url | Sì | L'immagine che fornisce i tratti del viso. Viene preso solo il volto, non la forma della testa né i capelli. almeno 1 caratteri |
face_mapping | No | Per le foto di gruppo: indica quale volto del riferimento va su quale volto della destinazione, una coppia per voce, con i volti numerati da 0 nell’ordine di rilevamento. al massimo 10 elementi |
style | No | Finitura del volto scambiato: realistic (predefinito) mantiene incarnato e grana naturali, beautify leviga e illumina la pelle, lossless conserva il massimo dettaglio del volto. |
face_enhance | No | Applica al volto scambiato un passaggio di miglioramento che lo restituisce a risoluzione più alta. Disattivato per impostazione predefinita. Predefinito: |
seed | No | Riusa un seed per confrontare due esecuzioni sulla stessa coppia di immagini a parità di estrazione; lascialo vuoto o imposta 0 per un'estrazione casuale ogni volta. |
Prezzi
$0.013 / immagine
Casi d’uso
Un volto nuovo per un ritratto con i capelli già a posto
Usa questo endpoint quando acconciatura, attaccatura dei capelli e sagoma della testa della foto di destinazione fanno parte della composizione e devono cambiare solo i tratti. Invia la destinazione come image_url e il volto come reference_image_url, poi confronta occhi e mandibola con l’originale a grandezza piena prima di accettare il risultato.
Cambiare persona in uno scatto di stock o generato
Prendi uno scatto in cui luce, posa e set funzionano già e inserisci un volto diverso, invece di rigenerare l’intera immagine e perdere la composizione che avevi già approvato.
Pipeline di avatar e foto profilo su larga scala
Senza prompt da scrivere, un elenco di coppie destinazione-riferimento può passare dall’endpoint in modo programmatico. Fissa un seed per coppia quando un nuovo tentativo deve restare confrontabile con il primo.
Personaggi coerenti in tutto uno shooting
Genera una serie di scene con qualsiasi modello, poi porta lo stesso volto in tutte, così la serie si legge come la stessa persona. Poiché capelli e abiti restano quelli di ciascuna immagine di destinazione, la varietà generata sopravvive al passaggio.
Consigli avanzati
Verifica di avere i diritti su entrambi i volti
Prima di qualsiasi aspetto tecnico: destinazione e riferimento ritraggono persone, e ti serve un’autorizzazione sia per il volto che sposti sia per l’immagine in cui lo inserisci. Conserva la liberatoria insieme alla scheda del lavoro.
Ospita entrambe le immagini e invia la coppia
image_url è l’immagine da modificare; reference_image_url fornisce il volto. Non c’è alcun prompt. Un editor generico avrebbe bisogno di un’istruzione come: «Face swap: take the face and hairline of the woman in the second image and place it onto the woman in the first image. Keep the first image's pose, outfit, magazine layout, lighting, framing and colour grade completely unchanged. Match skin tone and lighting so the result reads as one photograph.»; questo endpoint non ha bisogno né dell’uno né dell’altra.
Controlla il risultato prima di iterare
Entrambe le immagini devono mostrare un volto ben visibile, più o meno frontale e ben illuminato; profili accentuati, mosso, occlusioni fitte e volti molto piccoli sono i casi in cui il trasferimento peggiora o fallisce del tutto. Una grande differenza di direzione della luce o di incarnato tra le due immagini si vede sulla mandibola, quindi scegli un riferimento con una luce simile a quella della destinazione. Per impostazione predefinita viene scambiato un solo volto per immagine; in una foto di gruppo, indica le coppie in face_mapping (quale volto del riferimento va su quale volto della destinazione, numerati da 0). Non ci sono prompt, maschera né controllo dell’intensità: se il risultato è sbagliato, la soluzione è un’altra coppia di immagini, non una richiesta riformulata.
Avvio rapido dell’API
# Generate the idempotency key once; reuse it when retrying after a lost response.
export SPICY_IDEMPOTENCY_KEY="${SPICY_IDEMPOTENCY_KEY:-$(uuidgen)}"
curl -X POST https://api.spicyapi.ai/api/v1/jobs/createTask \
-H "Authorization: Bearer $SPICY_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $SPICY_IDEMPOTENCY_KEY" \
-d '{
"model": "spicyapi/face-swap-v1/edit",
"input": {
"image_url": "https://example.com/reference.png",
"reference_image_url": "https://example.com/reference.png",
"style": "realistic"
}
}'
# Copy data.taskId from the response into TASK_ID, then poll the status.
TASK_ID="TASK_ID_FROM_RESPONSE"
curl "https://api.spicyapi.ai/api/v1/jobs/recordInfo?taskId=$TASK_ID" \
-H "Authorization: Bearer $SPICY_API_KEY"
Nel riferimento dell’API trovi autenticazione, schema completo, polling e gestione degli errori.











