{
  "aboutHtml": "<p>Voyage 3.5 Lite는 의미 기반 검색을 위해 텍스트를 임베딩으로 변환합니다. Voyage AI는 이 버전을 지연 시간과 비용에 최적화했다고 설명하며, 들어오는 질문의 임베딩을 자주 생성하거나 검색 가능한 구절을 대규모로 유지하는 검색 환경의 후보로 제시합니다. 출력은 제공된 텍스트의 수치 표현이며, 검색 애플리케이션은 이를 원본 자료용으로 저장한 벡터와 비교합니다.</p><p>사용자의 작업에 맞는 경계를 가진 자료 모음부터 시작하세요. 도움말 센터에서는 하나의 구절에 절차와 그 전제 조건을 담을 수 있습니다. 토론 아카이브에서는 무엇에 대한 답변인지 알 수 있을 만큼 답글의 흐름을 유지합니다. 결과가 읽을 수 있는 근거로 이어지도록 각 임베딩과 함께 원문, 안정적인 원본 링크, 문서 메타데이터를 저장하세요.</p><p>사용자가 질문하는 방식으로 테스트 쿼리를 작성합니다. “청구서의 주소는 어디에서 바꾸나요?”는 관련 문서 제목을 복사하는 것보다 더 유용한 검색 점검입니다. 짧은 질문, 바꿔 쓴 표현, 분야 약어, 여러 개념을 언급하는 사례를 포함하세요. 반환된 구절을 검토하고, 결과를 놓친 원인이 원본 내용의 누락인지, 부적절한 구절 경계인지, 검색상 선택인지 확인합니다.</p><p>개발사는 32,000토큰 컨텍스트 창을 문서화합니다. 상당한 양의 텍스트를 입력할 수 있지만, 구절의 길이는 검색 경험을 설계할 때 선택해야 합니다. 간결한 답은 필요한 조건과 함께 유지하고, 정의를 설명 대상 용어에서 떼어 내지 마세요. 원본에서 읽기 쉬운 텍스트를 추출하고, 모든 페이지에서 반복되는 탐색 요소가 사용자가 원하는 정보를 가릴 때는 제거합니다.</p><p>Voyage 3.5 Lite는 2,048, 1,024, 512, 256차원을 지원합니다. 부동소수점, 8비트 정수, 이진 표현은 벡터 색인을 위한 추가 선택지를 제공합니다. 작은 표현이나 양자화된 표현은 완전 정밀도 기준선에 사용한 것과 같은 질문 및 코퍼스로 테스트하세요. 쿼리 벡터에도 대응하는 설정을 쓰도록 선택한 모델, 차원, 데이터 유형을 색인과 함께 기록합니다.</p><p>개발사의 검색 워크플로에서는 색인에 넣는 구절을 문서로, 들어오는 검색을 쿼리로 지정합니다. 여러 구절을 함께 처리할 때도 반환된 모든 벡터와 입력 텍스트 사이의 대응 관계를 보존하세요. 임베딩 작업이 성공하면 벡터가 제공됩니다. 애플리케이션은 이를 올바른 레코드에 넣고, 사용자가 결과를 열면 원본 발췌문을 보여 주어야 합니다.</p><p>이 버전은 검색 가능한 지원 자료 모음, 문서 탐색 도구, 도우미의 검색 단계에 사용할 수 있습니다. 다국어 자료에서는 영어 테스트 하나에 의존하지 말고, 자신의 자료 모음에 실제로 있는 언어 조합을 평가하세요. 관련 일치 항목을 적절한 맥락에서 필터링하고 표시할 수 있도록, 애플리케이션이 권한과 로케일 메타데이터를 이용할 수 있게 합니다.</p><p>자료 모음이 커지면 변경된 구절의 벡터를 원본 버전과 함께 업데이트합니다. 쉬운 일치, 어려운 바꿔 쓰기, 비슷하지만 답이 다른 문서를 포함한 실제 질문 모음을 유지하세요. 예상하는 작업 부하에서 검색 품질과 전체 검색 흐름의 동작을 측정합니다. 개발사의 Lite 버전 포지셔닝은 후보 선택에 도움이 되지만, 최종 차원, 구절 구성 전략, 색인 설정은 자신의 자료에서 얻은 결과로 결정합니다.</p>",
  "aboutText": "Voyage 3.5 Lite는 의미 기반 검색을 위해 텍스트를 임베딩으로 변환합니다. Voyage AI는 이 버전을 지연 시간과 비용에 최적화했다고 설명하며, 들어오는 질문의 임베딩을 자주 생성하거나 검색 가능한 구절을 대규모로 유지하는 검색 환경의 후보로 제시합니다. 출력은 제공된 텍스트의 수치 표현이며, 검색 애플리케이션은 이를 원본 자료용으로 저장한 벡터와 비교합니다.\n\n사용자의 작업에 맞는 경계를 가진 자료 모음부터 시작하세요. 도움말 센터에서는 하나의 구절에 절차와 그 전제 조건을 담을 수 있습니다. 토론 아카이브에서는 무엇에 대한 답변인지 알 수 있을 만큼 답글의 흐름을 유지합니다. 결과가 읽을 수 있는 근거로 이어지도록 각 임베딩과 함께 원문, 안정적인 원본 링크, 문서 메타데이터를 저장하세요.\n\n사용자가 질문하는 방식으로 테스트 쿼리를 작성합니다. “청구서의 주소는 어디에서 바꾸나요?”는 관련 문서 제목을 복사하는 것보다 더 유용한 검색 점검입니다. 짧은 질문, 바꿔 쓴 표현, 분야 약어, 여러 개념을 언급하는 사례를 포함하세요. 반환된 구절을 검토하고, 결과를 놓친 원인이 원본 내용의 누락인지, 부적절한 구절 경계인지, 검색상 선택인지 확인합니다.\n\n개발사는 32,000토큰 컨텍스트 창을 문서화합니다. 상당한 양의 텍스트를 입력할 수 있지만, 구절의 길이는 검색 경험을 설계할 때 선택해야 합니다. 간결한 답은 필요한 조건과 함께 유지하고, 정의를 설명 대상 용어에서 떼어 내지 마세요. 원본에서 읽기 쉬운 텍스트를 추출하고, 모든 페이지에서 반복되는 탐색 요소가 사용자가 원하는 정보를 가릴 때는 제거합니다.\n\nVoyage 3.5 Lite는 2,048, 1,024, 512, 256차원을 지원합니다. 부동소수점, 8비트 정수, 이진 표현은 벡터 색인을 위한 추가 선택지를 제공합니다. 작은 표현이나 양자화된 표현은 완전 정밀도 기준선에 사용한 것과 같은 질문 및 코퍼스로 테스트하세요. 쿼리 벡터에도 대응하는 설정을 쓰도록 선택한 모델, 차원, 데이터 유형을 색인과 함께 기록합니다.\n\n개발사의 검색 워크플로에서는 색인에 넣는 구절을 문서로, 들어오는 검색을 쿼리로 지정합니다. 여러 구절을 함께 처리할 때도 반환된 모든 벡터와 입력 텍스트 사이의 대응 관계를 보존하세요. 임베딩 작업이 성공하면 벡터가 제공됩니다. 애플리케이션은 이를 올바른 레코드에 넣고, 사용자가 결과를 열면 원본 발췌문을 보여 주어야 합니다.\n\n이 버전은 검색 가능한 지원 자료 모음, 문서 탐색 도구, 도우미의 검색 단계에 사용할 수 있습니다. 다국어 자료에서는 영어 테스트 하나에 의존하지 말고, 자신의 자료 모음에 실제로 있는 언어 조합을 평가하세요. 관련 일치 항목을 적절한 맥락에서 필터링하고 표시할 수 있도록, 애플리케이션이 권한과 로케일 메타데이터를 이용할 수 있게 합니다.\n\n자료 모음이 커지면 변경된 구절의 벡터를 원본 버전과 함께 업데이트합니다. 쉬운 일치, 어려운 바꿔 쓰기, 비슷하지만 답이 다른 문서를 포함한 실제 질문 모음을 유지하세요. 예상하는 작업 부하에서 검색 품질과 전체 검색 흐름의 동작을 측정합니다. 개발사의 Lite 버전 포지셔닝은 후보 선택에 도움이 되지만, 최종 차원, 구절 구성 전략, 색인 설정은 자신의 자료에서 얻은 결과로 결정합니다.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "b3585708597741e8e056d59a166183bca359f22c0bc0d68b54b2f2983b910a4d",
    "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.5 Lite</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"닫기\">×</button></div><div class=\"idline\"><span>Voyage AI /</span><code>voyage-3.5-lite</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.5-lite\">임베딩</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.5 Lite는 지연 시간과 효율적인 검색에 초점을 맞춰 의미 검색용 텍스트 임베딩을 생성합니다. 32,000토큰 컨텍스트 창, 네 가지 벡터 크기, 양자화 출력을 지원하며 지식 베이스 검색, 문서 매칭, RAG에 활용할 수 있습니다.</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.5 Lite는 의미 기반 검색을 위해 텍스트를 임베딩으로 변환합니다. Voyage AI는 이 버전을 지연 시간과 비용에 최적화했다고 설명하며, 들어오는 질문의 임베딩을 자주 생성하거나 검색 가능한 구절을 대규모로 유지하는 검색 환경의 후보로 제시합니다. 출력은 제공된 텍스트의 수치 표현이며, 검색 애플리케이션은 이를 원본 자료용으로 저장한 벡터와 비교합니다.</p><p>사용자의 작업에 맞는 경계를 가진 자료 모음부터 시작하세요. 도움말 센터에서는 하나의 구절에 절차와 그 전제 조건을 담을 수 있습니다. 토론 아카이브에서는 무엇에 대한 답변인지 알 수 있을 만큼 답글의 흐름을 유지합니다. 결과가 읽을 수 있는 근거로 이어지도록 각 임베딩과 함께 원문, 안정적인 원본 링크, 문서 메타데이터를 저장하세요.</p><p>사용자가 질문하는 방식으로 테스트 쿼리를 작성합니다. “청구서의 주소는 어디에서 바꾸나요?”는 관련 문서 제목을 복사하는 것보다 더 유용한 검색 점검입니다. 짧은 질문, 바꿔 쓴 표현, 분야 약어, 여러 개념을 언급하는 사례를 포함하세요. 반환된 구절을 검토하고, 결과를 놓친 원인이 원본 내용의 누락인지, 부적절한 구절 경계인지, 검색상 선택인지 확인합니다.</p><p>개발사는 32,000토큰 컨텍스트 창을 문서화합니다. 상당한 양의 텍스트를 입력할 수 있지만, 구절의 길이는 검색 경험을 설계할 때 선택해야 합니다. 간결한 답은 필요한 조건과 함께 유지하고, 정의를 설명 대상 용어에서 떼어 내지 마세요. 원본에서 읽기 쉬운 텍스트를 추출하고, 모든 페이지에서 반복되는 탐색 요소가 사용자가 원하는 정보를 가릴 때는 제거합니다.</p><p>Voyage 3.5 Lite는 2,048, 1,024, 512, 256차원을 지원합니다. 부동소수점, 8비트 정수, 이진 표현은 벡터 색인을 위한 추가 선택지를 제공합니다. 작은 표현이나 양자화된 표현은 완전 정밀도 기준선에 사용한 것과 같은 질문 및 코퍼스로 테스트하세요. 쿼리 벡터에도 대응하는 설정을 쓰도록 선택한 모델, 차원, 데이터 유형을 색인과 함께 기록합니다.</p><p>개발사의 검색 워크플로에서는 색인에 넣는 구절을 문서로, 들어오는 검색을 쿼리로 지정합니다. 여러 구절을 함께 처리할 때도 반환된 모든 벡터와 입력 텍스트 사이의 대응 관계를 보존하세요. 임베딩 작업이 성공하면 벡터가 제공됩니다. 애플리케이션은 이를 올바른 레코드에 넣고, 사용자가 결과를 열면 원본 발췌문을 보여 주어야 합니다.</p><p>이 버전은 검색 가능한 지원 자료 모음, 문서 탐색 도구, 도우미의 검색 단계에 사용할 수 있습니다. 다국어 자료에서는 영어 테스트 하나에 의존하지 말고, 자신의 자료 모음에 실제로 있는 언어 조합을 평가하세요. 관련 일치 항목을 적절한 맥락에서 필터링하고 표시할 수 있도록, 애플리케이션이 권한과 로케일 메타데이터를 이용할 수 있게 합니다.</p><p>자료 모음이 커지면 변경된 구절의 벡터를 원본 버전과 함께 업데이트합니다. 쉬운 일치, 어려운 바꿔 쓰기, 비슷하지만 답이 다른 문서를 포함한 실제 질문 모음을 유지하세요. 예상하는 작업 부하에서 검색 품질과 전체 검색 흐름의 동작을 측정합니다. 개발사의 Lite 버전 포지셔닝은 후보 선택에 도움이 되지만, 최종 차원, 구절 구성 전략, 색인 설정은 자신의 자료에서 얻은 결과로 결정합니다.</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.5-lite</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.0001</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-2788-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2788-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-2788-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-2788-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.5-lite&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.5-lite&amp;route=Ultra&amp;caller=voyage-3.5-lite&amp;fmt=embeddings\"><code>voyage-3.5-lite</code></a></span></p><h4>메서드 경로 별칭</h4><p class=\"note-s\">위에 표시된 메서드 경로를 사용하세요.</p><h4>관련 호출용 ID</h4><p class=\"note-s\"><a href=\"#m=voyage-3.5-lite&amp;route=Ultra&amp;caller=voyage-3.5-lite&amp;fmt=embeddings\"><code>voyage-3.5-lite</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "voyage-3.5-lite",
        "fmt": "embeddings",
        "http": "POST",
        "path": "/v1/embeddings",
        "request_model_id": "voyage-3.5-lite",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|embeddings|/v1/embeddings|voyage-3.5-lite",
      "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.5-lite"
                ],
                "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.5-lite"
                  ],
                  "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.5-lite"
              },
              "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.0001000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000001",
                "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.5-lite\",\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.1,
        "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.0001000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000001",
                "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.5-lite",
        "route_label": "Ultra",
        "status_reads": [],
        "tiers": [],
        "units": [
          {
            "amount": "0.0001000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.0000001",
            "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.5-lite",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "8d9901671046a11893bb54706e4ab811222e73ac19a3482da542aca9773161ba",
    "input_html_sha256": "97f6753406eff8a34b96d11929fff304cad4083db968519a6a99213aa2696986",
    "private_audit_sha256": "b07b61fabf31025e8a4fb9dcc0b06d08f94e2cd75270bd9b6794878368af5ba6",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/ko/voyage-3-5-lite/",
    "description": "Voyage 3.5 Lite는 지연 시간과 효율적인 검색에 초점을 맞춰 의미 검색용 텍스트 임베딩을 생성합니다. 32,000토큰 컨텍스트 창, 네 가지 벡터 크기, 양자화 출력을 지원하며 지식 베이스 검색, 문서 매칭, RAG에 활용할 수 있습니다.",
    "locale": "ko",
    "md_url": "https://ailoot.ai/models/ko/voyage-3-5-lite/index.md",
    "title": "Voyage AI: Voyage 3.5 Lite — Ailoot",
    "url": "https://ailoot.ai/models/ko/voyage-3-5-lite/"
  },
  "rawModel": {
    "about": "Voyage 3.5 Lite는 의미 기반 검색을 위해 텍스트를 임베딩으로 변환합니다. Voyage AI는 이 버전을 지연 시간과 비용에 최적화했다고 설명하며, 들어오는 질문의 임베딩을 자주 생성하거나 검색 가능한 구절을 대규모로 유지하는 검색 환경의 후보로 제시합니다. 출력은 제공된 텍스트의 수치 표현이며, 검색 애플리케이션은 이를 원본 자료용으로 저장한 벡터와 비교합니다.\n\n사용자의 작업에 맞는 경계를 가진 자료 모음부터 시작하세요. 도움말 센터에서는 하나의 구절에 절차와 그 전제 조건을 담을 수 있습니다. 토론 아카이브에서는 무엇에 대한 답변인지 알 수 있을 만큼 답글의 흐름을 유지합니다. 결과가 읽을 수 있는 근거로 이어지도록 각 임베딩과 함께 원문, 안정적인 원본 링크, 문서 메타데이터를 저장하세요.\n\n사용자가 질문하는 방식으로 테스트 쿼리를 작성합니다. “청구서의 주소는 어디에서 바꾸나요?”는 관련 문서 제목을 복사하는 것보다 더 유용한 검색 점검입니다. 짧은 질문, 바꿔 쓴 표현, 분야 약어, 여러 개념을 언급하는 사례를 포함하세요. 반환된 구절을 검토하고, 결과를 놓친 원인이 원본 내용의 누락인지, 부적절한 구절 경계인지, 검색상 선택인지 확인합니다.\n\n개발사는 32,000토큰 컨텍스트 창을 문서화합니다. 상당한 양의 텍스트를 입력할 수 있지만, 구절의 길이는 검색 경험을 설계할 때 선택해야 합니다. 간결한 답은 필요한 조건과 함께 유지하고, 정의를 설명 대상 용어에서 떼어 내지 마세요. 원본에서 읽기 쉬운 텍스트를 추출하고, 모든 페이지에서 반복되는 탐색 요소가 사용자가 원하는 정보를 가릴 때는 제거합니다.\n\nVoyage 3.5 Lite는 2,048, 1,024, 512, 256차원을 지원합니다. 부동소수점, 8비트 정수, 이진 표현은 벡터 색인을 위한 추가 선택지를 제공합니다. 작은 표현이나 양자화된 표현은 완전 정밀도 기준선에 사용한 것과 같은 질문 및 코퍼스로 테스트하세요. 쿼리 벡터에도 대응하는 설정을 쓰도록 선택한 모델, 차원, 데이터 유형을 색인과 함께 기록합니다.\n\n개발사의 검색 워크플로에서는 색인에 넣는 구절을 문서로, 들어오는 검색을 쿼리로 지정합니다. 여러 구절을 함께 처리할 때도 반환된 모든 벡터와 입력 텍스트 사이의 대응 관계를 보존하세요. 임베딩 작업이 성공하면 벡터가 제공됩니다. 애플리케이션은 이를 올바른 레코드에 넣고, 사용자가 결과를 열면 원본 발췌문을 보여 주어야 합니다.\n\n이 버전은 검색 가능한 지원 자료 모음, 문서 탐색 도구, 도우미의 검색 단계에 사용할 수 있습니다. 다국어 자료에서는 영어 테스트 하나에 의존하지 말고, 자신의 자료 모음에 실제로 있는 언어 조합을 평가하세요. 관련 일치 항목을 적절한 맥락에서 필터링하고 표시할 수 있도록, 애플리케이션이 권한과 로케일 메타데이터를 이용할 수 있게 합니다.\n\n자료 모음이 커지면 변경된 구절의 벡터를 원본 버전과 함께 업데이트합니다. 쉬운 일치, 어려운 바꿔 쓰기, 비슷하지만 답이 다른 문서를 포함한 실제 질문 모음을 유지하세요. 예상하는 작업 부하에서 검색 품질과 전체 검색 흐름의 동작을 측정합니다. 개발사의 Lite 버전 포지셔닝은 후보 선택에 도움이 되지만, 최종 차원, 구절 구성 전략, 색인 설정은 자신의 자료에서 얻은 결과로 결정합니다.",
    "about_sha256": "6da9d6fd6cfde8d6f5bf8b7aa370b1ddd356c1c7303a01cbc8c52ded9e166385",
    "alias_of": null,
    "aliases": [],
    "author": "Voyage AI",
    "capabilities": {
      "context_length": 32000,
      "manufacturer_input": [
        "text"
      ],
      "manufacturer_output": [
        "embeddings"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.0001000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.0000001",
            "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.5 Lite",
    "formats": [
      "embeddings"
    ],
    "id": "voyage-3.5-lite",
    "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.5-lite"
                ],
                "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.5-lite"
                  ],
                  "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.5-lite"
              },
              "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.0001000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000001",
                "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.5-lite\",\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.1,
        "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.0001000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000001",
                "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.5-lite",
        "route_label": "Ultra",
        "status_reads": [],
        "tiers": [],
        "units": [
          {
            "amount": "0.0001000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.0000001",
            "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.5-lite",
        "request_model_id": "voyage-3.5-lite",
        "route_label": "Ultra"
      }
    ],
    "name": "Voyage AI: Voyage 3.5 Lite",
    "price": {
      "in": 0.1,
      "in_label": null,
      "out": 0,
      "out_label": null,
      "scope_label": "Token rates",
      "sort_in": 0.1,
      "sort_out": 0,
      "varies": false
    },
    "short": "Voyage 3.5 Lite는 지연 시간과 효율적인 검색에 초점을 맞춰 의미 검색용 텍스트 임베딩을 생성합니다. 32,000토큰 컨텍스트 창, 네 가지 벡터 크기, 양자화 출력을 지원하며 지식 베이스 검색, 문서 매칭, RAG에 활용할 수 있습니다.",
    "short_sha256": "61db24acd587cfab4f14b7f3c526314d69996c4d48e50298883531c74deb64a7"
  },
  "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.5 Lite는 지연 시간과 효율적인 검색에 초점을 맞춰 의미 검색용 텍스트 임베딩을 생성합니다. 32,000토큰 컨텍스트 창, 네 가지 벡터 크기, 양자화 출력을 지원하며 지식 베이스 검색, 문서 매칭, RAG에 활용할 수 있습니다.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "cbf25dd59f45451c1b5ede76ce5798f184388c9919c287c16fda2294403f0d1a",
    "renderer_sha256": "6825a317438b70ab0939441dcebefece462384e77f7e96cce899605c4b208caa"
  },
  "sourceRevision": "8182f83eea27d645aeba7de7d2d5e15ccbcf16d0d0e37bc54d84b202e0d32040"
}
