{
  "aboutHtml": "<p>Voyage 3 Large는 문서 모음에서 관련 정보를 찾기 위한 텍스트 임베딩 모델입니다. 제공된 각 텍스트를 수치 벡터로 표현하므로, 애플리케이션은 검색 요청을 표현은 달라도 의미가 관련된 구절과 비교할 수 있습니다. Voyage AI는 이 버전을 기술 문서, 대화, 긴 문서 등의 자료를 다루는 범용 및 다국어 검색용으로 소개합니다.</p><p>사람들이 실제로 다시 찾아야 하는 정보로 검색 가능한 자료 모음을 구성하세요. 제품 지식 베이스에서는 기능 설명을 전제 조건 및 관련 예외와 함께 유지합니다. 회의 기록에서는 주제를 이해할 수 있도록 발언자 표시와 충분한 주변 논의를 보존합니다. 큰 원본 자료를 유용한 경계에서 나누고, 각 벡터와 함께 원본 제목, 문서 식별자, 구절의 위치를 유지하세요.</p><p>검색 질문은 쿼리로, 색인에 넣는 자료는 문서로 준비합니다. 개발사의 텍스트 임베딩 워크플로에서는 입력 유형이 해당 텍스트의 검색 역할을 모델에 알려 줍니다. 그러면 “보안 키를 잃어버린 구성원은 어떻게 접근 권한을 복구할 수 있나요?”와 같은 쿼리를, 표현이 다른 경우에도 복구 절차를 설명하는 지원 자료의 구절과 비교할 수 있습니다. 검색 결과에서 일치의 근거를 보여 줄 수 있도록 원문 구절을 계속 참조할 수 있게 하세요.</p><p>모델의 컨텍스트 창은 32,000토큰입니다. 긴 입력은 절 전체를 보존할 수 있지만, 문서 전체가 항상 가장 유용한 검색 단위인 것은 아닙니다. 범위가 넓은 벡터가 올바른 파일을 가리키더라도, 정확한 답을 찾는 일은 독자에게 남을 수 있습니다. 표시하려는 결과에 맞춰 구절의 경계를 선택하고, 제목, 단서 조건, 정의를 그것들이 설명하는 내용과 함께 유지하세요.</p><p>Voyage 3 Large는 2,048, 1,024, 512 또는 256차원 벡터를 지원합니다. 개발사는 부동소수점, 부호 있는 또는 부호 없는 8비트, 이진 표현도 문서화합니다. 이러한 선택을 통해 검색 시스템은 벡터의 세부 정보와 색인 크기 및 검색 동작을 비교할 수 있습니다. 사용할 벡터 저장소가 지원하는 형식을 선택한 뒤, 운영 색인 설정을 결정하기 전에 실제 코퍼스와 대표 질문으로 평가하세요.</p><p>다국어 검색에서는 사용자가 쓰는 언어로 된 테스트 질문을 포함하고, 검색된 원본 구절을 원래 언어로 검토합니다. 공통 검색 인터페이스로 여러 언어의 자료 모음을 제공하면서, 문서 메타데이터로 원본의 로케일과 버전을 식별할 수 있습니다. 임베딩 전에 일반적인 요약으로 대체하지 말고, 추출 과정에서 의미 있는 이름, 약어, 분야 용어를 보존하세요.</p><p>검색 페이지, 지식 도우미, 문서 선택 단계에서 후보 구절을 가져오는 데 벡터를 사용합니다. 색인에 들어간 자료 모음과 쿼리에 같은 모델과 벡터 설정을 유지하세요. 임베딩 모델을 교체하거나 벡터 차원을 바꿀 때는, 영향을 받는 색인을 의도적으로 다시 만들고 비교합니다. 벡터 길이만으로는 그것이 어떻게 생성되었는지 알 수 없습니다.</p><p>올바른 구절이 나타나는지, 유사하지만 오해를 유발하는 구절이 더 높은 순위에 오는지, 표시되는 발췌문에 답이 있는지 등 검색의 유용성으로 결과를 판단하세요. 모호한 표현과 거의 중복되는 문서를 포함해, 예상 원본 자료와 실제 질문으로 구성한 작은 모음을 유지합니다. 임베딩은 검색 가능한 표현을 제공하고, 애플리케이션은 일치 항목을 활용 가능한 결과로 만드는 데 필요한 원문, 권한, 링크를 유지합니다.</p>",
  "aboutText": "Voyage 3 Large는 문서 모음에서 관련 정보를 찾기 위한 텍스트 임베딩 모델입니다. 제공된 각 텍스트를 수치 벡터로 표현하므로, 애플리케이션은 검색 요청을 표현은 달라도 의미가 관련된 구절과 비교할 수 있습니다. Voyage AI는 이 버전을 기술 문서, 대화, 긴 문서 등의 자료를 다루는 범용 및 다국어 검색용으로 소개합니다.\n\n사람들이 실제로 다시 찾아야 하는 정보로 검색 가능한 자료 모음을 구성하세요. 제품 지식 베이스에서는 기능 설명을 전제 조건 및 관련 예외와 함께 유지합니다. 회의 기록에서는 주제를 이해할 수 있도록 발언자 표시와 충분한 주변 논의를 보존합니다. 큰 원본 자료를 유용한 경계에서 나누고, 각 벡터와 함께 원본 제목, 문서 식별자, 구절의 위치를 유지하세요.\n\n검색 질문은 쿼리로, 색인에 넣는 자료는 문서로 준비합니다. 개발사의 텍스트 임베딩 워크플로에서는 입력 유형이 해당 텍스트의 검색 역할을 모델에 알려 줍니다. 그러면 “보안 키를 잃어버린 구성원은 어떻게 접근 권한을 복구할 수 있나요?”와 같은 쿼리를, 표현이 다른 경우에도 복구 절차를 설명하는 지원 자료의 구절과 비교할 수 있습니다. 검색 결과에서 일치의 근거를 보여 줄 수 있도록 원문 구절을 계속 참조할 수 있게 하세요.\n\n모델의 컨텍스트 창은 32,000토큰입니다. 긴 입력은 절 전체를 보존할 수 있지만, 문서 전체가 항상 가장 유용한 검색 단위인 것은 아닙니다. 범위가 넓은 벡터가 올바른 파일을 가리키더라도, 정확한 답을 찾는 일은 독자에게 남을 수 있습니다. 표시하려는 결과에 맞춰 구절의 경계를 선택하고, 제목, 단서 조건, 정의를 그것들이 설명하는 내용과 함께 유지하세요.\n\nVoyage 3 Large는 2,048, 1,024, 512 또는 256차원 벡터를 지원합니다. 개발사는 부동소수점, 부호 있는 또는 부호 없는 8비트, 이진 표현도 문서화합니다. 이러한 선택을 통해 검색 시스템은 벡터의 세부 정보와 색인 크기 및 검색 동작을 비교할 수 있습니다. 사용할 벡터 저장소가 지원하는 형식을 선택한 뒤, 운영 색인 설정을 결정하기 전에 실제 코퍼스와 대표 질문으로 평가하세요.\n\n다국어 검색에서는 사용자가 쓰는 언어로 된 테스트 질문을 포함하고, 검색된 원본 구절을 원래 언어로 검토합니다. 공통 검색 인터페이스로 여러 언어의 자료 모음을 제공하면서, 문서 메타데이터로 원본의 로케일과 버전을 식별할 수 있습니다. 임베딩 전에 일반적인 요약으로 대체하지 말고, 추출 과정에서 의미 있는 이름, 약어, 분야 용어를 보존하세요.\n\n검색 페이지, 지식 도우미, 문서 선택 단계에서 후보 구절을 가져오는 데 벡터를 사용합니다. 색인에 들어간 자료 모음과 쿼리에 같은 모델과 벡터 설정을 유지하세요. 임베딩 모델을 교체하거나 벡터 차원을 바꿀 때는, 영향을 받는 색인을 의도적으로 다시 만들고 비교합니다. 벡터 길이만으로는 그것이 어떻게 생성되었는지 알 수 없습니다.\n\n올바른 구절이 나타나는지, 유사하지만 오해를 유발하는 구절이 더 높은 순위에 오는지, 표시되는 발췌문에 답이 있는지 등 검색의 유용성으로 결과를 판단하세요. 모호한 표현과 거의 중복되는 문서를 포함해, 예상 원본 자료와 실제 질문으로 구성한 작은 모음을 유지합니다. 임베딩은 검색 가능한 표현을 제공하고, 애플리케이션은 일치 항목을 활용 가능한 결과로 만드는 데 필요한 원문, 권한, 링크를 유지합니다.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "f574672516766e26edfaf878f04ea384b8e1f0bedebf318d23977c89b1cfde8b",
    "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\">Voyage AI: Voyage 3 Large</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"닫기\">×</button></div><div class=\"idline\"><span>Voyage AI /</span><code>voyage-3-large</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|embeddings|/v1/embeddings|voyage-3-large\">임베딩</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\">Voyage 3 Large는 범용 및 다국어 검색을 위해 텍스트를 벡터로 변환합니다. 32,000토큰 입력 창, 선택 가능한 벡터 차원, 양자화 형식으로 검색 가능한 지식 베이스, 문서 탐색, 검색 증강 생성을 지원합니다.</p><dl class=\"card-io\" data-card-io><div><dt>허용 입력</dt><dd>텍스트</dd></div><div><dt>결과</dt><dd>embedding</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>Voyage 3 Large는 문서 모음에서 관련 정보를 찾기 위한 텍스트 임베딩 모델입니다. 제공된 각 텍스트를 수치 벡터로 표현하므로, 애플리케이션은 검색 요청을 표현은 달라도 의미가 관련된 구절과 비교할 수 있습니다. Voyage AI는 이 버전을 기술 문서, 대화, 긴 문서 등의 자료를 다루는 범용 및 다국어 검색용으로 소개합니다.</p><p>사람들이 실제로 다시 찾아야 하는 정보로 검색 가능한 자료 모음을 구성하세요. 제품 지식 베이스에서는 기능 설명을 전제 조건 및 관련 예외와 함께 유지합니다. 회의 기록에서는 주제를 이해할 수 있도록 발언자 표시와 충분한 주변 논의를 보존합니다. 큰 원본 자료를 유용한 경계에서 나누고, 각 벡터와 함께 원본 제목, 문서 식별자, 구절의 위치를 유지하세요.</p><p>검색 질문은 쿼리로, 색인에 넣는 자료는 문서로 준비합니다. 개발사의 텍스트 임베딩 워크플로에서는 입력 유형이 해당 텍스트의 검색 역할을 모델에 알려 줍니다. 그러면 “보안 키를 잃어버린 구성원은 어떻게 접근 권한을 복구할 수 있나요?”와 같은 쿼리를, 표현이 다른 경우에도 복구 절차를 설명하는 지원 자료의 구절과 비교할 수 있습니다. 검색 결과에서 일치의 근거를 보여 줄 수 있도록 원문 구절을 계속 참조할 수 있게 하세요.</p><p>모델의 컨텍스트 창은 32,000토큰입니다. 긴 입력은 절 전체를 보존할 수 있지만, 문서 전체가 항상 가장 유용한 검색 단위인 것은 아닙니다. 범위가 넓은 벡터가 올바른 파일을 가리키더라도, 정확한 답을 찾는 일은 독자에게 남을 수 있습니다. 표시하려는 결과에 맞춰 구절의 경계를 선택하고, 제목, 단서 조건, 정의를 그것들이 설명하는 내용과 함께 유지하세요.</p><p>Voyage 3 Large는 2,048, 1,024, 512 또는 256차원 벡터를 지원합니다. 개발사는 부동소수점, 부호 있는 또는 부호 없는 8비트, 이진 표현도 문서화합니다. 이러한 선택을 통해 검색 시스템은 벡터의 세부 정보와 색인 크기 및 검색 동작을 비교할 수 있습니다. 사용할 벡터 저장소가 지원하는 형식을 선택한 뒤, 운영 색인 설정을 결정하기 전에 실제 코퍼스와 대표 질문으로 평가하세요.</p><p>다국어 검색에서는 사용자가 쓰는 언어로 된 테스트 질문을 포함하고, 검색된 원본 구절을 원래 언어로 검토합니다. 공통 검색 인터페이스로 여러 언어의 자료 모음을 제공하면서, 문서 메타데이터로 원본의 로케일과 버전을 식별할 수 있습니다. 임베딩 전에 일반적인 요약으로 대체하지 말고, 추출 과정에서 의미 있는 이름, 약어, 분야 용어를 보존하세요.</p><p>검색 페이지, 지식 도우미, 문서 선택 단계에서 후보 구절을 가져오는 데 벡터를 사용합니다. 색인에 들어간 자료 모음과 쿼리에 같은 모델과 벡터 설정을 유지하세요. 임베딩 모델을 교체하거나 벡터 차원을 바꿀 때는, 영향을 받는 색인을 의도적으로 다시 만들고 비교합니다. 벡터 길이만으로는 그것이 어떻게 생성되었는지 알 수 없습니다.</p><p>올바른 구절이 나타나는지, 유사하지만 오해를 유발하는 구절이 더 높은 순위에 오는지, 표시되는 발췌문에 답이 있는지 등 검색의 유용성으로 결과를 판단하세요. 모호한 표현과 거의 중복되는 문서를 포함해, 예상 원본 자료와 실제 질문으로 구성한 작은 모음을 유지합니다. 임베딩은 검색 가능한 표현을 제공하고, 애플리케이션은 일치 항목을 활용 가능한 결과로 만드는 데 필요한 원문, 권한, 링크를 유지합니다.</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 · 임베딩</b> <code>POST /v1/embeddings</code></summary><dl class=\"method-capabilities\"><div><dt>입력</dt><dd><code>text</code></dd></div><div><dt>출력</dt><dd><code>embedding</code></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>voyage-3-large</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\">input</code></th><td data-cell-label=\"유형\" data-field-type><span class=\"card-cell-label\">유형</span><code>string or array&lt;string&gt;</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></tbody></table></div><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, input</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></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</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>선택한 모델로 텍스트를 전송하세요. 반환된 모든 벡터와 인덱스를 보존하세요.</td></tr></tbody></table></div><p>수명 주기: <code>synchronous</code></p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">요금</h3><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>Ailoot 요금</h4><h4>설정별 가격</h4><div class=\"tw\" data-pricing-profiles><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>기본 토큰 요금</th><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.0004</b> <span class=\"price-unit\">/ 1K 토큰</span></div><div><span>출력 · 출력 토큰</span> <b>$0</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></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 · 임베딩</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"코드 예제 형식\"><button class=\"cg-tab\" id=\"model-code-2787-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2787-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-2787-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-2787-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\ncat &gt; request.json &lt;&lt;&#39;JSON&#39;\n{\n  &quot;model&quot;: &quot;voyage-3-large&quot;,\n  &quot;input&quot;: &quot;The quick brown fox jumps over the lazy dog&quot;\n}\nJSON\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/embeddings \\\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 embeddings.json\n# Keep every data item and its index, the full usage object and response headers.\n</code></pre></div></div></div></section><section class=\"card-section\" data-card-section=\"results\"><h3 tabindex=\"-1\">결과 수신 및 저장</h3></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=voyage-3-large&amp;route=Ultra&amp;caller=voyage-3-large&amp;fmt=embeddings\"><code>voyage-3-large</code></a></span></p><h4>메서드 경로 별칭</h4><p class=\"note-s\">위에 표시된 메서드 경로를 사용하세요.</p><h4>관련 호출용 ID</h4><p class=\"note-s\"><a href=\"#m=voyage-3-large&amp;route=Ultra&amp;caller=voyage-3-large&amp;fmt=embeddings\"><code>voyage-3-large</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "voyage-3-large",
        "fmt": "embeddings",
        "http": "POST",
        "path": "/v1/embeddings",
        "request_model_id": "voyage-3-large",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|embeddings|/v1/embeddings|voyage-3-large",
      "ordinal": 0,
      "rawMethod": {
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Save the complete JSON response, every vector with its index, all usage fields and request headers.",
            "lifecycle": {
              "content": [],
              "create": {
                "http": "POST",
                "path": "/v1/embeddings"
              },
              "mode": "synchronous",
              "status": [],
              "unknown": "대조 확인을 위해 원본 응답과 X-Client-Request-ID를 보관하세요. 응답이 모호하다고 해서 동일한 생성 요청을 다시 제출해도 되는 것은 아닙니다.",
              "unknown_no_replay": true
            },
            "outputs": {
              "all_results": "전체 JSON 응답, 각 벡터와 해당 인덱스, 모든 사용량 필드 및 요청 헤더를 저장하세요.",
              "every_actual_output": true,
              "family": "embedding",
              "fields": [
                {
                  "name": "object",
                  "type": "string"
                },
                {
                  "name": "model",
                  "type": "string"
                },
                {
                  "name": "data[].index",
                  "type": "integer"
                },
                {
                  "name": "data[].embedding",
                  "type": "array<number>"
                },
                {
                  "name": "usage",
                  "type": "object"
                },
                {
                  "name": "usage.prompt_tokens",
                  "type": "integer"
                },
                {
                  "name": "usage.total_tokens",
                  "type": "integer"
                }
              ]
            },
            "parameters": [
              {
                "conditions": "정확한 Ailoot 모델 선택자를 사용하세요.",
                "default_known": false,
                "enum": [
                  "voyage-3-large"
                ],
                "enum_known": true,
                "maximum_length": null,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "conditions": "텍스트 또는 텍스트 목록입니다. 반환된 데이터 항목마다 벡터 하나와 해당 인덱스를 보존하세요.",
                "default_known": false,
                "enum_known": false,
                "maximum_length": null,
                "name": "input",
                "oneOf": [
                  {
                    "minLength": 1,
                    "type": "string"
                  },
                  {
                    "items": {
                      "minLength": 1,
                      "type": "string"
                    },
                    "minItems": 1,
                    "type": "array"
                  }
                ],
                "required": true,
                "type": "string or array<string>"
              }
            ],
            "request_schema": {
              "additionalProperties": true,
              "properties": {
                "input": {
                  "oneOf": [
                    {
                      "minLength": 1,
                      "type": "string"
                    },
                    {
                      "items": {
                        "minLength": 1,
                        "type": "string"
                      },
                      "minItems": 1,
                      "type": "array"
                    }
                  ]
                },
                "model": {
                  "enum": [
                    "voyage-3-large"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "model",
                "input"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": false,
              "body": {
                "input": "The quick brown fox jumps over the lazy dog",
                "model": "voyage-3-large"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "conditions": [
              "선택한 모델로 텍스트를 전송하세요. 반환된 모든 벡터와 인덱스를 보존하세요."
            ],
            "content_type": "application/json",
            "material_types": [
              "text"
            ],
            "optional": [],
            "required": [
              "model",
              "input"
            ]
          },
          "lifecycle": {
            "content": [],
            "create": {
              "http": "POST",
              "path": "/v1/embeddings"
            },
            "mode": "synchronous",
            "status": [],
            "unknown": "Keep the original response and X-Client-Request-ID for reconciliation. An ambiguous response is not permission to submit the same creation again.",
            "unknown_no_replay": true
          },
          "method": {
            "http": "POST",
            "path": "/v1/embeddings"
          },
          "output": {
            "all_results": "Save the complete JSON response, every vector with its index, all usage fields and request headers.",
            "every_actual_output": true,
            "family": "embedding",
            "fields": [
              {
                "name": "object",
                "type": "string"
              },
              {
                "name": "model",
                "type": "string"
              },
              {
                "name": "data[].index",
                "type": "integer"
              },
              {
                "name": "data[].embedding",
                "type": "array<number>"
              },
              {
                "name": "usage",
                "type": "object"
              },
              {
                "name": "usage.prompt_tokens",
                "type": "integer"
              },
              {
                "name": "usage.total_tokens",
                "type": "integer"
              }
            ]
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "기본 토큰 요금",
            "units": [
              {
                "amount": "0.0004000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000004",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\ncat > request.json <<'JSON'\n{\n  \"model\": \"voyage-3-large\",\n  \"input\": \"The quick brown fox jumps over the lazy dog\"\n}\nJSON\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/embeddings \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o embeddings.json\n# Keep every data item and its index, the full usage object and response headers.\n",
            "label": "curl · save all vectors and usage",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "embeddings",
        "http": "POST",
        "in": 0.4,
        "input": [
          "text"
        ],
        "label": "임베딩",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "out": 0,
        "output": [
          "embedding"
        ],
        "path": "/v1/embeddings",
        "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": "token",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": "0.0004000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000004",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          }
        ],
        "request_model_id": "voyage-3-large",
        "route_label": "Ultra",
        "status_reads": [],
        "tiers": [],
        "units": [
          {
            "amount": "0.0004000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.0000004",
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": "0",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0",
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "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": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "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": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "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": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          }
        ]
      }
    }
  ],
  "model_id": "voyage-3-large",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "95e6f204a477c2ceeded7f6ce9fcce5cc52a262d010fe3c74d9d4232d5975419",
    "input_html_sha256": "f5ff1d9ca39b0ee66c40fd6e223e45471dbb33c2c772b83dd0703a6ce6cac40b",
    "private_audit_sha256": "2458c8e9365f42eedd7728628bbd487d1639a07e87fb1dbbf2aa0fdc306c306d",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/ko/voyage-3-large/",
    "description": "Voyage 3 Large는 범용 및 다국어 검색을 위해 텍스트를 벡터로 변환합니다. 32,000토큰 입력 창, 선택 가능한 벡터 차원, 양자화 형식으로 검색 가능한 지식 베이스, 문서 탐색, 검색 증강 생성을 지원합니다.",
    "locale": "ko",
    "md_url": "https://ailoot.ai/models/ko/voyage-3-large/index.md",
    "title": "Voyage AI: Voyage 3 Large — Ailoot",
    "url": "https://ailoot.ai/models/ko/voyage-3-large/"
  },
  "rawModel": {
    "about": "Voyage 3 Large는 문서 모음에서 관련 정보를 찾기 위한 텍스트 임베딩 모델입니다. 제공된 각 텍스트를 수치 벡터로 표현하므로, 애플리케이션은 검색 요청을 표현은 달라도 의미가 관련된 구절과 비교할 수 있습니다. Voyage AI는 이 버전을 기술 문서, 대화, 긴 문서 등의 자료를 다루는 범용 및 다국어 검색용으로 소개합니다.\n\n사람들이 실제로 다시 찾아야 하는 정보로 검색 가능한 자료 모음을 구성하세요. 제품 지식 베이스에서는 기능 설명을 전제 조건 및 관련 예외와 함께 유지합니다. 회의 기록에서는 주제를 이해할 수 있도록 발언자 표시와 충분한 주변 논의를 보존합니다. 큰 원본 자료를 유용한 경계에서 나누고, 각 벡터와 함께 원본 제목, 문서 식별자, 구절의 위치를 유지하세요.\n\n검색 질문은 쿼리로, 색인에 넣는 자료는 문서로 준비합니다. 개발사의 텍스트 임베딩 워크플로에서는 입력 유형이 해당 텍스트의 검색 역할을 모델에 알려 줍니다. 그러면 “보안 키를 잃어버린 구성원은 어떻게 접근 권한을 복구할 수 있나요?”와 같은 쿼리를, 표현이 다른 경우에도 복구 절차를 설명하는 지원 자료의 구절과 비교할 수 있습니다. 검색 결과에서 일치의 근거를 보여 줄 수 있도록 원문 구절을 계속 참조할 수 있게 하세요.\n\n모델의 컨텍스트 창은 32,000토큰입니다. 긴 입력은 절 전체를 보존할 수 있지만, 문서 전체가 항상 가장 유용한 검색 단위인 것은 아닙니다. 범위가 넓은 벡터가 올바른 파일을 가리키더라도, 정확한 답을 찾는 일은 독자에게 남을 수 있습니다. 표시하려는 결과에 맞춰 구절의 경계를 선택하고, 제목, 단서 조건, 정의를 그것들이 설명하는 내용과 함께 유지하세요.\n\nVoyage 3 Large는 2,048, 1,024, 512 또는 256차원 벡터를 지원합니다. 개발사는 부동소수점, 부호 있는 또는 부호 없는 8비트, 이진 표현도 문서화합니다. 이러한 선택을 통해 검색 시스템은 벡터의 세부 정보와 색인 크기 및 검색 동작을 비교할 수 있습니다. 사용할 벡터 저장소가 지원하는 형식을 선택한 뒤, 운영 색인 설정을 결정하기 전에 실제 코퍼스와 대표 질문으로 평가하세요.\n\n다국어 검색에서는 사용자가 쓰는 언어로 된 테스트 질문을 포함하고, 검색된 원본 구절을 원래 언어로 검토합니다. 공통 검색 인터페이스로 여러 언어의 자료 모음을 제공하면서, 문서 메타데이터로 원본의 로케일과 버전을 식별할 수 있습니다. 임베딩 전에 일반적인 요약으로 대체하지 말고, 추출 과정에서 의미 있는 이름, 약어, 분야 용어를 보존하세요.\n\n검색 페이지, 지식 도우미, 문서 선택 단계에서 후보 구절을 가져오는 데 벡터를 사용합니다. 색인에 들어간 자료 모음과 쿼리에 같은 모델과 벡터 설정을 유지하세요. 임베딩 모델을 교체하거나 벡터 차원을 바꿀 때는, 영향을 받는 색인을 의도적으로 다시 만들고 비교합니다. 벡터 길이만으로는 그것이 어떻게 생성되었는지 알 수 없습니다.\n\n올바른 구절이 나타나는지, 유사하지만 오해를 유발하는 구절이 더 높은 순위에 오는지, 표시되는 발췌문에 답이 있는지 등 검색의 유용성으로 결과를 판단하세요. 모호한 표현과 거의 중복되는 문서를 포함해, 예상 원본 자료와 실제 질문으로 구성한 작은 모음을 유지합니다. 임베딩은 검색 가능한 표현을 제공하고, 애플리케이션은 일치 항목을 활용 가능한 결과로 만드는 데 필요한 원문, 권한, 링크를 유지합니다.",
    "about_sha256": "f8a14551c12ad8f26e408dfc995cf463d79d159d38d8d98b1790a59c1789dcc3",
    "alias_of": null,
    "aliases": [],
    "author": "Voyage AI",
    "capabilities": {
      "context_length": 32000,
      "manufacturer_input": [
        "text"
      ],
      "manufacturer_output": [
        "embeddings"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.0004000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.0000004",
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": "0",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0",
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          }
        ],
        "summary": "구성의 전체 요금 정보는 상세 정보에서 확인할 수 있습니다."
      }
    ],
    "ctx": null,
    "display_name": "Voyage AI: Voyage 3 Large",
    "formats": [
      "embeddings"
    ],
    "id": "voyage-3-large",
    "input": [
      "text"
    ],
    "kind": "embedding",
    "locale": "en",
    "max_out": null,
    "methods": [
      {
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Save the complete JSON response, every vector with its index, all usage fields and request headers.",
            "lifecycle": {
              "content": [],
              "create": {
                "http": "POST",
                "path": "/v1/embeddings"
              },
              "mode": "synchronous",
              "status": [],
              "unknown": "대조 확인을 위해 원본 응답과 X-Client-Request-ID를 보관하세요. 응답이 모호하다고 해서 동일한 생성 요청을 다시 제출해도 되는 것은 아닙니다.",
              "unknown_no_replay": true
            },
            "outputs": {
              "all_results": "전체 JSON 응답, 각 벡터와 해당 인덱스, 모든 사용량 필드 및 요청 헤더를 저장하세요.",
              "every_actual_output": true,
              "family": "embedding",
              "fields": [
                {
                  "name": "object",
                  "type": "string"
                },
                {
                  "name": "model",
                  "type": "string"
                },
                {
                  "name": "data[].index",
                  "type": "integer"
                },
                {
                  "name": "data[].embedding",
                  "type": "array<number>"
                },
                {
                  "name": "usage",
                  "type": "object"
                },
                {
                  "name": "usage.prompt_tokens",
                  "type": "integer"
                },
                {
                  "name": "usage.total_tokens",
                  "type": "integer"
                }
              ]
            },
            "parameters": [
              {
                "conditions": "정확한 Ailoot 모델 선택자를 사용하세요.",
                "default_known": false,
                "enum": [
                  "voyage-3-large"
                ],
                "enum_known": true,
                "maximum_length": null,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "conditions": "텍스트 또는 텍스트 목록입니다. 반환된 데이터 항목마다 벡터 하나와 해당 인덱스를 보존하세요.",
                "default_known": false,
                "enum_known": false,
                "maximum_length": null,
                "name": "input",
                "oneOf": [
                  {
                    "minLength": 1,
                    "type": "string"
                  },
                  {
                    "items": {
                      "minLength": 1,
                      "type": "string"
                    },
                    "minItems": 1,
                    "type": "array"
                  }
                ],
                "required": true,
                "type": "string or array<string>"
              }
            ],
            "request_schema": {
              "additionalProperties": true,
              "properties": {
                "input": {
                  "oneOf": [
                    {
                      "minLength": 1,
                      "type": "string"
                    },
                    {
                      "items": {
                        "minLength": 1,
                        "type": "string"
                      },
                      "minItems": 1,
                      "type": "array"
                    }
                  ]
                },
                "model": {
                  "enum": [
                    "voyage-3-large"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "model",
                "input"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": false,
              "body": {
                "input": "The quick brown fox jumps over the lazy dog",
                "model": "voyage-3-large"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "conditions": [
              "선택한 모델로 텍스트를 전송하세요. 반환된 모든 벡터와 인덱스를 보존하세요."
            ],
            "content_type": "application/json",
            "material_types": [
              "text"
            ],
            "optional": [],
            "required": [
              "model",
              "input"
            ]
          },
          "lifecycle": {
            "content": [],
            "create": {
              "http": "POST",
              "path": "/v1/embeddings"
            },
            "mode": "synchronous",
            "status": [],
            "unknown": "Keep the original response and X-Client-Request-ID for reconciliation. An ambiguous response is not permission to submit the same creation again.",
            "unknown_no_replay": true
          },
          "method": {
            "http": "POST",
            "path": "/v1/embeddings"
          },
          "output": {
            "all_results": "Save the complete JSON response, every vector with its index, all usage fields and request headers.",
            "every_actual_output": true,
            "family": "embedding",
            "fields": [
              {
                "name": "object",
                "type": "string"
              },
              {
                "name": "model",
                "type": "string"
              },
              {
                "name": "data[].index",
                "type": "integer"
              },
              {
                "name": "data[].embedding",
                "type": "array<number>"
              },
              {
                "name": "usage",
                "type": "object"
              },
              {
                "name": "usage.prompt_tokens",
                "type": "integer"
              },
              {
                "name": "usage.total_tokens",
                "type": "integer"
              }
            ]
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "기본 토큰 요금",
            "units": [
              {
                "amount": "0.0004000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000004",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\ncat > request.json <<'JSON'\n{\n  \"model\": \"voyage-3-large\",\n  \"input\": \"The quick brown fox jumps over the lazy dog\"\n}\nJSON\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/embeddings \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o embeddings.json\n# Keep every data item and its index, the full usage object and response headers.\n",
            "label": "curl · save all vectors and usage",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "embeddings",
        "http": "POST",
        "in": 0.4,
        "input": [
          "text"
        ],
        "label": "임베딩",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "out": 0,
        "output": [
          "embedding"
        ],
        "path": "/v1/embeddings",
        "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": "token",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": "0.0004000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000004",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          }
        ],
        "request_model_id": "voyage-3-large",
        "route_label": "Ultra",
        "status_reads": [],
        "tiers": [],
        "units": [
          {
            "amount": "0.0004000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.0000004",
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": "0",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0",
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "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": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "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": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "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": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "voyage-3-large",
        "request_model_id": "voyage-3-large",
        "route_label": "Ultra"
      }
    ],
    "name": "Voyage AI: Voyage 3 Large",
    "price": {
      "in": 0.4,
      "in_label": null,
      "out": 0,
      "out_label": null,
      "scope_label": "Token rates",
      "sort_in": 0.4,
      "sort_out": 0,
      "varies": false
    },
    "short": "Voyage 3 Large는 범용 및 다국어 검색을 위해 텍스트를 벡터로 변환합니다. 32,000토큰 입력 창, 선택 가능한 벡터 차원, 양자화 형식으로 검색 가능한 지식 베이스, 문서 탐색, 검색 증강 생성을 지원합니다.",
    "short_sha256": "97e0e5100c1133c3a38a116210c6492617852a455c2338779be2ecc6f0754b10"
  },
  "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": "Voyage 3 Large는 범용 및 다국어 검색을 위해 텍스트를 벡터로 변환합니다. 32,000토큰 입력 창, 선택 가능한 벡터 차원, 양자화 형식으로 검색 가능한 지식 베이스, 문서 탐색, 검색 증강 생성을 지원합니다.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "ef955d6dd1121b582b46f00bdeeb3236c53b6819bbb28e661200dfbd02acf479",
    "renderer_sha256": "6825a317438b70ab0939441dcebefece462384e77f7e96cce899605c4b208caa"
  },
  "sourceRevision": "bac356db7725bd4de2edeebe5f9e82b269485ab9c90cbc4a6af46f536c0d8492"
}
