소개
FLUX.1 Fill Dev LoRA 인페인팅은 Black Forest Labs의 120억 파라미터 채우기 모델인 FLUX.1 Fill [dev]로 이미지 한 장의 마스크한 부분을 다시 그리며, 직접 만든 LoRA 파일을 최대 3개까지 불러옵니다. 마스크의 흰 부분은 프롬프트에 맞게 다시 칠해지고 검은 부분은 그대로 돌아옵니다. 플랫폼은 프롬프트, 가중치, 이미지 어디에도 콘텐츠 필터를 더하지 않습니다.
핵심 기능 및 하이라이트
나머지 그림은 그대로
저희 테스트에서 마스크하지 않은 영역은 손대지 않은 채 돌아왔고 전부 검은 마스크는 사진을 그대로 돌려주었으므로, 얼굴이나 방, 제품 컷은 편집 후에도 남습니다.
빛에 맞는 채우기
모델이 주변에 녹아들도록 학습되어, 실크 드레스는 작업실의 텅스텐 빛을, 후디는 스튜디오의 낮은 햇빛을 별도 프롬프트 없이도 받아들였습니다.
마스크 안에서 적용되는 직접 만든 LoRA
요청당 FLUX.1 dev LoRA를 최대 3개 불러옵니다. 픽셀 아트 LoRA는 마스크한 벽을 벽화로 바꿨고, 검열 없는 LoRA는 기본 모델이 누그러뜨린 부분까지 그려 냈습니다.
한 번 실행에 최대 4컷
같은 마스크로 1~4장을 요청해 가장 잘 나온 채우기를 고를 수 있으며 이미지당 과금됩니다.
요청 파라미터
| 파라미터 | 필수 | 설명 |
|---|---|---|
prompt | 예 | 흰 영역에 들어갈 내용을 묘사하십시오. 물건이나 옷, 소재, 비추는 빛을 적습니다. 1자 이상 · 5000자 이하 |
image_url | 예 | 다시 그릴 사진입니다. 결과는 이 사진의 화면비를 유지하며, 해상도 등급이 긴 변을 정합니다. |
mask_url | 예 | 원본과 같은 크기의 흑백 이미지로, 흰색은 다시 그리고 검은색은 유지합니다. 크기가 다른 마스크는 늘려서 맞춰지므로 원본 캔버스 위에 그리십시오. |
resolution | 아니요 | 1k는 긴 변 1,024픽셀로 기본값이고, 1.5k는 1,536픽셀입니다. 각 변은 32의 배수로 내림됩니다. |
num_outputs | 아니요 | 같은 마스크로 받을 컷의 수이며 1~4(기본값 1)입니다. 이미지마다 과금되므로 4장은 1장의 4배입니다. |
loras | 아니요 | FLUX.1 dev용으로 학습한 {path, scale} 항목을 최대 3개 넣습니다. scale은 0~4이고 1이 중립입니다. 기본값: |
guidance_scale | 아니요 | 채우기가 프롬프트를 얼마나 엄격히 따를지이며 28~35(기본값 30)입니다. 가격에는 영향이 없습니다. |
steps | 아니요 | 노이즈 제거 단계 수이며 1~50(기본값 28)입니다. 단계가 적을수록 빨리 나오고 조금 더 부드럽습니다. |
seed | 아니요 | 프롬프트나 LoRA를 바꾸는 동안 채우기 결과를 비교하기 쉽게 해 줍니다. 실행할 때마다 똑같은 픽셀이 나온다는 보장은 없습니다. |
요금
$0.042 / 장
이미지당 과금되며, 이미지 4장을 만들면 한 장의 4배입니다. 해상도 등급과 LoRA 사용은 가격을 바꾸지 않습니다.
활용 사례
패션과 의상 변경
완성된 사진에서 모델, 포즈, 세트는 촬영 그대로 두고 옷, 색, 네크라인을 바꿉니다.
리터칭
그 영역만 마스크해서 손을 다시 그리고, 물건을 지우고, 배경 요소를 바꿉니다.
장면 속 아트
벽, 캔버스, 종이 한 장을 마스크하고 스타일 LoRA로 벽화나 스케치를 그려 넣습니다.
프롬프트 가이드 및 실전 팁
흰 영역을 묘사하기
마스크 안에 들어갈 것과 그 조명을 적으십시오. 예: "a floor-length crimson silk slip dress with thin straps, catching warm tungsten light". 사진의 나머지를 다시 묘사할 필요는 없습니다.
마스크는 넉넉하게
바꾸는 것의 어깨끈, 칼라, 후드, 거울에 비친 모습까지 포함하십시오. 마스크 밖에 남은 것은 그림에 그대로 남습니다.
마스크는 원본 캔버스 위에
마스크는 사진과 같은 크기로 내보내십시오. 크기가 다른 마스크는 늘려서 맞춰지므로 흰 영역의 위치가 옮겨집니다.
여러 컷 요청하기
채우기 결과는 seed에 따라 달라집니다. 한 번에 2~4장을 받는 것이 깨끗한 가장자리를 얻는 가장 빠른 방법입니다.
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": "black-forest-labs/flux-1-fill-dev-lora/edit",
"input": {
"image_url": "https://example.com/reference.png",
"mask_url": "https://example.com/reference.png",
"num_outputs": 1,
"prompt": "A ceramic teapot on a linen cloth, soft window light, muted palette",
"resolution": "1k"
}
}'
# 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 레퍼런스에서 확인하세요.























