메인 콘텐츠로 건너뛰기
FLUX.2 작업은 대부분 flux-2-pro로 충분합니다. 생성과 편집은 건당 과금되는 같은 JSON 엔드포인트를 쓰며, 결과 URL은 생성 10분 후 만료되므로 곧바로 내려받아야 합니다. 세 모델 모두 요청 형식이 같습니다.

시작하기 전에

1

API 키 발급

FLUX.2 모델은 건당 과금입니다. 토큰 관리에서 API 키(콘솔에서는 ‘토큰’이라고 부릅니다)를 새로 만들거나 기존 키를 편집해 과금 방식(计费模式)을 사용량 우선(按量优先, 권장) 또는 건당 과금(按次计费)으로 설정합니다. 사용량 우선 키는 건당 과금 모델과 사용량 과금 모델을 모두 호출할 수 있고, 건당 과금 키는 건당 과금 모델만 호출할 수 있습니다.키는 서버 측 환경 변수에 보관하세요.토큰 관리에서 과금 방식을 건당 과금(按次计费)으로 설정하고 만들기를 눌러 토큰을 생성하는 화면
2

환경 설정

키를 환경 변수로 설정하고, Python 예제에서 쓰는 requests를 설치합니다.

이미지 생성

1792×1024 가로 이미지를 만들고 응답을 flux-generation.json에 저장하는 요청입니다.

결과 저장

응답의 data[0].url은 이미지 생성 10분 후 만료되므로 바로 내려받으세요. FLUX는 URL만 반환하고 b64_json은 반환하지 않습니다. 아래 스크립트를 save_images.py로 저장하면 응답의 모든 이미지를 내려받으며, 다른 이미지 모델이 반환하는 b64_json도 디코딩합니다.
save_images.py
스크립트는 저장 완료: flux-robot-1.jpg를 출력합니다. output_format을 png로 설정하지 않으면 FLUX.2는 JPEG를 반환합니다.

Python으로 생성하기

출력 크기

출력 크기는 OpenAI 방식의 size 문자열로 정하거나, width와 height를 픽셀로 지정합니다. 둘 중 하나만 쓰세요. width와 height는 16의 배수이고 64픽셀 이상이어야 하며, 전체 픽셀은 약 4메가픽셀(예: 2048×2048)을 넘을 수 없습니다. 편집에서도 같은 크기 필드를 씁니다.

이미지 편집

같은 JSON 요청에 input_image를 추가하면 텍스트만으로 생성하는 대신 이미지를 편집합니다. 다음은 공개 이미지의 주제는 유지하고 배경만 바꾸는 최소 편집 예제입니다.
참조 이미지 여러 장은 이 엔드포인트의 JSON 필드로만 보낼 수 있습니다. 로컬 파일, 최대 8장의 참조 이미지, Python 헬퍼, 편집 프롬프트 작성법은 FLUX.2 편집을 참고하세요.

파라미터

레거시 호환: FLUX Kontext

flux-kontext-pro(호출당 $0.035)와 flux-kontext-max(호출당 $0.07)는 기존 연동을 위해 계속 제공됩니다. 엔드포인트는 같고, 다음 점이 다릅니다.
  • size 대신 aspect_ratio 필드를 받습니다. OpenAI Python SDK에서는 extra_body로 전달합니다.
  • 3:7부터 7:3까지 어떤 비율이든 쓸 수 있으며, 출력은 약 1메가픽셀로 유지됩니다.
자주 쓰는 비율과 대략적인 출력 크기입니다. 새로 생성이나 편집 작업을 만든다면 FLUX.2를 쓰세요.

자주 묻는 질문

BFL API처럼 결과를 폴링해야 하나요?

아닙니다. BFL API는 작업 ID와 polling_url을 반환하고, 상태가 Ready가 될 때까지 폴링해야 합니다. LaoZhang API는 같은 요청 안에서 이미지가 완성되기를 기다렸다가 data[0].url로 반환합니다. 대신 클라이언트 타임아웃을 넉넉하게 잡으세요. Python 예제는 240초를 씁니다. 요청이 리버스 프록시나 서버리스 함수를 거친다면 그쪽의 타임아웃이나 실행 시간 제한도 늘려야 이미지가 완성되기 전에 연결이 끊기지 않습니다.

이미지 URL이 왜 열리지 않나요?

결과 URL은 생성 10분 후 만료되며, BFL 자체 결과 링크와 유효 기간이 같습니다. 요청이 끝나는 즉시 서버에서 이미지를 내려받아 자체 저장소에 보관하고, 데이터베이스나 프런트엔드에는 그 주소를 넘기세요. 배치 작업에서는 전체 배치가 끝나기를 기다리지 말고 요청이 끝날 때마다 결과를 내려받으세요. 다운로드가 밀리지 않도록 동시 요청 수도 적당히 낮게 유지하세요. 만료된 URL은 갱신할 수 없습니다. 요청을 다시 보내야 하며, 이는 새 호출로 과금됩니다.

같은 결과를 다시 얻으려면 어떻게 하나요?

같은 모델, 프롬프트, 크기에 같은 seed를 보내세요. 디자인 하나를 조금씩 다듬을 때 유용합니다.

텍스트와 브랜드 색상을 정확하게 넣으려면 어떻게 하나요?

포스터, 인포그래픽, UI 목업처럼 텍스트가 많은 이미지는 flux-2-flex부터 써 보세요. BFL은 이 모델을 텍스트 렌더링과 작은 디테일용으로 소개합니다. 최고 품질과 가장 충실한 프롬프트 반영이 필요하면 flux-2-max를 쓰세요. 브랜드 색상을 맞추려면 the mug is #FF5A1F처럼 프롬프트에 hex 코드를 넣으세요. 복잡한 장면은 피사체, 배경, 조명, 스타일을 JSON 문자열로 작성해 prompt로 보낼 수도 있습니다.

실패한 요청도 과금되나요?

과금되지 않습니다. FLUX.2는 건당 과금이므로 이미지가 반환된 요청만 한 번 과금되고, 파라미터 오류나 모더레이션 차단처럼 200이 아닌 응답은 과금되지 않습니다. 클라이언트 타임아웃은 실패와 다릅니다. 서버에서는 이미지가 완성되어 과금되었을 수 있으니, 다시 보내기 전에 호출 로그를 확인하세요. 실제 청구 내역의 최종 기준은 호출 로그입니다.

OpenAI SDK를 쓸 수 있나요?

네. client.images.generate()를 사용합니다.
  • base_url을 https://api.laozhang.ai/v1로 설정합니다.
  • model, prompt, size는 평소처럼 전달합니다.
  • width, height, seed 같은 FLUX 전용 필드는 extra_body에 넣습니다.
이미지 URL은 response.data[0].url에 있으니 바로 내려받으세요. 편집도 client.images.generate()를 쓰고 input_image를 extra_body에 넣습니다. client.images.edit()는 이미지를 한 장만 받습니다. 자세한 내용은 FLUX.2 편집의 자주 묻는 질문을 참고하세요.

관련 문서