Wprowadzenie
Face Swap przenosi rysy twarzy z jednego obrazu na osobę na innym. Przenoszą się tylko rysy: fryzura, linia włosów, sylwetka głowy, poza, strój, światło i tło obrazu docelowego zostają bez zmian. Właśnie dlatego wynik osadza się w oryginalnym zdjęciu, a nie leży na nim jak naklejka.
Żądanie to dwa URL-e obrazów i opcjonalny seed: image_url to zdjęcie, które zmieniasz, a reference_image_url dostarcza twarz. Nie ma pola promptu do wypełnienia, a każde żądanie zwraca jeden obraz.
Najważniejsze funkcje
Ujęcie zostaje, zmienia się tożsamość
To wąski wybór na sytuację, gdy zdjęcie docelowe ma już właściwe włosy, pozę, strój, kadr i otoczenie. Przenoszona jest tożsamość twarzy, a reszta zatwierdzonej kompozycji zostaje chroniona, więc zmiana osoby nie zamienia się w pełną generację obrazu.
Zbudowany z myślą o powtarzalnych parach obrazów
Przebieg jest celowo prosty: przygotuj obraz docelowy i referencję z uregulowanymi prawami, o zgodnym kącie i świetle, a potem sprawdź linię żuchwy, oczy i przejście skóry. Dzięki temu endpoint sprawdza się przy kontrolowanych wariantach awatarów, katalogów i kampanii, w których ujęcie musi pozostać rozpoznawalne.
Ustal zakres zamiany, zanim zaczniesz
Używaj Face Swap, gdy fryzura i sylwetka głowy obrazu docelowego są częścią kompozycji. Jeśli nowa tożsamość ma przynieść ze sobą włosy i cały kształt głowy, skieruj zadanie do Head Swap; właściwy zakres oszczędza niepotrzebnego drugiego przebiegu.
Parametry żądania
| Parametr | Wymagane | Uwaga |
|---|---|---|
image_url | Tak | Obraz, który się zmienia. Kształt głowy, włosy, poza, kostium i tło tej osoby zostają zachowane – podmieniane są wyłącznie jej rysy twarzy. od 1 znaków |
reference_image_url | Tak | Obraz dostarczający rysy twarzy. Brana jest tylko twarz, nie kształt głowy ani włosy. od 1 znaków |
face_mapping | Nie | Do zdjęć grupowych: wskaż, która twarz z referencji trafia na którą twarz w obrazie docelowym – jedna para na pozycję, twarze numerowane od 0 w kolejności wykrycia. do 10 elementów |
style | Nie | Wykończenie podmienionej twarzy: realistic (domyślnie) zachowuje naturalny odcień i fakturę skóry, beautify wygładza i rozjaśnia skórę, lossless zachowuje najwięcej szczegółów t… |
face_enhance | Nie | Uruchamia na podmienionej twarzy przebieg poprawy, który daje twarz w wyższej rozdzielczości. Domyślnie wyłączone. Domyślnie: |
seed | Nie | Użyj ponownie tego samego seeda, żeby porównać dwa przebiegi na tej samej parze obrazów przy identycznym losowaniu; zostaw pole puste albo ustaw 0, żeby losować za każdym razem. |
Cennik
$0.013 / obraz
Zastosowania
Nowa twarz do portretu, w którym włosy już się zgadzają
Używaj tego endpointu, gdy fryzura, linia włosów i sylwetka głowy na zdjęciu docelowym należą do kompozycji, a zmienić mają się tylko rysy. Wyślij obraz docelowy jako image_url, a twarz jako reference_image_url, i zanim przyjmiesz wynik, porównaj oczy i linię żuchwy ze źródłem w pełnym rozmiarze.
Zmiana osoby na zdjęciu stockowym lub wygenerowanym
Weź ujęcie, w którym światło, poza i scenografia już działają, i wstaw w nie inną twarz, zamiast generować cały obraz od nowa i tracić zatwierdzoną kompozycję.
Masowe pipeline’y awatarów i zdjęć profilowych
Skoro nie ma promptu do napisania, listę par obraz docelowy–referencja można przepuścić przez endpoint programowo. Przypnij seed dla pary, gdy ponowna próba ma być porównywalna z pierwszą.
Spójne postacie w całej sesji
Wygeneruj serię scen dowolnym modelem, a potem przenieś jedną twarz na wszystkie, żeby seria czytała się jako ta sama osoba. Ponieważ włosy i strój zostają przy każdym obrazie docelowym, wygenerowana różnorodność przetrwa ten krok.
Wskazówki
Upewnij się, że masz prawa do obu twarzy
Zanim zajmiesz się techniką: obraz docelowy i referencja przedstawiają ludzi, a ty potrzebujesz zgody zarówno na przenoszoną twarz, jak i na obraz, do którego ją przenosisz. Przechowuj zgodę razem z dokumentacją zadania.
Udostępnij oba obrazy i wyślij parę
image_url to obraz, który zmieniasz; reference_image_url dostarcza twarz. Prompt nie bierze w tym udziału. Ogólny edytor obrazów potrzebowałby polecenia w rodzaju: „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.” Ten endpoint nie potrzebuje ani jednego, ani drugiego.
Sprawdź wynik, zanim zaczniesz iterować
Oba obrazy powinny pokazywać wyraźnie widoczną, mniej więcej frontalną i dobrze oświetloną twarz; mocne ujęcia z profilu, rozmycie ruchu, gęste zasłonięcia i bardzo małe twarze to sytuacje, w których przenoszenie słabnie albo całkiem zawodzi. Duża różnica kierunku światła lub odcienia skóry między obrazami widać na linii żuchwy, więc wybierz referencję o świetle zbliżonym do obrazu docelowego. Domyślnie na obraz podmieniana jest jedna twarz; przy zdjęciu grupowym wpisz pary w face_mapping (która twarz z referencji trafia na którą twarz docelową, numeracja od 0). Nie ma promptu, maski ani ustawienia siły: jeśli wynik jest zły, pomoże inna para obrazów, a nie przeredagowane żądanie.
Szybki start z 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"
Uwierzytelnianie, pełny schemat, odpytywanie i obsługę błędów opisuje dokumentacja API.











