소개
Head Swap은 대상 이미지 속 인물의 머리 전체를 레퍼런스 사진의 머리로 바꿉니다. 얼굴, 헤어스타일, 머리색, 두상 윤곽이 모두 옮겨지고, 대상 이미지의 몸, 의상, 자세, 조명, 배경은 그대로 남습니다.
요청은 이미지 URL 두 개와 선택 항목인 seed가 전부입니다. 유지할 몸은 image_url, 머리는 reference_image_url에 넣습니다. 프롬프트도 마스크도 강도 조절도 없으며 요청당 이미지 한 장이 돌아옵니다.
핵심 기능 및 하이라이트
캐릭터의 머리를 통째로 기존 컷에 넣습니다
Head Swap은 얼굴의 정체성보다 더 많은 것을 바꿉니다. 새 캐릭터의 머리카락, 머리색, 두상 윤곽까지 함께 옮겨야 할 때 알맞은 범위입니다. 대상 이미지의 헤어스타일을 남기지 않아야 하는 캐릭터 교체, 의상 콘셉트, 연속성 작업에 유용합니다.
목 부분의 이음새가 합격 기준입니다
카메라 각도와 조명 방향이 맞고 목이 보이는 소재를 고르십시오. 결과를 받아들이기 전에 헤어라인, 귀, 턱, 목의 이음매, 그림자의 연결을 원래 크기로 확인하십시오. 두 이미지가 정말 어울리는지는 이런 경계에서 드러납니다.
조건을 맞춘 이미지 쌍으로 시작하십시오
각 이미지에 뚜렷한 인물 한 명만 두고, 심한 흐림, 가림, 극단적인 옆모습은 피하십시오. 대상 이미지 자체의 머리와 실루엣이 그 컷에 꼭 필요하다면 머리 전체 합성을 억지로 하지 말고 Face Swap을 고르십시오.
요청 파라미터
| 파라미터 | 필수 | 설명 |
|---|---|---|
image_url | 예 | 바뀌는 이미지입니다. 이 이미지의 몸과 의상, 포즈, 조명, 배경은 보존되고 목 위로는 전부 교체됩니다.JPEG, PNG, WebP를 받습니다. 1자 이상 |
reference_image_url | 예 | 머리 전체를 주는 이미지입니다. 형태와 헤어스타일, 머리색까지 포함합니다. 1자 이상 |
seed | 아니요 | 같은 seed를 다시 쓰면 같은 이미지 쌍에서 돌린 두 실행을 같은 뽑기 위에서 견줄 수 있습니다. 비워 두거나 0으로 두면 매번 무작위로 뽑습니다. |
요금
$0.013 / 장
활용 사례
얼굴만이 아니라 머리 전체 바꾸기
새 인물의 헤어스타일, 머리색, 두상 윤곽을 함께 가져와야 할 때 이 엔드포인트를 씁니다. 결과를 받아들이기 전에 헤어라인, 귀, 목의 이음매를 원래 크기로 확인하십시오. 대상 이미지의 머리를 그 컷에 남겨야 한다면 범위가 좁은 Face Swap이 알맞습니다.
마음에 드는 몸 컷에서 머리만 바꾸기
이미지의 의상, 자세, 조명이 이미 맞는다면 이미지 전체를 다시 생성하고 구도가 살아남기를 바라는 것보다 머리를 바꾸는 편이 더 싸고 결과도 예측하기 쉽습니다.
의상과 코스프레 컷
생성한 의상을 입은 몸에 캐릭터 본인의 머리와 헤어스타일을 올립니다. 메이드복, 자세, 카페 세트는 그대로 남으므로 의상 작업도 그대로 살아남습니다.
동의를 받은 얼굴이라면 어떤 장면이든
사용을 허락받은 머리를 직접 제작한 컷으로 옮깁니다. 컷에 무엇이 담겼든 상관없습니다. 엔드포인트는 이 소재를 다르게 취급하지 않습니다. 기준은 아래 제한 사항에 있는 동의 요건이며, 형식적인 절차가 아닙니다.
프롬프트 가이드 및 실전 팁
두 사람에 대한 권리부터 확인하십시오
두 이미지 모두 사람이 나오므로, 옮기는 머리와 그 머리를 넣을 이미지 모두에 대한 권한이 필요합니다. 연동 작업을 시작하기 전에 동의서를 작업 기록과 함께 보관하십시오.
각도를 맞춘 뒤 쌍으로 보내기
image_url은 유지할 몸이고 reference_image_url은 머리를 제공합니다. 범용 이미지 편집기라면 다음과 같은 지시가 필요합니다. ‘Head swap: replace the entire head of the person in the first image — face, hairstyle and hair colour — with the head from the second image, keeping the first image's body, maid outfit, pose, cafe background, lighting and colour grade unchanged. Match the neck seam, skin tone and lighting direction so the result reads as one photograph.’ 여기에는 프롬프트 필드 자체가 없습니다.
반복하기 전에 결과 확인하기
실패가 드러나는 곳은 목의 이음매입니다. 대상 이미지의 목이 높은 깃, 스카프, 머리카락에 가려 있거나 머리 각도가 레퍼런스와 크게 다르면 이음새가 보입니다. 두 소재의 조명 방향과 피부 톤을 맞추고, 비슷한 머리 각도를 고르십시오. 두 이미지 모두 잘 보이고, 대체로 정면을 향하며, 조명이 잘 든, 충분한 크기의 머리가 필요합니다. 단체 사진에서는 엔드포인트가 어느 사람을 말하는지 알 수 없습니다. 대상 이미지의 헤어스타일을 남겨야 한다면 Face Swap을 쓰십시오. 여기에는 그것을 지키는 파라미터가 없습니다. 프롬프트도 마스크도 강도 조절도 없으므로, 틀린 결과는 다른 이미지 쌍으로 바로잡습니다.
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/head-swap-v1/edit",
"input": {
"image_url": "https://example.com/reference.png",
"reference_image_url": "https://example.com/reference.png"
}
}'
# 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"
인증, 전체 스키마, 폴링과 오류 처리는 API 레퍼런스에서 확인하세요.









