Recraft: Recraft V4.1 Utility
Recraft V4.1 Utility는 단순한 제품 사진, 목업, 간단한 장면을 위한 1K 래스터 이미지를 생성합니다. 균일한 조명과 정면 구도를 선호하며, 텍스트 프롬프트와 선택 사항인 이미지 또는 스타일 입력으로 예측 가능한 시각적 방향을 설정할 수 있습니다.
모델 소개
이 설명은 모델의 기능을 다룹니다. Ailoot에서 사용할 수 있는 입력, 출력 및 옵션은 아래에 선택한 메서드별로 표시됩니다.
Recraft V4.1 Utility는 Recraft V4.1 제품군의 표준 래스터 Utility 모델입니다. 기본 V4.1 모델의 표현력 있는 각도, 조명, 분위기 선택보다 단순한 장면, 균일한 조명, 정면 구도를 선호합니다. 제품과 필요한 디테일이 중심이 되어야 하는 선명한 제품 사진이나 목업에 실용적으로 활용할 수 있습니다. 이 Utility 에디션은 Utility Pro, 기본 V4.1 모델, SVG를 생성하는 벡터 변형과 구분됩니다.
제작사의 모델 코드는 recraftv4_1_utility입니다. 지원되는 종횡비에 따라 크기를 선택하며, 무손실 WebP 또는 PNG 형식의 1K 래스터 이미지를 반환합니다. 정사각형은 1024 × 1024픽셀, 4:3 이미지는 1216 × 896픽셀입니다. Pro Utility 에디션은 더 큰 2K 크기를 사용하므로 해당 출력 크기를 표준 Utility에 적용해서는 안 됩니다. 장면을 설명하기 전에 상품 페이지나 목업에 사용할 이미지 형태를 선택하세요.
유용한 작업 지시서는 제품, 시점, 소재, 바닥면, 배경, 조명을 명확하게 제시합니다. 상품 페이지용이라면 옅은 배경에 보온병을 정면으로 배치하고, 전체 윤곽이 보이도록 균일하게 조명하며, 시선을 분산시키는 장면 요소는 없도록 요청할 수 있습니다. 제품에 실제 치수나 특징적인 부품이 있다면 이를 구체적으로 제공하세요. Utility가 단순한 표현을 선호한다고 해서 지시서에 없는 실제 제품의 사실까지 알아내는 것은 아닙니다.
생성 시 최대 10,000자의 프롬프트, 선호 색상 및 배경색 설정, 난수 시드, 1~6개의 출력을 지원합니다. 선택 사항인 호환 사용자 지정 스타일이나 참조 이미지로 카탈로그의 시각적 언어를 정할 수 있습니다. 조명과 렌더링이 서로 일치하는 참조 자료를 사용하고, 후속 제품 지시서에서도 동일한 호환 스타일을 유지하세요. 참조 이미지와 출력 간의 정확한 색상 일치는 보장되지 않으므로 최종 이미지를 요구 팔레트와 비교해야 합니다. 참조 스타일 생성에는 PNG, JPG 또는 WebP 이미지 1~10개를 사용하며, 총용량은 64 MB 이하, 각 파일은 20 MB 미만이어야 합니다. 각 참조 이미지의 짧은 변은 최소 256픽셀, 긴 변은 최대 4,096픽셀, 해상도는 최대 16메가픽셀이어야 합니다. 이러한 참조 이미지와 호환되는 저장 스타일 중 하나만 사용하고 둘을 함께 사용하지 마세요. 참조 스타일 생성에서 flexible 매칭은 더 자유로운 해석을 허용하고, precise 매칭은 렌더링, 팔레트, 구도, 조명을 더 가깝게 따릅니다.
별도의 이미지 간 변환 작업은 기존 이미지와 프롬프트를 사용하며, 0~1의 strength 값으로 변경 정도를 조절합니다. 값이 낮을수록 원본에 가깝게 유지하고, 높을수록 원본에서 더 크게 벗어날 수 있습니다. 입력은 20 MB 미만, 최대 16 MP, 각 변이 256~4096픽셀인 PNG, JPG, WebP 또는 SVG가 가능합니다. 이 변환 작업은 V4.1 사용자 지정 스타일을 허용하지 않으며, 새 이미지 생성에 스타일 참조를 첨부하는 작업과 구분됩니다.
V4.1 Utility는 큐레이션된 스타일 이름, negative_prompt, text_layout, artistic_level, no_text 설정을 허용하지 않습니다. 긍정형 프롬프트에 원하는 최종 장면을 직접 설명하세요. 제품 이미지 시리즈에서는 프레이밍과 배경 지시를 일정하게 유지한 뒤, 레이아웃에 사용하기 전에 각 이미지를 제공한 제품 형태, 소재, 디테일과 비교하세요. 표준 Utility는 절제된 표현에 초점을 맞춘 래스터 도구이므로 작업에 맞는 출력 형식과 에디션을 선택해야 합니다.
Ailoot Ultra · 이미지 POST /v1/images/generations recraft/recraft-v4.1-utility
recraft/recraft-v4.1-utility시작하기
Recraft V4.1 Utility는 단순한 제품 사진, 목업, 간단한 장면을 위한 1K 래스터 이미지를 생성합니다. 균일한 조명과 정면 구도를 선호하며, 텍스트 프롬프트와 선택 사항인 이미지 또는 스타일 입력으로 예측 가능한 시각적 방향을 설정할 수 있습니다.
- 허용 입력
- 텍스트 · 이미지
- 결과
- 이미지
Ailoot에서 사용 가능 · 입력 및 메서드
Ailoot Ultra · 이미지 POST /v1/images/generations
- 입력
text,image- 출력
image
| 필드 | 유형 | 요건 | 값과 한도 | 기본값 |
|---|---|---|---|---|
필드model | 유형string | 요건필수 | 값과 한도 recraft/recraft-v4.1-utility | 기본값— |
필드prompt | 유형string | 요건필수 | 값과 한도 최소 길이: 1 | 기본값— |
필드aspect_ratio | 유형string | 요건선택 사항 | 값과 한도 1:1, 4:3, 3:4, 16:9, 9:16, auto | 기본값— |
필드n | 유형integer | 요건선택 사항 | 값과 한도 최솟값: 1 최댓값: 6 | 기본값— |
필드input_references | 유형array | 요건선택 사항 | 값과 한도 최소 항목 수: 0 최대 항목 수: 1 | 기본값— |
필드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.07 출력 이미지당 |
| 설정예상 생성 비용 | 요금표— | 예측 수량1회 생성 예상치 | 과금 단위— | 요금 출력 · 예상 생성 비용 · 비교 전용 추정치 $0.07 생성 전 추정치 이 예상 금액은 추가 요금이나 생성 완료 시 적용되는 고정 요금이 아닙니다. |
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': 'recraft/recraft-v4.1-utility', '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 recraft/recraft-v4.1-utility
메서드 경로 별칭
/v1/images
관련 호출용 ID
FAQ · Recraft: Recraft V4.1 Utility
- 어떤 입력과 결과를 사용할 수 있나요?
POST /v1/images/generations·recraft/recraft-v4.1-utility:text,image→image- 요청은 어떤 필드를 사용하나요?
POST /v1/images/generations·recraft/recraft-v4.1-utility:model,prompt,aspect_ratio,n,input_references,provider- 어떤 제한이 적용되나요?
POST /v1/images/generations·recraft/recraft-v4.1-utility:n.minimum:1;n.maximum:6