본문으로 건너뛰기

Face Swap은 SpicyAPI의 이미지 얼굴 교체입니다. 레퍼런스 사진의 얼굴 특징만 대상 이미지에 옮기고 대상의 머리 모양·헤어·포즈·배경은 그대로입니다. 이미지 URL 두 개와 선택 seed를 보내며 프롬프트는 없습니다.

최저가 $0.013/장

플레이그라운드

입력

이미지 편집
1/1

파일이나 미디어 링크를 끌어오거나 붙여넣기 또는 선택 · 파일 1개 · 개당 최대 10 MB · JPG · PNG · WEBP

  • 1
파일 1 / 1개
바뀌는 이미지입니다. 이 인물의 두상과 헤어, 포즈, 의상, 배경은 보존되고 이목구비만 교체됩니다. 1자 이상
1/1

파일이나 미디어 링크를 끌어오거나 붙여넣기 또는 선택 · 파일 1개 · 개당 최대 10 MB · JPG · PNG · WEBP

  • 1
파일 1 / 1개
이목구비를 주는 이미지입니다. 가져오는 건 얼굴뿐이고 두상이나 헤어는 아닙니다. 대상과 비슷한 방향에서 빛을 받은 사진을 고르세요. 1자 이상
얼굴 매칭0/10
단체 사진용입니다. 레퍼런스의 어느 얼굴을 대상의 어느 얼굴에 넣을지 항목마다 한 쌍씩 적으며, 얼굴 번호는 검출 순서대로 0부터 셉니다. 생략하면 얼굴 하나만 바꿉니다. 가격에는 영향이 없습니다. 10개 이하
스타일
realisticbeautifylossless
바꾼 얼굴의 마감 방식입니다. realistic(기본값)은 자연스러운 피부 톤과 질감을 유지하고, beautify는 피부를 매끈하고 밝게 하며, lossless는 얼굴 디테일을 가장 많이 보존합니다. 가격에는 영향이 없습니다.
얼굴 보정
바꾼 얼굴에 얼굴 보정 단계를 한 번 더 적용해 더 높은 해상도로 만듭니다. 기본값은 꺼짐입니다. 가격에는 영향이 없습니다.
시드
같은 seed를 다시 쓰면 같은 이미지 쌍에서 돌린 두 실행을 같은 뽑기 위에서 견줄 수 있습니다. 비워 두거나 0으로 두면 매번 무작위로 뽑습니다. 비교를 위한 값이지 똑같은 결과를 보장하지는 않습니다. 0 이상 · 2147483647 이하
안전 검사꺼짐

SpicyAPI는 이 모델에 안전 검사를 적용하지 않습니다. 프롬프트와 소재는 작성한 그대로 모델에 전달되며, 결과는 모델 자체가 결정합니다.

제출과 가격 계산을 열기 전에 계정을 확인하고 있습니다.

출력

실행 대기
silver-bob-recast샘플 결과

관련 모델과 다음 단계

찾는 모델이 없나요?

필요한 모델과 쓰려는 목적을 알려 주세요. 다음에 무엇을 추가할지 정하는 팀에 바로 전달됩니다.

필드 세 개짜리 엄격한 스키마, 이미지 한 장을 돌려받습니다

Face Swap 편집 API는 image_url에 대상 이미지를, reference_image_url에 옮겨 붙일 얼굴을 받아 얼굴 특징을 이식한 이미지 한 장을 반환합니다. 스키마가 받는 필드는 이 둘 외에 seed 하나뿐이고, 그 외 필드가 섞이면 검증에서 막힙니다. 각 이미지 필드는 공개 HTTPS URL, 업로드로 받은 파일 URI, 인라인 데이터 URI 중 하나를 받습니다.

플레이그라운드 열기
필드 세 개짜리 엄격한 스키마, 이미지 한 장을 돌려받습니다
필수 필드
image_url(대상)과 reference_image_url(얼굴)
선택 필드
seed, 0부터 2,147,483,647까지의 정수
이미지 전달 방식
공개 HTTPS URL, 업로드 파일 URI, 인라인 데이터 URI
허용 형식
두 이미지 필드 모두 JPEG, PNG, WebP
작업 마감
1,800초, 넘기면 작업이 만료됨
과금
출력 이미지 장당 과금, 단일 가격 구간, 고를 변형 없음
검증
정의되지 않은 필드는 작업이 되기 전에 막힙니다스키마는 세 필드만 명시하고 additionalProperties를 false로 둡니다. 다른 모델의 요청 바디에서 넘어온 strength 값이나 prompt 문자열 같은 키가 섞이면 해당 필드를 지목한 400 오류가 돌아옵니다. 조용히 무시되고 넘어가는 필드는 없습니다.
Seed
seed는 부호 있는 32비트 범위 전체를 받습니다0부터 2,147,483,647까지 어떤 정수든 받습니다. 같은 이미지 쌍에 같은 값을 두 번 넘기면 두 번의 실행을 비교할 수 있을 만큼 결과가 안정되지만, 두 이미지가 완전히 같게 나온다는 보장은 아닙니다. 값을 비우면 매번 무작위로 뽑습니다.
마감
1,800초는 상한이지, 예상 대기 시간이 아닙니다각 작업은 접수 시점부터 1,800초의 마감을 가지며, 작업 레코드의 deadlineAt에 그대로 표시됩니다. 그 시점까지 끝나지 않은 작업은 이미지를 반환하지 않고 만료로 종료됩니다. 폴링 주기는 사진 한 쌍의 예상 처리 시간이 아니라 이 숫자에 맞춰 설계하세요.

Face Swap API는 무엇을 잘하나

요청 바디 전체가 키 세 개입니다

요청 바디 전체가 키 세 개입니다

image_url과 reference_image_url은 필수, seed는 선택이며 그게 전부입니다. 맞출 강도 다이얼도 없고 칠할 영역도 없어서, 같은 요청 형태로 스튜디오 인물 사진과 전신 프레임을 동시에 처리할 수 있고, 배치 실행기는 작업마다 URL 두 개만 바꾸면 됩니다.

두 이미지의 포맷 선택은 서로 독립적입니다

두 이미지의 포맷 선택은 서로 독립적입니다

image_url과 reference_image_url은 각각 JPEG, PNG, WebP를 독립적으로 받습니다. WebP 대상 이미지에 JPEG 얼굴 참조를 붙이는 조합도 형식이 맞춘 조합만큼 유효하고, 호출 전에 파일을 변환할 필요가 없습니다.

  • 이미지 필드는 링크, 업로드, 인라인 바이트 모두 받습니다

    공개 HTTPS 링크는 별도 호출이 필요 없습니다. 파일을 플랫폼에 먼저 업로드해 업로드 티켓과 커밋을 거친 뒤 돌아온 URI로 참조할 수도 있습니다. 작은 이미지는 디코딩 후 1,048,576바이트, 변당 8,192픽셀 이하 범위에서 데이터 URI로 인라인 전달할 수 있습니다.

  • 작업 하나에 이미지 한 장

    완료된 작업은 플랫폼 저장소에서 이미지 자산 하나만 제공하며, 스키마에는 개수나 배치를 요청할 필드가 없습니다. 사진 열 쌍이 필요하면 작업도 열 개, 각각 고유한 ID와 폴링 상태를 가지므로 한 쌍의 실패가 나머지 아홉 쌍을 막지 않습니다.

  • 재실행에서 진가를 발휘하는 seed

    seed를 비우거나 0을 보내면 호출마다 새 값을 뽑습니다. 값을 지정해 둬야 하는 경우는 같은 쌍에 대한 이후 실행을 앞선 실행과 비교해야 할 때입니다. 예를 들어 조명이 더 좋은 참조 사진으로 바꿔 넣은 뒤 확인할 때요. 단발성 호출이라면 이 필드는 생략해도 됩니다.

  • 작업을 폴링하거나 콜백을 받으세요

    모든 요청은 비동기로 처리됩니다. 작업 생성 응답은 queued 상태의 작업 ID를 돌려주고, 이후 작업이 마무리될 때까지 폴링하거나 생성 요청에 callBackUrl을 넘겨 그쪽에서 최종 결과를 받을 수 있습니다. 서명된 결과 링크가 실려 오므로 이 URL은 공개 HTTPS여야 합니다.

Face Swap API는 누구를 위한 것인가

  • 템플릿 엔진 없이 하드코딩해도 되는 작은 스키마

    백엔드 통합 엔지니어

    템플릿 엔진 없이 하드코딩해도 되는 작은 스키마

    채울 값이 image_url, reference_image_url, seed뿐이라 요청 바디에 템플릿 엔진이나 동적 필드 목록이 필요 없습니다. 변수 세 개를 JSON 객체에 바로 꽂아 넣으면 이 엔드포인트가 받는 모든 호출을 커버합니다.

  • 이미 조명과 구도가 맞춰진 촬영본으로 룩을 테스트

    이커머스와 카탈로그 팀

    이미 조명과 구도가 맞춰진 촬영본으로 룩을 테스트

    기존 제품 사진(옷 핏, 포즈, 배경)은 image_url에 그대로 두고 reference_image_url에 다른 모델의 얼굴만 넣습니다. 다른 사람이 화면에 있을 때 리스팅이 어떻게 보이는지 확인하려고 촬영을 다시 잡을 필요가 없습니다.

  • 다른 곳에서 만든 프레임들에 한 얼굴을 이어 붙이기

    캐릭터·아바타 플랫폼

    다른 곳에서 만든 프레임들에 한 얼굴을 이어 붙이기

    별도의 이미지 모델로 만든 장면 세트에 같은 reference_image_url을 각 프레임에 순서대로 돌려 하나의 정체성을 나중에 입힐 수 있습니다. 쌍마다 작업 하나씩이고, 앞선 배치와 맞춰야 할 재실행에는 seed를 고정하세요.

  • 피사체의 실제 얼굴 없이 이미지를 공개하기

    프라이버시·익명화 워크플로

    피사체의 실제 얼굴 없이 이미지를 공개하기

    대상 사진은 공개해도 되지만 피사체의 실제 신원은 드러나면 안 될 때, reference_image_url에 합성 얼굴이나 사용 허가를 받은 대체 얼굴을 넣을 수 있습니다. 아래 FAQ의 사용 권한 규칙은 두 이미지 모두에 똑같이 적용됩니다.

Face Swap API 쓰는 방법

  1. 각 이미지를 어떻게 전달할지 정합니다

    image_url과 reference_image_url은 문자열이므로 공개 HTTPS 링크, 플랫폼 업로드에서 받은 파일 URI, 요청에 인라인으로 담는 데이터 URI 중 하나가 필요합니다. 두 필드 모두 JPEG, PNG, WebP를 받습니다.

  2. 스키마가 정의한 필드만 보냅니다

    요청 바디는 image_url, reference_image_url, 그리고 필요하면 seed로 구성하세요. additionalProperties가 false라서 그 외 키는 검증에서 실패하므로, 다른 엔드포인트의 요청 바디에서 남은 필드는 보내기 전에 제거하세요.

  3. 견적으로 새 통합을 시험 실행합니다

    견적 엔드포인트는 작업을 만들거나 자금을 예약하지 않고 작업 생성과 같은 입력 검증·승인 심사를 돌립니다. 반환되는 서명된 견적은 5분 동안 유효하며, 요청 바디 형태가 맞는지 확인하는 가장 빠른 방법입니다.

  4. 제출한 뒤 폴링하거나 콜백을 받습니다

    요청을 보내고 돌아온 작업 ID를 보관하세요. 작업이 종료 상태에 도달할 때까지 폴링하거나 callBackUrl을 등록해 전달을 기다립니다. Idempotency-Key를 쓰면 재시도가 새 작업을 만드는 대신 원래 작업을 그대로 반환합니다.

  5. 출력 이미지 한 장을 가져옵니다

    성공한 작업은 플랫폼 저장소에서 서비스되는 이미지 자산 하나만 제공합니다. 개수 필드가 없으므로 출력이 늘어난다는 것은 작업이 늘어난다는 뜻입니다. 대상·참조 쌍마다 하나씩, 각각 따로 폴링하고 과금됩니다.

Face Swap 실제 예시

  • 당일 제품 재촬영

    리테일러가 이미 조명을 맞춰 촬영한 한 모델의 제품 사진을 보유하고 있는데, 승인받은 두 번째 모델로 동일한 컷을 보여줘야 합니다. image_url은 원본 사진 그대로 두고 reference_image_url에 두 번째 모델의 얼굴 사진을 넣습니다. 작업은 포즈, 의상, 조명은 그대로인 이미지 한 장을 반환합니다.

  • 얼굴 하나를 공유하는 아바타 프레임 열 장

    이미지 모델로 따로 생성한 대상 프레임 열 장에 같은 reference_image_url을 순서대로 적용합니다. 작업 열 개, 얼굴은 하나로 공유됩니다. 배치 전체에 seed 값 하나를 고정해 두면 어느 프레임을 재실행해도 첫 실행과 비교할 수 있습니다.

  • 연결이 끊겨도 살아남는 배치 실행기

    각 쌍은 두 소스 ID에서 유도한 Idempotency-Key와 함께 나갑니다. 제출 도중 연결이 끊겨 실행기가 재시도하면 그 키가 새 작업을 여는 대신 원래 작업을 그대로 반환하므로, 재시작한 배치가 이미 보낸 쌍에 두 번 비용을 치르지 않습니다.

Face Swap API 자주 묻는 질문

쓸 프롬프트가 없으므로 통합 작업의 대부분은 입력값과 배관 설계입니다. 이미지를 어떻게 전달할지 미리 정하세요. HTTPS 링크는 별도 호출이 필요 없고, 업로드는 티켓과 커밋이 필요하며, 데이터 URI는 디코딩 후 1,048,576바이트 이하로 유지해야 합니다. 실제 호출에 비용을 쓰기 전에 첫 요청 바디를 견적으로 먼저 통과시키고, 비교할 재실행을 위해 seed를 남겨 두고, 생성 요청마다 Idempotency-Key를 함께 보내세요.

이 시리즈의 모델4

이미지 모델3