Black Forest Labs: FLUX.2 Flex
FLUX.2 [flex]는 조정 가능한 샘플링 단계·가이던스로 이미지 타이포그래피와 작은 시각 디테일에 특화되어 있습니다. 텍스트·이미지 참조를 사용해 프롬프트 준수와 사실성의 균형을 맞추며 포스터, 제품 레이아웃이나 정확한 수정을 개발할 수 있습니다.
모델 소개
이 설명은 모델의 기능을 다룹니다. Ailoot에서 사용할 수 있는 입력, 출력 및 옵션은 아래에 선택한 메서드별로 표시됩니다.
FLUX.2 [flex]는 타이포그래피, 글자 렌더링과 작은 디테일 보존에 특화된 Black Forest Labs의 이미지 생성·편집 버전입니다. 글로 쓴 장면 지시와 이미지 참조로 이미지를 제작합니다. 핵심 제어는 조정 가능한 샘플링입니다. 문서상 프로파일은 추론 단계·가이던스를 모두 제공해 말뿐 아니라 설정으로 시각 기획을 다듬을 수 있습니다.
글자와 세밀한 디테일
타이포그래피 작업은 실제 문구에서 시작해야 합니다. 각 줄을 인용하고 위치를 정하며 제목, 보조 텍스트·라벨을 구별하세요. 장면과 관련된 글자 스타일, 크기·색을 설명합니다. 직접 만든 포스터 기획은 옅은 스튜디오에 코발트색 자전거를 두고 프레임 위 큰 제목, 아래 작은 사양 줄을 배치할 수 있습니다. 이미지는 제품과 읽기 순서를 함께 명확하게 해야 합니다.
상세 제품 이미지에서는 문자판, 제어 라벨, 솔기, 재질 가장자리나 포장 표식처럼 결과의 유용성을 정하는 부분을 식별하세요. 읽기 쉬운 참조를 제공하고 어떤 특징을 정하는지 설명합니다. 전반적으로 비슷한 장면도 중요한 글자·구성요소를 바꿀 수 있으므로 의도한 표시 크기에서 생성 디테일을 비교하세요. 전문성은 정확한 요구를 제공할 이유이며 교정·시각 확인이 불필요해진다는 보장이 아닙니다.
단계와 가이던스의 목적
정확한 제조사 프로파일은 추론 1–50단계, 기본 50단계를 받습니다. 설명은 더 많은 단계를 높은 디테일·사실성과 연결합니다. 가이던스 범위는 1.5–10, 기본값은 5입니다. 높은 가이던스는 프롬프트 준수를 강화하지만 사실성을 줄일 수 있습니다. 정확한 디자인 지시의 이미지와 자연스러운 사진을 원하는 이미지는 이 프로파일 안에서 서로 다른 선택이 필요할 수 있습니다.
설정 변경 비교 시 문구, 참조와 출력 형태를 고정하세요. 변경 이유가 된 글자 형태, 물체 위치나 재질 질감을 봅니다. 큰 숫자가 자동으로 낫다고 취급하지 말고 구체적인 시각적 이유로 설정을 바꾸세요. 이는 제작사 샘플링 제어입니다. 4단계 증류 [klein]이나 [pro]·[max]의 표준 제어는 다른 모델 선택입니다.
[flex] 사양은 프롬프트 업샘플링을 기본으로 켜며 자체 prompt_upsampling 제어로 끌 수 있습니다. 필요할 때 상세 기획을 제공 텍스트로 유지할 수 있습니다. 제조사 공통 가이드는 부차적 장식보다 주요 피사체·중요 동작을 앞에 배치하도록 권장하며 자연어와 함께 JSON 구조 프롬프트도 설명합니다. 필요한 관계를 가장 쉽게 지정할 구조를 쓰세요.
참조 기반 수정
정확한 요청 프로파일에는 참조 이미지 위치 8개가 있습니다. 제작사 대화형 워크플로는 별도로 이미지 최대 10개를 허용하며 이는 다른 인터페이스의 수치입니다. 사진이 편집 장면, 제품, 캐릭터, 의상이나 스타일 중 무엇을 제공하는지 정의하세요. 수정에서는 물체·변경을 식별하고 유지할 주변 구도, 재질·빛을 명시합니다.
직접 만든 포장 작업은 첫 이미지의 상자와 두 번째의 마감을 쓰고 앞 라벨을 승인 문구로 교체하며 상자 비율을 유지할 수 있습니다. 단체 구도는 각 피사체에 별도 참조를 배정하고 일관되게 유지합니다. 제품군 예시는 물체·배경 변경, 합성, 글자 편집과 스타일 변환을 다룹니다. 목표가 명확한 연결된 수정 하나를 요청하고 편집 영역과 안정적으로 유지할 부분을 모두 비교하세요.
크기, 색과 반환 이미지
FLUX.2 가이드는 최소 64×64픽셀, 16의 배수 크기, 최대 4메가픽셀 출력을 문서화하며 일반 용도에는 최대 2메가픽셀을 권장합니다. 정확한 [flex] 사양은 JPEG·PNG·WebP 출력과 기본 JPEG를 명시하고 선택적 난수 시드도 제공합니다. 버전 비교 시 실제 모델, 시드·샘플링 설정을 원본 참조와 함께 보관하세요. 제품군 이름만으로 전체 생성 설정이 식별되지는 않습니다.
색이 중요한 작업에서는 각 16진수 코드를 명명된 물체·텍스트 요소와 연결하세요. 구도에서는 이미지 크기로 의도한 화면비를 지정하고 읽을 글자에 충분한 공간을 둡니다. 공통 가이드에는 네거티브 프롬프트가 없으므로 선명한 초점, 깨끗한 배경이나 문구용 명확한 빈 영역처럼 원하는 모습을 긍정형으로 설명하세요. 다국어 예시는 고정 언어 수를 보장하지 않으면서 적합한 언어로 문화적으로 구체적인 기획을 쓰도록 지원합니다.
제작사 FLUX.2 흐름은 처리 후 이미지를 반환하며 가져올 시간이 10분인 임시 서명 링크를 사용합니다. 실제 이미지·기획을 함께 보관하세요. 레이아웃에 배치하기 전에 타이포그래피, 작은 디테일, 참조 정체성과 시각 처리를 확인합니다. 최종 결과물은 다음 수정을 위해 정확한 설정을 보관한 선택 포스터, 제품 이미지나 편집 구성일 수 있습니다.
Ailoot Ultra · 이미지 POST /v1/images/generations black-forest-labs/flux.2-flex
black-forest-labs/flux.2-flex시작하기
FLUX.2 [flex]는 조정 가능한 샘플링 단계·가이던스로 이미지 타이포그래피와 작은 시각 디테일에 특화되어 있습니다. 텍스트·이미지 참조를 사용해 프롬프트 준수와 사실성의 균형을 맞추며 포스터, 제품 레이아웃이나 정확한 수정을 개발할 수 있습니다.
- 허용 입력
- 텍스트 · 이미지
- 결과
- 이미지
Ailoot에서 사용 가능 · 입력 및 메서드
Ailoot Ultra · 이미지 POST /v1/images/generations
- 입력
text,image- 출력
image
| 필드 | 유형 | 요건 | 값과 한도 | 기본값 |
|---|---|---|---|---|
필드model | 유형string | 요건필수 | 값과 한도 black-forest-labs/flux.2-flex | 기본값— |
필드prompt | 유형string | 요건필수 | 값과 한도 최소 길이: 1 | 기본값— |
필드aspect_ratio | 유형string | 요건선택 사항 | 값과 한도 1:1, 4:3, 3:4, 3:2, 2:3, 16:9, 9:16, 21:9, auto | 기본값— |
필드output_format | 유형string | 요건선택 사항 | 값과 한도 png, jpeg | 기본값— |
필드n | 유형integer | 요건선택 사항 | 값과 한도 최솟값: 1 최댓값: 1 | 기본값— |
필드input_references | 유형array | 요건선택 사항 | 값과 한도 최소 항목 수: 0 최대 항목 수: 8 | 기본값— |
필드provider | 유형object | 요건선택 사항 | 값과 한도 | 기본값— |
메서드 매개변수와 수명 주기
| 매개변수 | 명세 |
|---|---|
매개변수content_type | 명세application/json |
매개변수required | 명세model, prompt |
매개변수material_types | 명세text, image |
수명 주기: synchronous_result_then_owned_library
GET /v1/media/tasks/{task_id} · 실제로 반환된 task_id 또는 미디어 라이브러리 기록
GET /v1/media/assets/{asset_id}/content
GET /v1/media/assets
GET /v1/media/assets/{asset_id}
요금
최종 요금 계산 방식
표시된 요율은 생성 전 비용을 예상하는 데 사용됩니다. 최종 청구액은 최초 생성에 기록된 비용으로 계산됩니다. 측정된 출력 길이와 예상 수량은 최종 청구 수량이 아닙니다.
요금 정보는 요청 옵션을 추가하지 않습니다. 지원되는 매개변수는 선택한 메서드에 표시됩니다.
- 빠른 모드
- 미지정 빠른 모드를 선택한 경우
- Flex 모드
- 미지정 flex 모드를 선택한 경우
- 최대 추론 수준
- 미지정 최대 추론 수준에 default 조정값을 적용하는 경우
비교용 예상 요금
설정별 가격
각 요금을 표시된 조건과 대조하세요. 서로 대체되는 설정 묶음마다 하나의 요금만 적용하세요.
| 설정 | 요금표 | 예측 수량 | 과금 단위 | 요금 |
|---|---|---|---|---|
| 설정기본 토큰 요금 | 요금표기본 요금 | 예측 수량— | 과금 단위— | 요금 입력 · 입력 토큰 · 비교 전용 추정치 — / 1K 토큰 출력 · 출력 토큰 · 비교 전용 추정치 — / 1K 토큰 입력 · 캐시 읽기 · 비교 전용 추정치 — / 1K 토큰 입력 · 캐시 쓰기 · 비교 전용 추정치 — / 1K 토큰 입력 · 캐시 쓰기, 1시간 · 비교 전용 추정치 — / 1K 토큰 |
| 설정입력 이미지 메가픽셀 | 요금표— | 예측 수량— | 과금 단위입력 이미지 메가픽셀당 | 요금 입력 · 입력 이미지 메가픽셀 · 비교 전용 추정치 $0.12 입력 이미지 메가픽셀당 |
| 설정출력 이미지 메가픽셀 | 요금표— | 예측 수량— | 과금 단위출력 이미지 메가픽셀당 | 요금 출력 · 출력 이미지 메가픽셀 · 비교 전용 추정치 $0.12 출력 이미지 메가픽셀당 |
| 설정예상 생성 비용 | 요금표— | 예측 수량1회 생성 예상치 | 과금 단위— | 요금 출력 · 예상 생성 비용 · 비교 전용 추정치 $0.12 생성 전 추정치 이 예상 금액은 추가 요금이나 생성 완료 시 적용되는 고정 요금이 아닙니다. |
Ailoot는 요청 전에 예상 금액을 미리 확보합니다. 결과를 받은 뒤 측정된 사용량을 기준으로 최종 요금을 정산합니다. 스트리밍 정산에는 최종 사용량 기록을 사용합니다. 금액 확보와 정산 방식 →
요청 예제
Ailoot Ultra · 이미지
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p={'model': 'black-forest-labs/flux.2-flex', 'prompt': 'a red panda astronaut floating in space, studio lighting'}
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/images/generations \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import base64, json, os, subprocess
from pathlib import Path
from urllib.parse import urlsplit, urljoin
def save_images(items):
if not items: raise SystemExit("No completed images; retain the full response")
for index, item in enumerate(items):
encoded=item.get("b64_json")
uri=item.get("url", "")
if not encoded and uri.startswith("data:image/"):
header, separator, encoded=uri.partition(",")
if not separator or ";base64" not in header: raise SystemExit("Unsupported image data URI")
if encoded:
raw=base64.b64decode(encoded,validate=True)
elif uri:
uri=urljoin("https://api.ailoot.ai",uri)
parsed=urlsplit(uri)
if parsed.scheme!="https" or not parsed.netloc or parsed.username or parsed.password:
raise SystemExit("Invalid returned image URL")
owned=parsed.netloc=="api.ailoot.ai" and parsed.path.startswith("/v1/media/assets/") and parsed.path.endswith("/content")
args=["curl","--fail-with-body","--silent","--show-error",uri]
if owned: args += ["-H","Authorization: Bearer "+os.environ["AILOOT_API_KEY"]]
temporary=Path(f"image-{index}.bin")
subprocess.run(args+["-o",str(temporary)],check=True)
raw=temporary.read_bytes()
temporary.unlink()
else: raise SystemExit("Image has neither bytes nor URL")
if not raw: raise SystemExit("Empty image result")
ext="png" if raw.startswith(b"\x89PNG") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4]==b"RIFF" and raw[8:12]==b"WEBP" else "svg" if raw.lstrip().startswith((b"<svg",b"<?xml")) else "bin"
Path(f"image-{index}.{ext}").write_bytes(raw)
print("Every returned image saved; complete response metadata retained")
save_images(json.loads(Path("result.json").read_text())["data"])
PY_RESULT
결과 수신 및 저장
Ailoot Ultra · 이미지
반환된 각 이미지를 다운로드하거나 Base64 내용을 저장하세요
GET /v1/media/tasks/{task_id}GET /v1/media/assets/{asset_id}/contentGET /v1/media/assetsGET /v1/media/assets/{asset_id}
기타 콘텐츠 조회
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \
-H "Authorization: Bearer $AILOOT_API_KEY" -o owned-assets.json
# Preserve every returned asset and follow its exact signed content URL. Do not construct a signed token.
완료된 결과 모두 보관
완료된 이미지를 모두 저장하세요. 반환된 각 URL에서 가져오거나 Base64 내용을 디코딩하세요.
전체 응답과 헤더, 실제로 생성된 모든 출력, 최초로 반환된 식별자와 모든 사용량 필드를 보관하세요. 생성 요청을 다시 제출하지 말고 최초 작업을 복구하세요.
원래 응답을 확인해야 할 경우
정산 대조를 위해 반환된 X-Client-Request-ID를 보관하세요. 실제로 반환된 task_id/asset_id 값이나 소유한 미디어 라이브러리만 조회하세요. 작업 ID로 태스크 URL을 만들거나 생성 요청을 다시 제출하지 마세요.
응답 필드
| 필드 | 유형 |
|---|---|
필드created | 유형 |
필드data[].url | 유형 |
필드data[].b64_json | 유형 |
필드usage | 유형 |
별칭
모델 별칭
Ailoot Ultra black-forest-labs/flux.2-flex
메서드 경로 별칭
/v1/images
관련 호출용 ID
FAQ · Black Forest Labs: FLUX.2 Flex
- 어떤 입력과 결과를 사용할 수 있나요?
POST /v1/images/generations·black-forest-labs/flux.2-flex:text,image→image- 요청은 어떤 필드를 사용하나요?
POST /v1/images/generations·black-forest-labs/flux.2-flex:model,prompt,aspect_ratio,output_format,n,input_references,provider- 어떤 제한이 적용되나요?
POST /v1/images/generations·black-forest-labs/flux.2-flex:n.minimum:1;n.maximum:1