Recraft: Recraft V4.1
Recraft V4.1은 자연스러운 실사 표현, 풍부한 일러스트레이션, 의도적인 구도를 갖춘 1K 래스터 이미지를 만듭니다. 짧은 창작 방향을 발전시키거나 자세한 지시서를 따를 수 있으며 이미지와 사용자 지정 스타일을 선택적으로 입력할 수 있습니다.
모델 소개
이 설명은 모델의 기능을 다룹니다. Ailoot에서 사용할 수 있는 입력, 출력 및 옵션은 아래에 선택한 메서드별로 표시됩니다.
Recraft V4.1은 Recraft V4.1 제품군의 기본 래스터 모델입니다. 자연스럽게 보이는 사진, 일러스트레이션, 입체적인 시각 콘셉트 등 표현력 있는 이미지 제작을 위해 설계되었습니다. 제작사는 짧은 프롬프트에서도 미적 결정을 보완하고 더 상세한 창작 지시에도 대응하는 모델로 소개합니다. 단순한 정면 제품 사진으로 축약하기보다 분위기, 조명, 구도가 결과물의 일부를 이루는 탐색, 콘셉트 개발, 이미지 작업에 사용하세요.
정확한 제작사 코드는 recraftv4_1입니다. 무손실 WebP 또는 PNG 형식의 1K 래스터 이미지를 반환하며, 정사각형은 1024 × 1024픽셀, 16:9는 1344 × 768픽셀입니다. 다른 지원 비율에는 각각 해당하는 크기가 있습니다. V4.1 Pro는 별도의 2K 래스터 에디션이고, Vector는 편집 가능한 SVG를 반환하며, Utility는 더 단순한 조명과 장면을 선호합니다. 이 분기들은 서로 다른 결과물을 위한 것이므로 출력 속성을 하나로 합쳐서는 안 됩니다.
제작사는 더 자연스러운 사진 장면, 차분한 배경, 부드러운 그라데이션, 폭넓은 일러스트레이션 표현을 강조합니다. 예시에는 표현력 있는 레터링, 평면 캐릭터 일러스트레이션, 그려진 캐릭터 참조 시트가 포함됩니다. 짧은 프롬프트는 모델의 해석 여지를 남길 수 있고, 자세한 지시서는 대상, 자세, 소재, 배경, 구도를 고정할 수 있습니다. 입체적인 이미지에서는 표면과 조명의 표현 방식을 지정하되 결과물이 메시나 편집 가능한 3D 프로젝트가 아닌 이미지임을 고려하세요.
독서 공간 콘셉트라면 작은 독서 코너를 아늑하게 촬영한 사진, 따뜻한 자연광, 책과 도자기 오브제 하나, 전시장 같지 않은 편안한 배치를 요청할 수 있습니다. 통제된 일러스트레이션 지시서라면 그래픽 대상, 색상 관계, 선의 표현 방식을 지정할 수 있습니다. 원하는 종횡비와 가장 중요한 시각적 결정을 명시하세요. 그러면 예상 밖의 디테일이 유용한 창작 해석인지, 다음 지시서에서 바꿔야 할 요소인지 판단하기 쉽습니다.
생성 자료는 최대 10,000자의 프롬프트, 난수 시드, 선호 색상, 원하는 배경색, 1~6개의 출력을 허용합니다. 선택 사항인 참조 이미지나 호환 저장 스타일은 flexible 또는 precise 매칭으로 시각적 언어를 설정할 수 있습니다. 기본 V4.1 에디션에서 필수 입력은 아닙니다. 서로 일치하는 깔끔한 참조를 선택하고 새 내용은 프롬프트로 설명하세요. 참조 색상 재현은 보장되지 않습니다. 참조 스타일 생성에는 PNG, JPG 또는 WebP 이미지 1~10개를 사용하며, 총용량은 64 MB 이하, 각 파일은 20 MB 미만이어야 합니다. 각 참조 이미지의 짧은 변은 최소 256픽셀, 긴 변은 최대 4,096픽셀, 해상도는 최대 16메가픽셀이어야 합니다. 이러한 참조 이미지와 호환 저장 스타일 중 하나만 사용하고 둘을 함께 사용하지 마세요.
V4.1은 기존 이미지, 텍스트, 0~1의 strength 값을 사용하는 별도 이미지 간 변환도 지원합니다. 이 작업은 strength로 새 이미지가 원본에 얼마나 가깝게 유지될지 조절하며 V4.1 사용자 지정 스타일 설정을 허용하지 않습니다. 현재 생성 자료에서는 negative_prompt, 큐레이션된 스타일, text_layout, artistic_level, no_text가 제외됩니다. 원하는 장면을 직접 설명하고, 유지할 시각적 방향을 선택하기 전에 목표 레이아웃 안에서 디테일, 잘림, 글자를 포함해 결과물을 확인하세요. 이미지 간 변환에는 20 MB 미만, 최대 16메가픽셀, 각 변이 256~4,096픽셀인 PNG, JPG, WebP 또는 SVG를 제공해야 합니다.
Ailoot Ultra · 이미지 POST /v1/images/generations recraft/recraft-v4.1
recraft/recraft-v4.1시작하기
Recraft V4.1은 자연스러운 실사 표현, 풍부한 일러스트레이션, 의도적인 구도를 갖춘 1K 래스터 이미지를 만듭니다. 짧은 창작 방향을 발전시키거나 자세한 지시서를 따를 수 있으며 이미지와 사용자 지정 스타일을 선택적으로 입력할 수 있습니다.
- 허용 입력
- 텍스트 · 이미지
- 결과
- 이미지
Ailoot에서 사용 가능 · 입력 및 메서드
Ailoot Ultra · 이미지 POST /v1/images/generations
- 입력
text,image- 출력
image
| 필드 | 유형 | 요건 | 값과 한도 | 기본값 |
|---|---|---|---|---|
필드model | 유형string | 요건필수 | 값과 한도 recraft/recraft-v4.1 | 기본값— |
필드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', '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
메서드 경로 별칭
/v1/images
관련 호출용 ID
FAQ · Recraft: Recraft V4.1
- 어떤 입력과 결과를 사용할 수 있나요?
POST /v1/images/generations·recraft/recraft-v4.1:text,image→image- 요청은 어떤 필드를 사용하나요?
POST /v1/images/generations·recraft/recraft-v4.1:model,prompt,aspect_ratio,n,input_references,provider- 어떤 제한이 적용되나요?
POST /v1/images/generations·recraft/recraft-v4.1:n.minimum:1;n.maximum:6