{
  "aboutHtml": "<p>Recraft V4 Styles Pro Vector는 전용 V4 Styles 제품군의 Pro 벡터 모델입니다. 제공한 참조 스타일의 시각 표현을 따르는 새로운 SVG 아트워크를 만드는 것이 목적입니다. 무엇을 그릴지 설명하는 텍스트와 어떤 모습이어야 하는지 정하는 참조를 결합합니다. 질감, 렌더링, 색 논리, 구도에 공통 방향이 필요한 브랜드 일러스트, 레터링 콘셉트, 통일된 그래픽 자산이 실용적인 활용 분야입니다.</p><p>정확한 제작사 모델 코드는 recraftv4_styles_pro_vector이며, 표준 Styles Vector 및 래스터 Styles Pro 모델과 구분됩니다. 편집 가능한 SVG를 반환합니다. 제작사 크기 참조에는 벡터 출력에 고정 픽셀 크기가 없고 화면비만 받는다고 명시되어 있으므로 Styles Pro의 2K 래스터 크기는 이 Pro Vector 에디션의 픽셀 해상도 약속이 아닙니다. Pro 라벨은 이름에 명시된 벡터 변형에 속합니다. 확대된 비트맵으로 취급하지 말고 의도한 기하 구조와 용도에 맞춰 아트워크를 준비하세요.</p><p>모든 Styles 생성에는 스타일이 필요합니다. 호환되는 저장된 스타일 또는 PNG, JPG, WebP 참조 1~10장으로 제공할 수 있으며, 두 입력은 서로 대안입니다. 문서에 명시된 워크플로에서 참조는 각 20 MB 미만, 전체 64 MB 이하여야 합니다. 방향이 이미 명확하면 깨끗한 일러스트 하나를 우선하세요. 여러 참조가 필요하면 형태, 팔레트, 렌더링이 일관된 자산을 선택하여 서로 경쟁하는 모티프를 조립하는 대신 해당 시각 언어를 일반화하게 하세요. 각 참조는 짧은 변이 최소 256픽셀, 긴 변이 최대 4,096픽셀이고 전체 해상도가 최대 16메가픽셀이어야 합니다.</p><p>참조 표현이 출력을 밀접하게 이끌어야 하면 precise 매칭을, 더 자유로운 해석이 유용하면 기본 flexible 매칭을 선택하세요. 새로운 피사체, 배치, 자세, 장면은 여전히 프롬프트가 제어합니다. 정교한 에디토리얼 벡터 아트워크에서는 큰 잎 세 장, 아담한 실루엣, 절제된 두 가지 색 체계를 갖춘 중앙 배치 식물 문장을 요청할 수 있습니다. 위계와 형태 사이의 관계를 명시하세요. 스타일 참조만으로 이러한 새로운 콘텐츠 결정을 설명할 수는 없습니다.</p><p>제작사는 선호 색 및 배경색 설정, 무작위 시드, 최대 10,000자 프롬프트, 생성당 출력 1~6개를 지원합니다. 벡터 결과는 래스터 image_format 설정에 관계없이 SVG입니다. 전용 Styles 계열은 이미지-이미지나 인페인팅을 지원하지 않으며, 이전의 선별된 스타일, negative_prompt, text_layout 방식도 받지 않습니다. 따라서 참조 매칭과 기존 그림 편집은 이미지 입력이라는 말로 서로 바꿔 쓸 수 있는 개념이 아니라 서로 다른 작업입니다.</p><p>선명한 고해상도 참조를 사용하세요. 정확한 색 재현은 보장되지 않습니다. 지시문에서 의도한 용도를 드러내세요. 로고에는 작은 크기에서도 읽히는 형태가 필요하고, 에디토리얼 일러스트에는 더 많은 세부 표현을 허용할 수 있습니다. 대상 구도에서 SVG의 글자, 간격, 실루엣, 색 영역을 검토한 다음 피사체나 배치를 바꿔야 하면 텍스트 지시를 다듬으세요. 변형을 강제하려고 관련 없는 참조 이미지를 추가하기보다 이후 자산에도 같은 호환 스타일을 재사용하세요.</p><p>Ailoot에서는 /v1/images/generations에서 이 정확한 모델 ID를 선택하고 창작 프롬프트를 제공하세요. 응답에 URL이 있든 인코딩된 이미지 콘텐츠가 있든 반환된 모든 data 항목을 보존하고, 반환된 콘텐츠 유형과 함께 실제 바이트를 저장하세요. 자산과 함께 usage 및 미디어 task_id가 있으면 이를 보관한 다음, 사용할 디자인에서 형태, 글자, 색 영역을 검토하세요.</p>",
  "aboutText": "Recraft V4 Styles Pro Vector는 전용 V4 Styles 제품군의 Pro 벡터 모델입니다. 제공한 참조 스타일의 시각 표현을 따르는 새로운 SVG 아트워크를 만드는 것이 목적입니다. 무엇을 그릴지 설명하는 텍스트와 어떤 모습이어야 하는지 정하는 참조를 결합합니다. 질감, 렌더링, 색 논리, 구도에 공통 방향이 필요한 브랜드 일러스트, 레터링 콘셉트, 통일된 그래픽 자산이 실용적인 활용 분야입니다.\n\n정확한 제작사 모델 코드는 recraftv4_styles_pro_vector이며, 표준 Styles Vector 및 래스터 Styles Pro 모델과 구분됩니다. 편집 가능한 SVG를 반환합니다. 제작사 크기 참조에는 벡터 출력에 고정 픽셀 크기가 없고 화면비만 받는다고 명시되어 있으므로 Styles Pro의 2K 래스터 크기는 이 Pro Vector 에디션의 픽셀 해상도 약속이 아닙니다. Pro 라벨은 이름에 명시된 벡터 변형에 속합니다. 확대된 비트맵으로 취급하지 말고 의도한 기하 구조와 용도에 맞춰 아트워크를 준비하세요.\n\n모든 Styles 생성에는 스타일이 필요합니다. 호환되는 저장된 스타일 또는 PNG, JPG, WebP 참조 1~10장으로 제공할 수 있으며, 두 입력은 서로 대안입니다. 문서에 명시된 워크플로에서 참조는 각 20 MB 미만, 전체 64 MB 이하여야 합니다. 방향이 이미 명확하면 깨끗한 일러스트 하나를 우선하세요. 여러 참조가 필요하면 형태, 팔레트, 렌더링이 일관된 자산을 선택하여 서로 경쟁하는 모티프를 조립하는 대신 해당 시각 언어를 일반화하게 하세요. 각 참조는 짧은 변이 최소 256픽셀, 긴 변이 최대 4,096픽셀이고 전체 해상도가 최대 16메가픽셀이어야 합니다.\n\n참조 표현이 출력을 밀접하게 이끌어야 하면 precise 매칭을, 더 자유로운 해석이 유용하면 기본 flexible 매칭을 선택하세요. 새로운 피사체, 배치, 자세, 장면은 여전히 프롬프트가 제어합니다. 정교한 에디토리얼 벡터 아트워크에서는 큰 잎 세 장, 아담한 실루엣, 절제된 두 가지 색 체계를 갖춘 중앙 배치 식물 문장을 요청할 수 있습니다. 위계와 형태 사이의 관계를 명시하세요. 스타일 참조만으로 이러한 새로운 콘텐츠 결정을 설명할 수는 없습니다.\n\n제작사는 선호 색 및 배경색 설정, 무작위 시드, 최대 10,000자 프롬프트, 생성당 출력 1~6개를 지원합니다. 벡터 결과는 래스터 image_format 설정에 관계없이 SVG입니다. 전용 Styles 계열은 이미지-이미지나 인페인팅을 지원하지 않으며, 이전의 선별된 스타일, negative_prompt, text_layout 방식도 받지 않습니다. 따라서 참조 매칭과 기존 그림 편집은 이미지 입력이라는 말로 서로 바꿔 쓸 수 있는 개념이 아니라 서로 다른 작업입니다.\n\n선명한 고해상도 참조를 사용하세요. 정확한 색 재현은 보장되지 않습니다. 지시문에서 의도한 용도를 드러내세요. 로고에는 작은 크기에서도 읽히는 형태가 필요하고, 에디토리얼 일러스트에는 더 많은 세부 표현을 허용할 수 있습니다. 대상 구도에서 SVG의 글자, 간격, 실루엣, 색 영역을 검토한 다음 피사체나 배치를 바꿔야 하면 텍스트 지시를 다듬으세요. 변형을 강제하려고 관련 없는 참조 이미지를 추가하기보다 이후 자산에도 같은 호환 스타일을 재사용하세요.\n\nAiloot에서는 /v1/images/generations에서 이 정확한 모델 ID를 선택하고 창작 프롬프트를 제공하세요. 응답에 URL이 있든 인코딩된 이미지 콘텐츠가 있든 반환된 모든 data 항목을 보존하고, 반환된 콘텐츠 유형과 함께 실제 바이트를 저장하세요. 자산과 함께 usage 및 미디어 task_id가 있으면 이를 보관한 다음, 사용할 디자인에서 형태, 글자, 색 영역을 검토하세요.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "fe16bc1f0ae770bef734eb59fed32d5c1e0745d0fd629ca56f2339eb8836cff2",
    "module_sha256": "ee9dc1c50b1e6a8fb7fa062030fcb4646b9aaaeb08be513b723a5a92a7290f06",
    "raw_model_unchanged": true,
    "schema": "ailoot-native-model-editorial-v1"
  },
  "locale": "ko",
  "methods": [
    {
      "html": "<div class=\"sheet-head\"><span class=\"mav\" aria-hidden=\"true\">•</span><h2 id=\"sheet-title\">Recraft: Recraft V4 Styles Pro Vector</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"닫기\">×</button></div><div class=\"idline\"><span>기타 /</span><code>recraft/recraft-v4-styles-pro-vector</code><button type=\"button\" id=\"copy-id\">ID 복사</button></div><nav class=\"card-jump-nav\" aria-label=\"모델 카드 섹션\"><button type=\"button\" data-card-jump=\"overview\">시작하기</button><button type=\"button\" data-card-jump=\"methods\">입력 및 메서드</button><button type=\"button\" data-card-jump=\"pricing\">요금</button><button type=\"button\" data-card-jump=\"examples\">예제</button><button type=\"button\" data-card-jump=\"results\">결과</button><button type=\"button\" data-card-jump=\"aliases\">별칭</button></nav><div class=\"card-method-tabs\" role=\"tablist\" aria-label=\"API 메서드\"><button type=\"button\" role=\"tab\" tabindex=\"0\" aria-controls=\"card-method-content\" aria-selected=\"true\" id=\"card-method-tab-0\" data-card-method=\"Ultra|images|/v1/images/generations|recraft%2Frecraft-v4-styles-pro-vector\">이미지</button></div><div id=\"card-method-content\" role=\"tabpanel\" aria-labelledby=\"card-method-tab-0\"><section class=\"card-section\" data-card-section=\"overview\"><h3 tabindex=\"-1\">시작하기</h3><p class=\"mdesc-full\">Recraft V4 Styles Pro Vector는 스타일 일관성을 위한 Recraft 이미지 제품군의 Pro SVG 에디션입니다. 텍스트 지시와 필수 참조 스타일로 정교한 브랜드 일러스트, 레터링, 통일된 그래픽 자산을 위한 편집 가능한 벡터 그래픽을 만듭니다.</p><dl class=\"card-io\" data-card-io><div><dt>허용 입력</dt><dd>텍스트 · 이미지</dd></div><div><dt>결과</dt><dd>이미지</dd></div></dl><details class=\"card-about\"><summary>모델 소개</summary><p class=\"note-s\" data-model-method-boundary>이 설명은 모델의 기능을 다룹니다. Ailoot에서 사용할 수 있는 입력, 출력 및 옵션은 아래에 선택한 메서드별로 표시됩니다.</p><div class=\"mabout\" id=\"m-about\"><p>Recraft V4 Styles Pro Vector는 전용 V4 Styles 제품군의 Pro 벡터 모델입니다. 제공한 참조 스타일의 시각 표현을 따르는 새로운 SVG 아트워크를 만드는 것이 목적입니다. 무엇을 그릴지 설명하는 텍스트와 어떤 모습이어야 하는지 정하는 참조를 결합합니다. 질감, 렌더링, 색 논리, 구도에 공통 방향이 필요한 브랜드 일러스트, 레터링 콘셉트, 통일된 그래픽 자산이 실용적인 활용 분야입니다.</p><p>정확한 제작사 모델 코드는 recraftv4_styles_pro_vector이며, 표준 Styles Vector 및 래스터 Styles Pro 모델과 구분됩니다. 편집 가능한 SVG를 반환합니다. 제작사 크기 참조에는 벡터 출력에 고정 픽셀 크기가 없고 화면비만 받는다고 명시되어 있으므로 Styles Pro의 2K 래스터 크기는 이 Pro Vector 에디션의 픽셀 해상도 약속이 아닙니다. Pro 라벨은 이름에 명시된 벡터 변형에 속합니다. 확대된 비트맵으로 취급하지 말고 의도한 기하 구조와 용도에 맞춰 아트워크를 준비하세요.</p><p>모든 Styles 생성에는 스타일이 필요합니다. 호환되는 저장된 스타일 또는 PNG, JPG, WebP 참조 1~10장으로 제공할 수 있으며, 두 입력은 서로 대안입니다. 문서에 명시된 워크플로에서 참조는 각 20 MB 미만, 전체 64 MB 이하여야 합니다. 방향이 이미 명확하면 깨끗한 일러스트 하나를 우선하세요. 여러 참조가 필요하면 형태, 팔레트, 렌더링이 일관된 자산을 선택하여 서로 경쟁하는 모티프를 조립하는 대신 해당 시각 언어를 일반화하게 하세요. 각 참조는 짧은 변이 최소 256픽셀, 긴 변이 최대 4,096픽셀이고 전체 해상도가 최대 16메가픽셀이어야 합니다.</p><p>참조 표현이 출력을 밀접하게 이끌어야 하면 precise 매칭을, 더 자유로운 해석이 유용하면 기본 flexible 매칭을 선택하세요. 새로운 피사체, 배치, 자세, 장면은 여전히 프롬프트가 제어합니다. 정교한 에디토리얼 벡터 아트워크에서는 큰 잎 세 장, 아담한 실루엣, 절제된 두 가지 색 체계를 갖춘 중앙 배치 식물 문장을 요청할 수 있습니다. 위계와 형태 사이의 관계를 명시하세요. 스타일 참조만으로 이러한 새로운 콘텐츠 결정을 설명할 수는 없습니다.</p><p>제작사는 선호 색 및 배경색 설정, 무작위 시드, 최대 10,000자 프롬프트, 생성당 출력 1~6개를 지원합니다. 벡터 결과는 래스터 image_format 설정에 관계없이 SVG입니다. 전용 Styles 계열은 이미지-이미지나 인페인팅을 지원하지 않으며, 이전의 선별된 스타일, negative_prompt, text_layout 방식도 받지 않습니다. 따라서 참조 매칭과 기존 그림 편집은 이미지 입력이라는 말로 서로 바꿔 쓸 수 있는 개념이 아니라 서로 다른 작업입니다.</p><p>선명한 고해상도 참조를 사용하세요. 정확한 색 재현은 보장되지 않습니다. 지시문에서 의도한 용도를 드러내세요. 로고에는 작은 크기에서도 읽히는 형태가 필요하고, 에디토리얼 일러스트에는 더 많은 세부 표현을 허용할 수 있습니다. 대상 구도에서 SVG의 글자, 간격, 실루엣, 색 영역을 검토한 다음 피사체나 배치를 바꿔야 하면 텍스트 지시를 다듬으세요. 변형을 강제하려고 관련 없는 참조 이미지를 추가하기보다 이후 자산에도 같은 호환 스타일을 재사용하세요.</p><p>Ailoot에서는 /v1/images/generations에서 이 정확한 모델 ID를 선택하고 창작 프롬프트를 제공하세요. 응답에 URL이 있든 인코딩된 이미지 콘텐츠가 있든 반환된 모든 data 항목을 보존하고, 반환된 콘텐츠 유형과 함께 실제 바이트를 저장하세요. 자산과 함께 usage 및 미디어 task_id가 있으면 이를 보관한 다음, 사용할 디자인에서 형태, 글자, 색 영역을 검토하세요.</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">Ailoot에서 사용 가능 · 입력 및 메서드</h3><details class=\"card-method\" open><summary><b>Ailoot Ultra · Images</b> <code>POST /v1/images/generations</code></summary><dl class=\"method-capabilities\"><div><dt>입력</dt><dd><code>text</code>, <code>image</code></dd></div><div><dt>출력</dt><dd><code>image</code></dd></div><div><dt>출력 형식</dt><dd>이미지 파일</dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>필드</th><th>유형</th><th>요건</th><th>값과 한도</th><th>기본값</th></tr></thead><tbody><tr><th data-cell-label=\"필드\" scope=\"row\"><span class=\"card-cell-label\">필드</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"유형\" data-field-type><span class=\"card-cell-label\">유형</span><code>string</code></td><td data-cell-label=\"요건\"><span class=\"card-cell-label\">요건</span>필수</td><td data-cell-label=\"값과 한도\"><span class=\"card-cell-label\">값과 한도</span><div>recraft/recraft-v4-styles-pro-vector</div><div>조건: 이 Ailoot 라우팅 선택자를 그대로 사용하세요.</div></td><td data-cell-label=\"기본값\" data-default=\"unspecified\"><span class=\"card-cell-label\">기본값</span>—</td></tr><tr><th data-cell-label=\"필드\" scope=\"row\"><span class=\"card-cell-label\">필드</span><code class=\"card-field-name\">prompt</code></th><td data-cell-label=\"유형\" data-field-type><span class=\"card-cell-label\">유형</span><code>string</code></td><td data-cell-label=\"요건\"><span class=\"card-cell-label\">요건</span>필수</td><td data-cell-label=\"값과 한도\"><span class=\"card-cell-label\">값과 한도</span><div>조건: </div></td><td data-cell-label=\"기본값\" data-default=\"unspecified\"><span class=\"card-cell-label\">기본값</span>—</td></tr><tr><th data-cell-label=\"필드\" scope=\"row\"><span class=\"card-cell-label\">필드</span><code class=\"card-field-name\">n</code></th><td data-cell-label=\"유형\" data-field-type><span class=\"card-cell-label\">유형</span><code>integer</code></td><td data-cell-label=\"요건\"><span class=\"card-cell-label\">요건</span>선택 사항</td><td data-cell-label=\"값과 한도\"><span class=\"card-cell-label\">값과 한도</span><div>최솟값: 1</div><div>최댓값: 6</div><div>조건: </div></td><td data-cell-label=\"기본값\" data-default=\"unspecified\"><span class=\"card-cell-label\">기본값</span>—</td></tr><tr><th data-cell-label=\"필드\" scope=\"row\"><span class=\"card-cell-label\">필드</span><code class=\"card-field-name\">aspect_ratio</code></th><td data-cell-label=\"유형\" data-field-type><span class=\"card-cell-label\">유형</span><code>string</code></td><td data-cell-label=\"요건\"><span class=\"card-cell-label\">요건</span>선택 사항</td><td data-cell-label=\"값과 한도\"><span class=\"card-cell-label\">값과 한도</span><div>1:1, 2:1, 1:2, 3:2, 2:3, 4:3, 3:4, 5:4, 4:5, 16:9, 9:16, auto</div><div>조건: </div></td><td data-cell-label=\"기본값\" data-default=\"unspecified\"><span class=\"card-cell-label\">기본값</span>—</td></tr><tr><th data-cell-label=\"필드\" scope=\"row\"><span class=\"card-cell-label\">필드</span><code class=\"card-field-name\">output_format</code></th><td data-cell-label=\"유형\" data-field-type><span class=\"card-cell-label\">유형</span><code>string</code></td><td data-cell-label=\"요건\"><span class=\"card-cell-label\">요건</span>선택 사항</td><td data-cell-label=\"값과 한도\"><span class=\"card-cell-label\">값과 한도</span><div>svg</div><div>조건: </div></td><td data-cell-label=\"기본값\" data-default=\"unspecified\"><span class=\"card-cell-label\">기본값</span>—</td></tr><tr><th data-cell-label=\"필드\" scope=\"row\"><span class=\"card-cell-label\">필드</span><code class=\"card-field-name\">input_references</code></th><td data-cell-label=\"유형\" data-field-type><span class=\"card-cell-label\">유형</span><code>array</code></td><td data-cell-label=\"요건\"><span class=\"card-cell-label\">요건</span>필수</td><td data-cell-label=\"값과 한도\"><span class=\"card-cell-label\">값과 한도</span><div>조건: </div></td><td data-cell-label=\"기본값\" data-default=\"unspecified\"><span class=\"card-cell-label\">기본값</span>—</td></tr><tr><th data-cell-label=\"필드\" scope=\"row\"><span class=\"card-cell-label\">필드</span><code class=\"card-field-name\">quality</code></th><td data-cell-label=\"유형\" data-field-type><span class=\"card-cell-label\">유형</span><code>string</code></td><td data-cell-label=\"요건\"><span class=\"card-cell-label\">요건</span>선택 사항</td><td data-cell-label=\"값과 한도\"><span class=\"card-cell-label\">값과 한도</span><div>auto, low, medium, high, xhigh, max</div><div>조건: </div></td><td data-cell-label=\"기본값\" data-default=\"unspecified\"><span class=\"card-cell-label\">기본값</span>—</td></tr></tbody></table></div><details class=\"card-about\" data-material-combinations><summary>입력 자료 조합</summary><p class=\"note-s\"><b>reference_guided_image</b></p></details><details class=\"note-s\" data-method-contract><summary>메서드 매개변수와 수명 주기</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>매개변수</th><th>명세</th></tr></thead><tbody><tr><th data-cell-label=\"매개변수\" scope=\"row\"><span class=\"card-cell-label\">매개변수</span><code>content_type</code></th><td data-cell-label=\"명세\"><span class=\"card-cell-label\">명세</span>application/json</td></tr><tr><th data-cell-label=\"매개변수\" scope=\"row\"><span class=\"card-cell-label\">매개변수</span><code>required</code></th><td data-cell-label=\"명세\"><span class=\"card-cell-label\">명세</span>model, prompt, input_references</td></tr><tr><th data-cell-label=\"매개변수\" scope=\"row\"><span class=\"card-cell-label\">매개변수</span><code>optional</code></th><td data-cell-label=\"명세\"><span class=\"card-cell-label\">명세</span>n, aspect_ratio, output_format, quality</td></tr><tr><th data-cell-label=\"매개변수\" scope=\"row\"><span class=\"card-cell-label\">매개변수</span><code>material_types</code></th><td data-cell-label=\"명세\"><span class=\"card-cell-label\">명세</span>text, image</td></tr><tr><th data-cell-label=\"매개변수\" scope=\"row\"><span class=\"card-cell-label\">매개변수</span><code>conditions</code></th><td data-cell-label=\"명세\"><span class=\"card-cell-label\">명세</span>이 Ailoot 라우팅 선택자를 그대로 사용하세요., quality는 일반적으로 문서화된 제어 항목입니다. 품질 설정이 없는 공급자는 이 값을 무시합니다. 모델별 품질 향상을 보장하지 않습니다.</td></tr></tbody></table></div><p>수명 주기: <code>synchronous_result_then_owned_library</code></p><p class=\"note-s\"><code>GET /v1/media/tasks/{task_id}</code> · 실제로 반환된 task_id 또는 선택한 라이브러리 기록입니다. operation_id는 별도의 식별자입니다.</p><p class=\"note-s\"><code>GET /v1/media/assets</code></p><p class=\"note-s\"><code>GET /v1/media/assets/{asset_id}</code></p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">요금</h3><div class=\"card-result-process\" data-billing-basis><h5>최종 요금 계산 방식</h5><p class=\"note-s\">표시된 요율은 생성 전 비용을 예상하는 데 사용됩니다. 최종 청구액은 최초 생성에 기록된 비용으로 계산됩니다. 측정된 출력 길이와 예상 수량은 최종 청구 수량이 아닙니다.</p></div><div data-native-semantic-method=\"v1\" data-tariff-reference-only><p class=\"note-s\" data-rate-support-note>요금 정보는 요청 옵션을 추가하지 않습니다. 지원되는 매개변수는 선택한 메서드에 표시됩니다.</p><dl data-price-conditions><dt>빠른 모드</dt><dd>미지정 <span class=\"note-s\">빠른 모드를 선택한 경우</span></dd><dt>Flex 모드</dt><dd>미지정 <span class=\"note-s\">flex 모드를 선택한 경우</span></dd><dt>최대 추론 수준</dt><dd>미지정 <span class=\"note-s\">최대 추론 수준에 default 조정값을 적용하는 경우</span></dd></dl></div><div data-declared-tariff-pricing><h4>비교용 예상 요금</h4><h4>설정별 가격</h4><p class=\"note-s\">각 요금을 표시된 조건과 대조하세요. 서로 대체되는 설정 묶음마다 하나의 요금만 적용하세요.</p><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>설정</th><th>요금표</th><th>예측 수량</th><th>과금 단위</th><th>과금 조건</th><th>요금</th></tr></thead><tbody><tr><th data-cell-label=\"설정\" scope=\"row\"><span class=\"card-cell-label\">설정</span>기본 토큰 요금</th><td data-cell-label=\"요금표\"><span class=\"card-cell-label\">요금표</span>기본 요금</td><td data-cell-label=\"예측 수량\"><span class=\"card-cell-label\">예측 수량</span>—</td><td data-cell-label=\"과금 단위\"><span class=\"card-cell-label\">과금 단위</span>—</td><td data-cell-label=\"과금 조건\"><span class=\"card-cell-label\">과금 조건</span>—</td><td data-cell-label=\"요금\"><span class=\"card-cell-label\">요금</span><div><span>입력 · 입력 토큰 · 비교 전용 추정치</span> <b>—</b> <span class=\"price-unit\">/ 1K 토큰</span></div><div><span>출력 · 출력 토큰 · 비교 전용 추정치</span> <b>—</b> <span class=\"price-unit\">/ 1K 토큰</span></div><div><span>입력 · 캐시 읽기 · 비교 전용 추정치</span> <b>—</b> <span class=\"price-unit\">/ 1K 토큰</span></div><div><span>입력 · 캐시 쓰기 · 비교 전용 추정치</span> <b>—</b> <span class=\"price-unit\">/ 1K 토큰</span></div><div><span>입력 · 캐시 쓰기, 1시간 · 비교 전용 추정치</span> <b>—</b> <span class=\"price-unit\">/ 1K 토큰</span></div></td></tr><tr><th data-cell-label=\"설정\" scope=\"row\"><span class=\"card-cell-label\">설정</span>입력 참조 자료</th><td data-cell-label=\"요금표\"><span class=\"card-cell-label\">요금표</span>—</td><td data-cell-label=\"예측 수량\"><span class=\"card-cell-label\">예측 수량</span>—</td><td data-cell-label=\"과금 단위\"><span class=\"card-cell-label\">과금 단위</span>요청당</td><td data-cell-label=\"과금 조건\"><span class=\"card-cell-label\">과금 조건</span>스타일 참조 자료를 사용해 생성할 때 적용되는 스타일 생성 요금입니다. 출력 이미지 요금에 더해 요청당 한 번 적용됩니다.</td><td data-cell-label=\"요금\"><span class=\"card-cell-label\">요금</span><div><span>입력 · 입력 참조 자료 · 비교 전용 추정치</span> <b>$0.01</b> <span class=\"price-unit\">요청당</span></div><p class=\"note-s\">참고용 추정치입니다. 최종 요금은 기록된 원본 청구서를 따릅니다.</p></td></tr><tr><th data-cell-label=\"설정\" scope=\"row\"><span class=\"card-cell-label\">설정</span>출력 이미지</th><td data-cell-label=\"요금표\"><span class=\"card-cell-label\">요금표</span>—</td><td data-cell-label=\"예측 수량\"><span class=\"card-cell-label\">예측 수량</span>—</td><td data-cell-label=\"과금 단위\"><span class=\"card-cell-label\">과금 단위</span>출력 이미지당</td><td data-cell-label=\"과금 조건\"><span class=\"card-cell-label\">과금 조건</span>—</td><td data-cell-label=\"요금\"><span class=\"card-cell-label\">요금</span><div><span>출력 · 출력 이미지 · 비교 전용 추정치</span> <b>$0.24</b> <span class=\"price-unit\">출력 이미지당</span></div></td></tr><tr><th data-cell-label=\"설정\" scope=\"row\"><span class=\"card-cell-label\">설정</span>예상 생성 비용</th><td data-cell-label=\"요금표\"><span class=\"card-cell-label\">요금표</span>—</td><td data-cell-label=\"예측 수량\"><span class=\"card-cell-label\">예측 수량</span>1회 생성 예상치</td><td data-cell-label=\"과금 단위\"><span class=\"card-cell-label\">과금 단위</span>—</td><td data-cell-label=\"과금 조건\"><span class=\"card-cell-label\">과금 조건</span>—</td><td data-cell-label=\"요금\"><span class=\"card-cell-label\">요금</span><div><span>출력 · 예상 생성 비용 · 비교 전용 추정치</span> <b>$0.24</b> <span class=\"price-unit\">생성 전 추정치</span></div><p class=\"note-s\">이 예상 금액은 추가 요금이나 생성 완료 시 적용되는 고정 요금이 아닙니다.</p></td></tr></tbody></table></div></div><p class=\"note-s\">Ailoot는 요청 전에 예상 금액을 미리 확보합니다. 결과를 받은 뒤 측정된 사용량을 기준으로 최종 요금을 정산합니다. 스트리밍 정산에는 최종 사용량 기록을 사용합니다. <a href=\"/docs/ko/billing/reserve/\">금액 확보와 정산 방식 →</a></p></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">요청 예제</h3><h4>Ailoot Ultra · Images</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"코드 예제 형식\"><button class=\"cg-tab\" id=\"model-code-2880-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2880-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl · 한 번만 생성하고 결과 전체 보관</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"코드 복사\"><svg class=\"cp\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><rect x=\"5.25\" y=\"5.25\" width=\"8.5\" height=\"8.5\" rx=\"1.75\"/><path d=\"M10.75 5.25V3.5a1.25 1.25 0 0 0-1.25-1.25H3.5A1.25 1.25 0 0 0 2.25 3.5v6a1.25 1.25 0 0 0 1.25 1.25h1.75\"/></svg><svg class=\"ok\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><path d=\"m3 8.5 3.25 3.25L13 5\"/></svg></button></div></div><div class=\"cg-body\"><div class=\"cg-pane\" id=\"model-code-2880-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-2880-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\nexport AILOOT_API_KEY\n: &quot;${AILOOT_IMAGE_URL:?Set an actual customer material or documented value}&quot;\nexport AILOOT_IMAGE_URL\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\np=json.loads(&#39;{&quot;model&quot;: &quot;recraft/recraft-v4-styles-pro-vector&quot;, &quot;prompt&quot;: &quot;A portrait of an Asian woman with neon green lights in the background, shallow depth of field.&quot;, &quot;input_references&quot;: [{&quot;type&quot;: &quot;image_url&quot;, &quot;image_url&quot;: {&quot;url&quot;: &quot;YOUR_ACCESSIBLE_IMAGE_URL&quot;}}]}&#39;)\np[&#39;input_references&#39;][0][&#39;image_url&#39;][&#39;url&#39;]=os.environ[&#39;AILOOT_IMAGE_URL&#39;]\nPath(&quot;request.json&quot;).write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/images/generations \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -H &#39;Content-Type: application/json&#39; \\\n  --data-binary @request.json -D response-headers.txt -o result.json\n# Submit once. Retain the complete result, original identifiers and every response header.\n</code></pre></div></div></div></section><section class=\"card-section\" data-card-section=\"results\"><h3 tabindex=\"-1\">결과 수신 및 저장</h3><h4>Ailoot Ultra · Images</h4><p class=\"note-s\">반환된 각 이미지를 다운로드하거나 Base64 내용을 저장하세요</p><ul class=\"card-result-paths\"><li><code>GET /v1/media/tasks/{task_id}</code></li><li><code>GET /v1/media/assets</code></li><li><code>GET /v1/media/assets/{asset_id}</code></li></ul><div class=\"card-result-process\" data-all-results><h5>완료된 결과 모두 보관</h5><p class=\"note-s\">완료된 이미지를 모두 저장하세요. 반환된 각 URL에서 가져오거나 Base64 내용을 디코딩하세요.</p><p class=\"note-s\">응답과 헤더 전체, 원래 식별자, 모든 실제 출력 및 모든 사용량/회계 필드를 보존하세요. 고유한 소유 자산을 각각 저장하고 해당 자산을 가리키는 모든 역할을 유지하세요.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>원래 응답을 확인해야 할 경우</h5><p class=\"note-s\">원래 X-Client-Request-ID, 응답 및 헤더를 보존하세요. 결과를 알 수 없거나 result_pending_check인 경우 두 번째 생성은 허용되지 않습니다.</p></div><details class=\"card-about\" data-output-fields><summary>응답 필드</summary><div class=\"tw\" data-card-table=\"output\"><table><thead><tr><th>필드</th><th>유형</th></tr></thead><tbody><tr><th data-cell-label=\"필드\" scope=\"row\"><span class=\"card-cell-label\">필드</span><code class=\"card-field-name\">data[].url</code></th><td data-cell-label=\"유형\" data-field-type><span class=\"card-cell-label\">유형</span>string</td></tr><tr><th data-cell-label=\"필드\" scope=\"row\"><span class=\"card-cell-label\">필드</span><code class=\"card-field-name\">data[].b64_json</code></th><td data-cell-label=\"유형\" data-field-type><span class=\"card-cell-label\">유형</span>string</td></tr><tr><th data-cell-label=\"필드\" scope=\"row\"><span class=\"card-cell-label\">필드</span><code class=\"card-field-name\">usage</code></th><td data-cell-label=\"유형\" data-field-type><span class=\"card-cell-label\">유형</span>object</td></tr></tbody></table></div></details><details class=\"card-about\" data-method-errors><summary>오류와 다음 단계</summary><div class=\"tw\" data-card-table=\"errors\"><table><thead><tr><th>응답</th><th>조건</th><th>다음 단계</th></tr></thead><tbody><tr><th data-cell-label=\"응답\" scope=\"row\"><span class=\"card-cell-label\">응답</span>400 · <code>invalid_request_error</code></th><td data-cell-label=\"조건\"><span class=\"card-cell-label\">조건</span>필수 필드, 모델 선택자, 유형 또는 입력 표현 형식이 유효하지 않습니다.</td><td data-cell-label=\"다음 단계\"><span class=\"card-cell-label\">다음 단계</span>별도의 요청을 준비하기 전에 반환된 유효성 검사 세부 정보를 확인하세요.</td></tr><tr><th data-cell-label=\"응답\" scope=\"row\"><span class=\"card-cell-label\">응답</span><code></code></th><td data-cell-label=\"조건\"><span class=\"card-cell-label\">조건</span>원래 요청이나 결과를 알 수 없거나 확인이 필요합니다.</td><td data-cell-label=\"다음 단계\"><span class=\"card-cell-label\">다음 단계</span>원래 식별자와 헤더를 보존하고, 지원되는 상태 정보나 라이브러리 기록만 조회하세요. 생성 요청을 다시 제출하지 마세요.</td></tr></tbody></table></div></details></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">별칭</h3><h4>모델 별칭</h4><p class=\"note-s\"><span data-model-alias-route=\"Ultra\"><b>Ailoot Ultra</b> <a href=\"#m=recraft%2Frecraft-v4-styles-pro-vector&amp;route=Ultra&amp;caller=recraft%2Frecraft-v4-styles-pro-vector&amp;fmt=images\"><code>recraft/recraft-v4-styles-pro-vector</code></a></span></p><h4>메서드 경로 별칭</h4><p class=\"note-s\">위에 표시된 메서드 경로를 사용하세요.</p><h4>관련 호출용 ID</h4><p class=\"note-s\"><a href=\"#m=recraft%2Frecraft-v4-styles-pro-vector&amp;route=Ultra&amp;caller=recraft%2Frecraft-v4-styles-pro-vector&amp;fmt=images\"><code>recraft/recraft-v4-styles-pro-vector</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "recraft/recraft-v4-styles-pro-vector",
        "fmt": "images",
        "http": "POST",
        "path": "/v1/images/generations",
        "request_model_id": "recraft/recraft-v4-styles-pro-vector",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|images|/v1/images/generations|recraft%2Frecraft-v4-styles-pro-vector",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "billing_basis": {
          "basis": "original_invoice_usd",
          "description": "The displayed rates estimate the cost before generation. The final charge is calculated from the cost recorded for the original generation. Measured output duration and forecast quantities are not the final billable quantity.",
          "forecast_quantity_is_estimate": true,
          "physical_output_is_billable_quantity": false,
          "version": "original_invoice_usd_v1"
        },
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Retain the complete response and headers, original identifiers, every actual output and all usage/accounting fields. Save each unique owned asset and retain every role pointing to it.",
            "authentication": {
              "header": "Authorization",
              "scheme": "Bearer",
              "value": "$AILOOT_API_KEY"
            },
            "control_semantics": {
              "other_documented_controls": "Source generic image parsing preserves request JSON. Additional documented controls stay subject to the exact model; missing DTO fields do not create Source refusals.",
              "quality": "The saved common image schema documents this control and says providers without a quality knob ignore it.",
              "style": "Selected generic Source passes JSON fields through but the saved dedicated image request schema does not declare a style field. Its omission here is not a Source ban or a supported per-model promise."
            },
            "errors": [
              {
                "condition": "필수 필드, 모델 선택자, 유형 또는 입력 표현 형식이 유효하지 않습니다.",
                "http_status": 400,
                "recovery": "별도의 요청을 준비하기 전에 반환된 유효성 검사 세부 정보를 확인하세요.",
                "type": "invalid_request_error"
              },
              {
                "condition": "원래 요청이나 결과를 알 수 없거나 확인이 필요합니다.",
                "http_status": null,
                "recovery": "원래 식별자와 헤더를 보존하고, 지원되는 상태 정보나 라이브러리 기록만 조회하세요. 생성 요청을 다시 제출하지 마세요.",
                "type": null
              }
            ],
            "lifecycle": {
              "assets": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets"
                },
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}"
                }
              ],
              "cancel_endpoint": null,
              "create": {
                "http": "POST",
                "path": "/v1/images/generations"
              },
              "mode": "synchronous_result_then_owned_library",
              "operation_id_is_not_task_id": true,
              "owned_content": {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "url_source": "Use the exact returned signed URL; never construct a token."
              },
              "status": [
                {
                  "http": "GET",
                  "id_source": "actual returned task_id or selected library record; operation_id is a separate identifier",
                  "path": "/v1/media/tasks/{task_id}"
                }
              ],
              "unknown": "원래 X-Client-Request-ID, 응답 및 헤더를 보존하세요. 결과를 알 수 없거나 result_pending_check인 경우 두 번째 생성은 허용되지 않습니다.",
              "unknown_no_replay": true
            },
            "material_combinations": [
              {
                "materials": [
                  "text",
                  "image"
                ],
                "metadata_authority": "saved_model_discovery_union",
                "mode": "reference_guided_image",
                "reference_maximum": 10,
                "reference_minimum": 1
              }
            ],
            "model_parameter_metadata": {
              "authority": "saved_model_discovery_union",
              "defaults_not_inferred": {
                "aspect_ratio": null,
                "exact_pixels": null,
                "explanation": "No universal/model default inferred. Omitted output_format uses provider default; dimensions are provider-derived, observed Ming2048 is not a universal default.",
                "n": null,
                "output_format": null,
                "quality": null,
                "resolution": null
              },
              "known_parameter_choices": {
                "aspect_ratio": {
                  "type": "enum",
                  "values": [
                    "1:1",
                    "2:1",
                    "1:2",
                    "3:2",
                    "2:3",
                    "4:3",
                    "3:4",
                    "5:4",
                    "4:5",
                    "16:9",
                    "9:16",
                    "auto"
                  ]
                },
                "input_references": {
                  "max": 10,
                  "min": 1,
                  "type": "range"
                },
                "n": {
                  "max": 6,
                  "min": 1,
                  "type": "range"
                },
                "output_format": {
                  "type": "enum",
                  "values": [
                    "svg"
                  ]
                }
              },
              "pointer": "/profiles/14",
              "scope": "Exact saved model metadata. Discovery unions are identified explicitly and are not represented as definitive selected-provider bounds."
            },
            "outputs": {
              "all_results": "응답과 헤더 전체, 원래 식별자, 모든 실제 출력 및 모든 사용량/회계 필드를 보존하세요. 고유한 소유 자산을 각각 저장하고 해당 자산을 가리키는 모든 역할을 유지하세요.",
              "documented_formats": [
                "svg"
              ],
              "every_actual_output": true,
              "family": "image",
              "fields": [
                {
                  "name": "data[].url",
                  "type": "string"
                },
                {
                  "name": "data[].b64_json",
                  "type": "string"
                },
                {
                  "name": "usage",
                  "type": "object"
                }
              ],
              "format": "The exact saved model metadata lists SVG. Preserve the actual returned MIME and unchanged vector bytes; keep every actual output and owned signed image link."
            },
            "parameters": [
              {
                "conditions": "이 Ailoot 라우팅 선택자를 그대로 사용하세요.",
                "default_known": false,
                "enum": [
                  "recraft/recraft-v4-styles-pro-vector"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "conditions": "",
                "default_known": false,
                "enum_known": false,
                "name": "prompt",
                "required": true,
                "type": "string"
              },
              {
                "conditions": "",
                "default_known": false,
                "enum_known": false,
                "maximum": 6,
                "minimum": 1,
                "name": "n",
                "required": false,
                "type": "integer"
              },
              {
                "conditions": "",
                "default_known": false,
                "enum": [
                  "1:1",
                  "2:1",
                  "1:2",
                  "3:2",
                  "2:3",
                  "4:3",
                  "3:4",
                  "5:4",
                  "4:5",
                  "16:9",
                  "9:16",
                  "auto"
                ],
                "enum_known": true,
                "name": "aspect_ratio",
                "required": false,
                "type": "string"
              },
              {
                "conditions": "",
                "default_known": false,
                "enum": [
                  "svg"
                ],
                "enum_known": true,
                "name": "output_format",
                "required": false,
                "type": "string"
              },
              {
                "conditions": "",
                "default_known": false,
                "enum_known": false,
                "items": {
                  "properties": {
                    "image_url": {
                      "properties": {
                        "url": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "url"
                      ],
                      "type": "object"
                    },
                    "type": {
                      "const": "image_url"
                    }
                  },
                  "required": [
                    "type",
                    "image_url"
                  ],
                  "type": "object"
                },
                "maxItems": 10,
                "minItems": 1,
                "name": "input_references",
                "required": true,
                "type": "array"
              },
              {
                "conditions": "",
                "default_known": false,
                "enum": [
                  "auto",
                  "low",
                  "medium",
                  "high",
                  "xhigh",
                  "max"
                ],
                "enum_known": true,
                "name": "quality",
                "required": false,
                "type": "string"
              }
            ],
            "request_schema": {
              "additionalProperties": true,
              "properties": {
                "aspect_ratio": {
                  "enum": [
                    "1:1",
                    "2:1",
                    "1:2",
                    "3:2",
                    "2:3",
                    "4:3",
                    "3:4",
                    "5:4",
                    "4:5",
                    "16:9",
                    "9:16",
                    "auto"
                  ],
                  "type": "string"
                },
                "input_references": {
                  "items": {
                    "properties": {
                      "image_url": {
                        "properties": {
                          "url": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "url"
                        ],
                        "type": "object"
                      },
                      "type": {
                        "const": "image_url"
                      }
                    },
                    "required": [
                      "type",
                      "image_url"
                    ],
                    "type": "object"
                  },
                  "maxItems": 10,
                  "minItems": 1,
                  "type": "array"
                },
                "model": {
                  "enum": [
                    "recraft/recraft-v4-styles-pro-vector"
                  ],
                  "type": "string"
                },
                "n": {
                  "maximum": 6,
                  "minimum": 1,
                  "type": "integer"
                },
                "output_format": {
                  "enum": [
                    "svg"
                  ],
                  "type": "string"
                },
                "prompt": {
                  "type": "string"
                },
                "quality": {
                  "enum": [
                    "auto",
                    "low",
                    "medium",
                    "high",
                    "xhigh",
                    "max"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "model",
                "prompt",
                "input_references"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": true,
              "body": {
                "input_references": [
                  {
                    "image_url": {
                      "url": "YOUR_ACCESSIBLE_IMAGE_URL"
                    },
                    "type": "image_url"
                  }
                ],
                "model": "recraft/recraft-v4-styles-pro-vector",
                "prompt": "A portrait of an Asian woman with neon green lights in the background, shallow depth of field."
              },
              "content_type": "application/json",
              "example_is_offline_content": true
            },
            "usage": {
              "meter": "Use the accepted method price and actual recorded usage; the request reserve is an estimate. A billing unit does not add an input capability.",
              "preserve": "Keep all returned usage, accounting and request identifiers with every actual output.",
              "settlement": "Retain the original operation; reconcile its result and accounting once."
            }
          },
          "input": {
            "conditions": [
              "이 Ailoot 라우팅 선택자를 그대로 사용하세요.",
              "quality는 일반적으로 문서화된 제어 항목입니다. 품질 설정이 없는 공급자는 이 값을 무시합니다. 모델별 품질 향상을 보장하지 않습니다."
            ],
            "content_type": "application/json",
            "material_types": [
              "text",
              "image"
            ],
            "optional": [
              "n",
              "aspect_ratio",
              "output_format",
              "quality"
            ],
            "required": [
              "model",
              "prompt",
              "input_references"
            ]
          },
          "lifecycle": {
            "assets": [
              {
                "http": "GET",
                "path": "/v1/media/assets"
              },
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              }
            ],
            "cancel_endpoint": null,
            "create": {
              "http": "POST",
              "path": "/v1/images/generations"
            },
            "mode": "synchronous_result_then_owned_library",
            "operation_id_is_not_task_id": true,
            "owned_content": {
              "http": "GET",
              "path": "/v1/media/assets/{asset_id}/content",
              "url_source": "Use the exact returned signed URL; never construct a token."
            },
            "status": [
              {
                "http": "GET",
                "id_source": "실제로 반환된 task_id 또는 선택한 라이브러리 기록입니다. operation_id는 별도의 식별자입니다.",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Keep the original X-Client-Request-ID, response and headers. An unknown or result_pending_check outcome does not authorize a second creation.",
            "unknown_no_replay": true
          },
          "method": {
            "http": "POST",
            "path": "/v1/images/generations"
          },
          "method_aliases": [],
          "output": {
            "all_results": "Retain the complete response and headers, original identifiers, every actual output and all usage/accounting fields. Save each unique owned asset and retain every role pointing to it.",
            "documented_formats": [
              "svg"
            ],
            "every_actual_output": true,
            "family": "image",
            "fields": [
              {
                "name": "data[].url",
                "type": "string"
              },
              {
                "name": "data[].b64_json",
                "type": "string"
              },
              {
                "name": "usage",
                "type": "object"
              }
            ],
            "format": "The saved exact model metadata lists SVG. Preserve actual MIME and bytes; storage MIME support alone does not prove completion of the full selected generic output path."
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "basis": "Reference estimate only; final charge follows the recorded original invoice.",
            "dimensions": {
              "conditions": "Style creation when generating with style references; once per request, in addition to the output-image price.",
              "quoted_unit": "per request"
            },
            "label": "Input reference",
            "units": [
              {
                "amount": "0.01",
                "amount_unit": "usd_per_request",
                "billing_input": false,
                "estimate_only": true,
                "key": "image_input_reference_request",
                "label": "Input reference",
                "native_amount_usd_per_unit": "0.01",
                "native_quantity": 1,
                "public_unit_label": "per request",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "request"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per output image"
            },
            "label": "output image",
            "units": [
              {
                "amount": "0.24",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "image_output",
                "label": "output image",
                "native_amount_usd_per_unit": "0.24",
                "native_quantity": 1,
                "public_unit_label": "per output image",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "image_output"
              }
            ]
          },
          {
            "basis": "이 예상 금액은 추가 요금이나 생성 완료 시 적용되는 고정 요금이 아닙니다.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "예상 생성 비용",
            "units": [
              {
                "amount": "0.24",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "forecast_usd",
                "label": "Estimated generation cost",
                "native_amount_usd_per_unit": "0.24",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "request_estimate"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\nexport AILOOT_API_KEY\n: \"${AILOOT_IMAGE_URL:?Set an actual customer material or documented value}\"\nexport AILOOT_IMAGE_URL\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"recraft/recraft-v4-styles-pro-vector\", \"prompt\": \"A portrait of an Asian woman with neon green lights in the background, shallow depth of field.\", \"input_references\": [{\"type\": \"image_url\", \"image_url\": {\"url\": \"YOUR_ACCESSIBLE_IMAGE_URL\"}}]}')\np['input_references'][0]['image_url']['url']=os.environ['AILOOT_IMAGE_URL']\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/images/generations \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\n# Submit once. Retain the complete result, original identifiers and every response header.\n",
            "label": "curl · create once and retain the complete result",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "images",
        "http": "POST",
        "in": null,
        "input": [
          "text",
          "image"
        ],
        "input_conditions": {
          "image": "Use the exact model reference-input range in the saved model metadata; a reference becomes required only for the models whose listed minimum is positive."
        },
        "label": "Images",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "out": null,
        "output": [
          "image"
        ],
        "path": "/v1/images/generations",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "original_invoice_usd",
          "image_input_price": null,
          "image_output_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "basis": "Reference estimate only; final charge follows the recorded original invoice.",
            "dimensions": {
              "conditions": "Style creation when generating with style references; once per request, in addition to the output-image price.",
              "quoted_unit": "per request"
            },
            "label": "Input reference",
            "units": [
              {
                "amount": "0.01",
                "amount_unit": "usd_per_request",
                "billing_input": false,
                "estimate_only": true,
                "key": "image_input_reference_request",
                "label": "Input reference",
                "native_amount_usd_per_unit": "0.01",
                "native_quantity": 1,
                "public_unit_label": "per request",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "request"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per output image"
            },
            "label": "output image",
            "units": [
              {
                "amount": "0.24",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "image_output",
                "label": "output image",
                "native_amount_usd_per_unit": "0.24",
                "native_quantity": 1,
                "public_unit_label": "per output image",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "image_output"
              }
            ]
          },
          {
            "basis": "This estimate is not an additional charge or a fixed rate for the completed generation.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "Estimated generation cost",
            "units": [
              {
                "amount": "0.24",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "forecast_usd",
                "label": "Estimated generation cost",
                "native_amount_usd_per_unit": "0.24",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "request_estimate"
              }
            ]
          }
        ],
        "request_model_id": "recraft/recraft-v4-styles-pro-vector",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/media/tasks/{task_id}"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.01",
            "amount_unit": "usd_per_request",
            "billing_input": false,
            "estimate_only": true,
            "key": "image_input_reference_request",
            "label": "Input reference",
            "native_amount_usd_per_unit": "0.01",
            "native_quantity": 1,
            "public_unit_label": "per request",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "request"
          },
          {
            "amount": "0.24",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "image_output",
            "label": "output image",
            "native_amount_usd_per_unit": "0.24",
            "native_quantity": 1,
            "public_unit_label": "per output image",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "image_output"
          },
          {
            "amount": "0.24",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "forecast_usd",
            "label": "Estimated generation cost",
            "native_amount_usd_per_unit": "0.24",
            "native_quantity": 1,
            "public_unit_label": "estimate before generation",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "request_estimate"
          }
        ]
      }
    }
  ],
  "model_id": "recraft/recraft-v4-styles-pro-vector",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "c9cd97bff0aa1117a04bead9e205356027827711ffb10d5d392dedcb9f7bcc20",
    "input_html_sha256": "53c7277df40332ad57a1c802a9ca913d4b0a6f737686a87fd318e44abd977f91",
    "private_audit_sha256": "1b5f1800633121ec463ed03709a2e979e80d6bb65ffdf5ee091c644b3ca3f54e",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/ko/recraft-recraft-v4-styles-pro-vector/",
    "description": "Recraft V4 Styles Pro Vector는 스타일 일관성을 위한 Recraft 이미지 제품군의 Pro SVG 에디션입니다. 텍스트 지시와 필수 참조 스타일로 정교한 브랜드 일러스트, 레터링, 통일된 그래픽 자산을 위한 편집 가능한 벡터 그래픽을 만듭니다.",
    "locale": "ko",
    "md_url": "https://ailoot.ai/models/ko/recraft-recraft-v4-styles-pro-vector/index.md",
    "title": "Recraft: Recraft V4 Styles Pro Vector — Ailoot",
    "url": "https://ailoot.ai/models/ko/recraft-recraft-v4-styles-pro-vector/"
  },
  "rawModel": {
    "about": "Recraft V4 Styles Pro Vector는 전용 V4 Styles 제품군의 Pro 벡터 모델입니다. 제공한 참조 스타일의 시각 표현을 따르는 새로운 SVG 아트워크를 만드는 것이 목적입니다. 무엇을 그릴지 설명하는 텍스트와 어떤 모습이어야 하는지 정하는 참조를 결합합니다. 질감, 렌더링, 색 논리, 구도에 공통 방향이 필요한 브랜드 일러스트, 레터링 콘셉트, 통일된 그래픽 자산이 실용적인 활용 분야입니다.\n\n정확한 제작사 모델 코드는 recraftv4_styles_pro_vector이며, 표준 Styles Vector 및 래스터 Styles Pro 모델과 구분됩니다. 편집 가능한 SVG를 반환합니다. 제작사 크기 참조에는 벡터 출력에 고정 픽셀 크기가 없고 화면비만 받는다고 명시되어 있으므로 Styles Pro의 2K 래스터 크기는 이 Pro Vector 에디션의 픽셀 해상도 약속이 아닙니다. Pro 라벨은 이름에 명시된 벡터 변형에 속합니다. 확대된 비트맵으로 취급하지 말고 의도한 기하 구조와 용도에 맞춰 아트워크를 준비하세요.\n\n모든 Styles 생성에는 스타일이 필요합니다. 호환되는 저장된 스타일 또는 PNG, JPG, WebP 참조 1~10장으로 제공할 수 있으며, 두 입력은 서로 대안입니다. 문서에 명시된 워크플로에서 참조는 각 20 MB 미만, 전체 64 MB 이하여야 합니다. 방향이 이미 명확하면 깨끗한 일러스트 하나를 우선하세요. 여러 참조가 필요하면 형태, 팔레트, 렌더링이 일관된 자산을 선택하여 서로 경쟁하는 모티프를 조립하는 대신 해당 시각 언어를 일반화하게 하세요. 각 참조는 짧은 변이 최소 256픽셀, 긴 변이 최대 4,096픽셀이고 전체 해상도가 최대 16메가픽셀이어야 합니다.\n\n참조 표현이 출력을 밀접하게 이끌어야 하면 precise 매칭을, 더 자유로운 해석이 유용하면 기본 flexible 매칭을 선택하세요. 새로운 피사체, 배치, 자세, 장면은 여전히 프롬프트가 제어합니다. 정교한 에디토리얼 벡터 아트워크에서는 큰 잎 세 장, 아담한 실루엣, 절제된 두 가지 색 체계를 갖춘 중앙 배치 식물 문장을 요청할 수 있습니다. 위계와 형태 사이의 관계를 명시하세요. 스타일 참조만으로 이러한 새로운 콘텐츠 결정을 설명할 수는 없습니다.\n\n제작사는 선호 색 및 배경색 설정, 무작위 시드, 최대 10,000자 프롬프트, 생성당 출력 1~6개를 지원합니다. 벡터 결과는 래스터 image_format 설정에 관계없이 SVG입니다. 전용 Styles 계열은 이미지-이미지나 인페인팅을 지원하지 않으며, 이전의 선별된 스타일, negative_prompt, text_layout 방식도 받지 않습니다. 따라서 참조 매칭과 기존 그림 편집은 이미지 입력이라는 말로 서로 바꿔 쓸 수 있는 개념이 아니라 서로 다른 작업입니다.\n\n선명한 고해상도 참조를 사용하세요. 정확한 색 재현은 보장되지 않습니다. 지시문에서 의도한 용도를 드러내세요. 로고에는 작은 크기에서도 읽히는 형태가 필요하고, 에디토리얼 일러스트에는 더 많은 세부 표현을 허용할 수 있습니다. 대상 구도에서 SVG의 글자, 간격, 실루엣, 색 영역을 검토한 다음 피사체나 배치를 바꿔야 하면 텍스트 지시를 다듬으세요. 변형을 강제하려고 관련 없는 참조 이미지를 추가하기보다 이후 자산에도 같은 호환 스타일을 재사용하세요.\n\nAiloot에서는 /v1/images/generations에서 이 정확한 모델 ID를 선택하고 창작 프롬프트를 제공하세요. 응답에 URL이 있든 인코딩된 이미지 콘텐츠가 있든 반환된 모든 data 항목을 보존하고, 반환된 콘텐츠 유형과 함께 실제 바이트를 저장하세요. 자산과 함께 usage 및 미디어 task_id가 있으면 이를 보관한 다음, 사용할 디자인에서 형태, 글자, 색 영역을 검토하세요.",
    "alias_of": null,
    "aliases": [],
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.24",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "forecast_usd",
            "label": "Estimated generation cost",
            "native_amount_usd_per_unit": "0.24",
            "native_quantity": 1,
            "public_unit_label": "estimate before generation",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "request_estimate"
          }
        ],
        "summary": "구성의 전체 요금 정보는 상세 정보에서 확인할 수 있습니다."
      }
    ],
    "ctx": null,
    "formats": [
      "images"
    ],
    "id": "recraft/recraft-v4-styles-pro-vector",
    "input": [
      "text",
      "image"
    ],
    "kind": "image",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "billing_basis": {
          "basis": "original_invoice_usd",
          "description": "The displayed rates estimate the cost before generation. The final charge is calculated from the cost recorded for the original generation. Measured output duration and forecast quantities are not the final billable quantity.",
          "forecast_quantity_is_estimate": true,
          "physical_output_is_billable_quantity": false,
          "version": "original_invoice_usd_v1"
        },
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Retain the complete response and headers, original identifiers, every actual output and all usage/accounting fields. Save each unique owned asset and retain every role pointing to it.",
            "authentication": {
              "header": "Authorization",
              "scheme": "Bearer",
              "value": "$AILOOT_API_KEY"
            },
            "control_semantics": {
              "other_documented_controls": "Source generic image parsing preserves request JSON. Additional documented controls stay subject to the exact model; missing DTO fields do not create Source refusals.",
              "quality": "The saved common image schema documents this control and says providers without a quality knob ignore it.",
              "style": "Selected generic Source passes JSON fields through but the saved dedicated image request schema does not declare a style field. Its omission here is not a Source ban or a supported per-model promise."
            },
            "errors": [
              {
                "condition": "필수 필드, 모델 선택자, 유형 또는 입력 표현 형식이 유효하지 않습니다.",
                "http_status": 400,
                "recovery": "별도의 요청을 준비하기 전에 반환된 유효성 검사 세부 정보를 확인하세요.",
                "type": "invalid_request_error"
              },
              {
                "condition": "원래 요청이나 결과를 알 수 없거나 확인이 필요합니다.",
                "http_status": null,
                "recovery": "원래 식별자와 헤더를 보존하고, 지원되는 상태 정보나 라이브러리 기록만 조회하세요. 생성 요청을 다시 제출하지 마세요.",
                "type": null
              }
            ],
            "lifecycle": {
              "assets": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets"
                },
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}"
                }
              ],
              "cancel_endpoint": null,
              "create": {
                "http": "POST",
                "path": "/v1/images/generations"
              },
              "mode": "synchronous_result_then_owned_library",
              "operation_id_is_not_task_id": true,
              "owned_content": {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "url_source": "Use the exact returned signed URL; never construct a token."
              },
              "status": [
                {
                  "http": "GET",
                  "id_source": "actual returned task_id or selected library record; operation_id is a separate identifier",
                  "path": "/v1/media/tasks/{task_id}"
                }
              ],
              "unknown": "원래 X-Client-Request-ID, 응답 및 헤더를 보존하세요. 결과를 알 수 없거나 result_pending_check인 경우 두 번째 생성은 허용되지 않습니다.",
              "unknown_no_replay": true
            },
            "material_combinations": [
              {
                "materials": [
                  "text",
                  "image"
                ],
                "metadata_authority": "saved_model_discovery_union",
                "mode": "reference_guided_image",
                "reference_maximum": 10,
                "reference_minimum": 1
              }
            ],
            "model_parameter_metadata": {
              "authority": "saved_model_discovery_union",
              "defaults_not_inferred": {
                "aspect_ratio": null,
                "exact_pixels": null,
                "explanation": "No universal/model default inferred. Omitted output_format uses provider default; dimensions are provider-derived, observed Ming2048 is not a universal default.",
                "n": null,
                "output_format": null,
                "quality": null,
                "resolution": null
              },
              "known_parameter_choices": {
                "aspect_ratio": {
                  "type": "enum",
                  "values": [
                    "1:1",
                    "2:1",
                    "1:2",
                    "3:2",
                    "2:3",
                    "4:3",
                    "3:4",
                    "5:4",
                    "4:5",
                    "16:9",
                    "9:16",
                    "auto"
                  ]
                },
                "input_references": {
                  "max": 10,
                  "min": 1,
                  "type": "range"
                },
                "n": {
                  "max": 6,
                  "min": 1,
                  "type": "range"
                },
                "output_format": {
                  "type": "enum",
                  "values": [
                    "svg"
                  ]
                }
              },
              "pointer": "/profiles/14",
              "scope": "Exact saved model metadata. Discovery unions are identified explicitly and are not represented as definitive selected-provider bounds."
            },
            "outputs": {
              "all_results": "응답과 헤더 전체, 원래 식별자, 모든 실제 출력 및 모든 사용량/회계 필드를 보존하세요. 고유한 소유 자산을 각각 저장하고 해당 자산을 가리키는 모든 역할을 유지하세요.",
              "documented_formats": [
                "svg"
              ],
              "every_actual_output": true,
              "family": "image",
              "fields": [
                {
                  "name": "data[].url",
                  "type": "string"
                },
                {
                  "name": "data[].b64_json",
                  "type": "string"
                },
                {
                  "name": "usage",
                  "type": "object"
                }
              ],
              "format": "The exact saved model metadata lists SVG. Preserve the actual returned MIME and unchanged vector bytes; keep every actual output and owned signed image link."
            },
            "parameters": [
              {
                "conditions": "이 Ailoot 라우팅 선택자를 그대로 사용하세요.",
                "default_known": false,
                "enum": [
                  "recraft/recraft-v4-styles-pro-vector"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "conditions": "",
                "default_known": false,
                "enum_known": false,
                "name": "prompt",
                "required": true,
                "type": "string"
              },
              {
                "conditions": "",
                "default_known": false,
                "enum_known": false,
                "maximum": 6,
                "minimum": 1,
                "name": "n",
                "required": false,
                "type": "integer"
              },
              {
                "conditions": "",
                "default_known": false,
                "enum": [
                  "1:1",
                  "2:1",
                  "1:2",
                  "3:2",
                  "2:3",
                  "4:3",
                  "3:4",
                  "5:4",
                  "4:5",
                  "16:9",
                  "9:16",
                  "auto"
                ],
                "enum_known": true,
                "name": "aspect_ratio",
                "required": false,
                "type": "string"
              },
              {
                "conditions": "",
                "default_known": false,
                "enum": [
                  "svg"
                ],
                "enum_known": true,
                "name": "output_format",
                "required": false,
                "type": "string"
              },
              {
                "conditions": "",
                "default_known": false,
                "enum_known": false,
                "items": {
                  "properties": {
                    "image_url": {
                      "properties": {
                        "url": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "url"
                      ],
                      "type": "object"
                    },
                    "type": {
                      "const": "image_url"
                    }
                  },
                  "required": [
                    "type",
                    "image_url"
                  ],
                  "type": "object"
                },
                "maxItems": 10,
                "minItems": 1,
                "name": "input_references",
                "required": true,
                "type": "array"
              },
              {
                "conditions": "",
                "default_known": false,
                "enum": [
                  "auto",
                  "low",
                  "medium",
                  "high",
                  "xhigh",
                  "max"
                ],
                "enum_known": true,
                "name": "quality",
                "required": false,
                "type": "string"
              }
            ],
            "request_schema": {
              "additionalProperties": true,
              "properties": {
                "aspect_ratio": {
                  "enum": [
                    "1:1",
                    "2:1",
                    "1:2",
                    "3:2",
                    "2:3",
                    "4:3",
                    "3:4",
                    "5:4",
                    "4:5",
                    "16:9",
                    "9:16",
                    "auto"
                  ],
                  "type": "string"
                },
                "input_references": {
                  "items": {
                    "properties": {
                      "image_url": {
                        "properties": {
                          "url": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "url"
                        ],
                        "type": "object"
                      },
                      "type": {
                        "const": "image_url"
                      }
                    },
                    "required": [
                      "type",
                      "image_url"
                    ],
                    "type": "object"
                  },
                  "maxItems": 10,
                  "minItems": 1,
                  "type": "array"
                },
                "model": {
                  "enum": [
                    "recraft/recraft-v4-styles-pro-vector"
                  ],
                  "type": "string"
                },
                "n": {
                  "maximum": 6,
                  "minimum": 1,
                  "type": "integer"
                },
                "output_format": {
                  "enum": [
                    "svg"
                  ],
                  "type": "string"
                },
                "prompt": {
                  "type": "string"
                },
                "quality": {
                  "enum": [
                    "auto",
                    "low",
                    "medium",
                    "high",
                    "xhigh",
                    "max"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "model",
                "prompt",
                "input_references"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": true,
              "body": {
                "input_references": [
                  {
                    "image_url": {
                      "url": "YOUR_ACCESSIBLE_IMAGE_URL"
                    },
                    "type": "image_url"
                  }
                ],
                "model": "recraft/recraft-v4-styles-pro-vector",
                "prompt": "A portrait of an Asian woman with neon green lights in the background, shallow depth of field."
              },
              "content_type": "application/json",
              "example_is_offline_content": true
            },
            "usage": {
              "meter": "Use the accepted method price and actual recorded usage; the request reserve is an estimate. A billing unit does not add an input capability.",
              "preserve": "Keep all returned usage, accounting and request identifiers with every actual output.",
              "settlement": "Retain the original operation; reconcile its result and accounting once."
            }
          },
          "input": {
            "conditions": [
              "이 Ailoot 라우팅 선택자를 그대로 사용하세요.",
              "quality는 일반적으로 문서화된 제어 항목입니다. 품질 설정이 없는 공급자는 이 값을 무시합니다. 모델별 품질 향상을 보장하지 않습니다."
            ],
            "content_type": "application/json",
            "material_types": [
              "text",
              "image"
            ],
            "optional": [
              "n",
              "aspect_ratio",
              "output_format",
              "quality"
            ],
            "required": [
              "model",
              "prompt",
              "input_references"
            ]
          },
          "lifecycle": {
            "assets": [
              {
                "http": "GET",
                "path": "/v1/media/assets"
              },
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              }
            ],
            "cancel_endpoint": null,
            "create": {
              "http": "POST",
              "path": "/v1/images/generations"
            },
            "mode": "synchronous_result_then_owned_library",
            "operation_id_is_not_task_id": true,
            "owned_content": {
              "http": "GET",
              "path": "/v1/media/assets/{asset_id}/content",
              "url_source": "Use the exact returned signed URL; never construct a token."
            },
            "status": [
              {
                "http": "GET",
                "id_source": "실제로 반환된 task_id 또는 선택한 라이브러리 기록입니다. operation_id는 별도의 식별자입니다.",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Keep the original X-Client-Request-ID, response and headers. An unknown or result_pending_check outcome does not authorize a second creation.",
            "unknown_no_replay": true
          },
          "method": {
            "http": "POST",
            "path": "/v1/images/generations"
          },
          "method_aliases": [],
          "output": {
            "all_results": "Retain the complete response and headers, original identifiers, every actual output and all usage/accounting fields. Save each unique owned asset and retain every role pointing to it.",
            "documented_formats": [
              "svg"
            ],
            "every_actual_output": true,
            "family": "image",
            "fields": [
              {
                "name": "data[].url",
                "type": "string"
              },
              {
                "name": "data[].b64_json",
                "type": "string"
              },
              {
                "name": "usage",
                "type": "object"
              }
            ],
            "format": "The saved exact model metadata lists SVG. Preserve actual MIME and bytes; storage MIME support alone does not prove completion of the full selected generic output path."
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "basis": "Reference estimate only; final charge follows the recorded original invoice.",
            "dimensions": {
              "conditions": "Style creation when generating with style references; once per request, in addition to the output-image price.",
              "quoted_unit": "per request"
            },
            "label": "Input reference",
            "units": [
              {
                "amount": "0.01",
                "amount_unit": "usd_per_request",
                "billing_input": false,
                "estimate_only": true,
                "key": "image_input_reference_request",
                "label": "Input reference",
                "native_amount_usd_per_unit": "0.01",
                "native_quantity": 1,
                "public_unit_label": "per request",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "request"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per output image"
            },
            "label": "output image",
            "units": [
              {
                "amount": "0.24",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "image_output",
                "label": "output image",
                "native_amount_usd_per_unit": "0.24",
                "native_quantity": 1,
                "public_unit_label": "per output image",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "image_output"
              }
            ]
          },
          {
            "basis": "이 예상 금액은 추가 요금이나 생성 완료 시 적용되는 고정 요금이 아닙니다.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "예상 생성 비용",
            "units": [
              {
                "amount": "0.24",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "forecast_usd",
                "label": "Estimated generation cost",
                "native_amount_usd_per_unit": "0.24",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "request_estimate"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\nexport AILOOT_API_KEY\n: \"${AILOOT_IMAGE_URL:?Set an actual customer material or documented value}\"\nexport AILOOT_IMAGE_URL\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"recraft/recraft-v4-styles-pro-vector\", \"prompt\": \"A portrait of an Asian woman with neon green lights in the background, shallow depth of field.\", \"input_references\": [{\"type\": \"image_url\", \"image_url\": {\"url\": \"YOUR_ACCESSIBLE_IMAGE_URL\"}}]}')\np['input_references'][0]['image_url']['url']=os.environ['AILOOT_IMAGE_URL']\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/images/generations \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\n# Submit once. Retain the complete result, original identifiers and every response header.\n",
            "label": "curl · create once and retain the complete result",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "images",
        "http": "POST",
        "in": null,
        "input": [
          "text",
          "image"
        ],
        "input_conditions": {
          "image": "Use the exact model reference-input range in the saved model metadata; a reference becomes required only for the models whose listed minimum is positive."
        },
        "label": "Images",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "out": null,
        "output": [
          "image"
        ],
        "path": "/v1/images/generations",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "original_invoice_usd",
          "image_input_price": null,
          "image_output_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "basis": "Reference estimate only; final charge follows the recorded original invoice.",
            "dimensions": {
              "conditions": "Style creation when generating with style references; once per request, in addition to the output-image price.",
              "quoted_unit": "per request"
            },
            "label": "Input reference",
            "units": [
              {
                "amount": "0.01",
                "amount_unit": "usd_per_request",
                "billing_input": false,
                "estimate_only": true,
                "key": "image_input_reference_request",
                "label": "Input reference",
                "native_amount_usd_per_unit": "0.01",
                "native_quantity": 1,
                "public_unit_label": "per request",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "request"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per output image"
            },
            "label": "output image",
            "units": [
              {
                "amount": "0.24",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "image_output",
                "label": "output image",
                "native_amount_usd_per_unit": "0.24",
                "native_quantity": 1,
                "public_unit_label": "per output image",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "image_output"
              }
            ]
          },
          {
            "basis": "This estimate is not an additional charge or a fixed rate for the completed generation.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "Estimated generation cost",
            "units": [
              {
                "amount": "0.24",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "forecast_usd",
                "label": "Estimated generation cost",
                "native_amount_usd_per_unit": "0.24",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "request_estimate"
              }
            ]
          }
        ],
        "request_model_id": "recraft/recraft-v4-styles-pro-vector",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/media/tasks/{task_id}"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.01",
            "amount_unit": "usd_per_request",
            "billing_input": false,
            "estimate_only": true,
            "key": "image_input_reference_request",
            "label": "Input reference",
            "native_amount_usd_per_unit": "0.01",
            "native_quantity": 1,
            "public_unit_label": "per request",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "request"
          },
          {
            "amount": "0.24",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "image_output",
            "label": "output image",
            "native_amount_usd_per_unit": "0.24",
            "native_quantity": 1,
            "public_unit_label": "per output image",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "image_output"
          },
          {
            "amount": "0.24",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "forecast_usd",
            "label": "Estimated generation cost",
            "native_amount_usd_per_unit": "0.24",
            "native_quantity": 1,
            "public_unit_label": "estimate before generation",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "request_estimate"
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "recraft/recraft-v4-styles-pro-vector",
        "request_model_id": "recraft/recraft-v4-styles-pro-vector",
        "route_label": "Ultra"
      }
    ],
    "name": "Recraft: Recraft V4 Styles Pro Vector",
    "price": {
      "estimate_only": true,
      "in": null,
      "in_label": null,
      "out": 0.24,
      "out_label": "estimate before generation",
      "scope_label": "Estimated generation cost",
      "sort_in": null,
      "sort_out": 0.24,
      "varies": false
    },
    "short": "Recraft V4 Styles Pro Vector는 스타일 일관성을 위한 Recraft 이미지 제품군의 Pro SVG 에디션입니다. 텍스트 지시와 필수 참조 스타일로 정교한 브랜드 일러스트, 레터링, 통일된 그래픽 자산을 위한 편집 가능한 벡터 그래픽을 만듭니다.",
    "title": "Recraft: Recraft V4 Styles Pro Vector"
  },
  "renderer_schema": {
    "method_order": "Original DTO methods order; every exact route/format/path/caller survives.",
    "prices": "Original public DTO fields and original native display HTML; no flattened or normalized offers."
  },
  "representation": "exact-public-dto-and-native-renderer-html",
  "representationNotes": {
    "current_reference": {
      "about_json_pointer": "/aboutHtml",
      "methods": [
        {
          "contract_json_pointer": "/methods/0/rawMethod/contract",
          "html_json_pointer": "/methods/0/html",
          "method_ordinal": 0
        }
      ],
      "role": "current-semantic-reference"
    },
    "raw_input": {
      "examples_role": "historical-input-not-current-ready-examples",
      "json_pointers": [
        "/rawModel",
        "/methods/0/rawMethod"
      ],
      "role": "historical-owner-input"
    },
    "schema": "ailoot-native-model-representations-v1"
  },
  "schema": "ailoot-static-model-facts-v1",
  "schema_version": 1,
  "shortText": "Recraft V4 Styles Pro Vector는 스타일 일관성을 위한 Recraft 이미지 제품군의 Pro SVG 에디션입니다. 텍스트 지시와 필수 참조 스타일로 정교한 브랜드 일러스트, 레터링, 통일된 그래픽 자산을 위한 편집 가능한 벡터 그래픽을 만듭니다.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "349be3c453d0006c535dbdca9aff8756435c3a4e28cb0b3536bea1ef3fa5c0aa",
    "renderer_sha256": "6825a317438b70ab0939441dcebefece462384e77f7e96cce899605c4b208caa"
  },
  "sourceRevision": "e332d1384b6f54531b4c2f3ff19900e374b4d006b05000b571cd0a90a9358cfc"
}
