소개
FLUX.1 Dev ControlNet LoRA 텍스트→이미지는 Black Forest Labs의 120억 파라미터 모델 FLUX.1 [dev]로 이미지를 만들며, Shakker Labs의 ControlNet Union Pro 2.0이 이끌고 직접 만든 LoRA 파일을 최대 3개까지 불러옵니다. 제어 이미지 한 장이 포즈, 깊이, 윤곽을 고정하고, 누가 어떤 모습으로 나올지는 프롬프트가 정합니다. 플랫폼은 프롬프트, 가중치, 이미지 어디에도 콘텐츠 필터를 더하지 않습니다.
핵심 기능 및 하이라이트
하나의 네트워크, 다섯 종류의 맵
Canny 선, soft edge, 깊이, 포즈 스켈레톤, 흑백 사진이 모두 같은 엔드포인트에서 동작합니다. 모드 전환 스위치는 없고, 모델이 보내 주신 맵을 그대로 읽습니다.
강도와 타이밍 조절
제어 강도(0~1)가 맵을 얼마나 단단히 따를지를 정하고, 제어 구간의 시작과 끝이 노이즈 제거 과정 중 언제 적용될지를 정합니다.
직접 만든 LoRA
요청당 FLUX.1 dev LoRA를 최대 세 개까지 불러올 수 있습니다. 포즈 스켈레톤과 함께 쓴 필터 없는 LoRA는 저희 테스트에서 강함 단계까지 결과를 냈습니다.
한 번 실행에 최대 4장
같은 맵으로 1~4장을 요청할 수 있으며 이미지당 과금됩니다.
요청 파라미터
| 파라미터 | 필수 | 설명 |
|---|---|---|
prompt | 예 | 원하는 그림을 인물, 의상, 배경, 빛으로 묘사하십시오. 제어 이미지는 구도만 정합니다. 1자 이상 · 5000자 이하 |
control_image_url | 예 | 제어 맵입니다. 포즈 스켈레톤, 깊이 맵, canny나 soft-edge 선화, 흑백 사진 또는 일반 사진을 넣을 수 있습니다. |
control_strength | 아니요 | 결과가 제어 맵을 얼마나 강하게 따를지이며 0~1(기본값 0.7)입니다. 포즈 맵은 0.9 안팎이 잘 맞았고, 0.3에서는 저희 포즈가 무시되었습니다. |
control_guidance_start | 아니요 | 노이즈 제거 과정에서 맵이 적용되기 시작하는 지점이며 0~1(기본값 0)입니다. 끝 지점보다 늦을 수 없습니다. |
control_guidance_end | 아니요 | 노이즈 제거 과정에서 맵의 적용이 끝나는 지점이며 0~1(기본값 0.8)입니다. 포즈 맵은 0.65 안팎으로 일찍 끝내면 세부가 더 자유로워집니다. |
resolution | 아니요 | 1k는 긴 변 1,024픽셀로 기본값이고, 1.5k는 1,536픽셀이며 모두 제어 이미지의 화면비를 따릅니다. 가격은 같습니다. |
num_outputs | 아니요 | 같은 맵으로 만들 이미지 수이며 1~4(기본값 1)입니다. 이미지마다 과금되므로 4장은 1장의 4배입니다. |
loras | 아니요 | FLUX.1 dev용으로 학습한 {path, scale} 항목을 최대 3개 넣습니다. scale은 0~4이고 1이 중립입니다. 기본값: |
guidance_scale | 아니요 | 이미지가 프롬프트를 얼마나 따를지이며 0~20(기본값 3.5)입니다. 가격에는 영향이 없습니다. |
steps | 아니요 | 노이즈 제거 단계 수이며 1~50(기본값 28)입니다. 단계가 적을수록 빨리 나오고 조금 더 부드럽습니다. |
output_format | 아니요 | 기본은 JPEG이며 PNG나 WebP도 고를 수 있습니다. 형식은 가격에 영향이 없습니다. |
seed | 아니요 | 강도나 LoRA를 바꾸는 동안 결과를 비교하기 쉽게 해 줍니다. 실행할 때마다 똑같은 픽셀이 나온다는 보장은 없습니다. |
요금
$0.036 / 장
이미지당 과금되며, 이미지 4장을 만들면 한 장의 4배입니다. 해상도 등급, 출력 형식, LoRA 사용은 가격을 바꾸지 않습니다.
활용 사례
포즈 맞추기
스켈레톤을 한 번 추출하거나 그려 두면 어떤 인물과 의상으로도 같은 포즈를 그릴 수 있습니다.
사진 다시 연출하기
사진의 canny, soft-edge, 흑백 맵으로 구도를 유지하면서 출연자, 의상, 조명을 바꿉니다.
같은 레이아웃의 시리즈
제어 맵을 재사용하면 한 세트의 모든 이미지가 같은 프레이밍을 갖습니다.
프롬프트 가이드 및 실전 팁
바꾸고 싶은 것에 따라 맵 고르기
포즈 스켈레톤은 옷차림을 프롬프트에 맡깁니다. 깊이 맵과 선 맵은 원본 사진에서 따온 옷의 주름을 그대로 유지하며, 저희 테스트에서 모델은 프롬프트보다 그 주름을 따랐습니다.
권장 설정에서 시작하기
Shakker Labs는 canny와 soft edge에 강도 0.7과 구간 끝 0.8, 깊이에 0.8, 포즈 맵에 약 0.9와 구간 끝 0.65를 권장합니다.
화면비 맞추기
출력은 제어 이미지의 모양을 따릅니다. 맵을 보내기 전에 원하는 프레임으로 잘라 두십시오.
LoRA의 기본 모델 확인하기
FLUX.1 dev LoRA만 동작합니다. 다른 모델 계열의 LoRA는 무시되지 않고 요청이 실패합니다.
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-dev-controlnet-lora/text-to-image",
"input": {
"control_image_url": "https://example.com/reference.png",
"num_outputs": 1,
"output_format": "jpeg",
"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 레퍼런스에서 확인하세요.
























