{
  "aboutHtml": "<p>Voyage 3.5 Lite converte texto em embeddings para recuperação semântica. A Voyage AI descreve esta edição como otimizada para latência e custo, tornando-a uma candidata para experiências de pesquisa que criam frequentemente embeddings de perguntas recebidas ou mantêm uma coleção extensa de passagens pesquisáveis. A saída é uma representação numérica do texto fornecido, que uma aplicação de recuperação compara com os vetores armazenados para os seus materiais de origem.</p><p>Comece por uma coleção cujos limites correspondam à tarefa do utilizador. Para um centro de ajuda, uma passagem pode explicar um procedimento e os seus pré-requisitos. Para um arquivo de discussões, mantenha parte suficiente da sequência de respostas para identificar o que a resposta aborda. Um resultado deve conduzir a um elemento de prova legível, pelo que deve guardar o texto original, uma ligação estável à fonte e os metadados do documento com cada embedding.</p><p>Escreva consultas de teste como os utilizadores as fariam. «Onde altero a morada numa fatura?» é uma verificação de pesquisa mais útil do que copiar o título do artigo relevante. Inclua perguntas curtas, paráfrases, abreviaturas de domínio e casos que mencionem vários conceitos. Examine as passagens devolvidas e identifique se um resultado em falta decorre de conteúdo de origem ausente, limites inadequados das passagens ou uma escolha de recuperação.</p><p>O fabricante documenta uma janela de contexto de 32 000 tokens. Esta capacidade permite entradas de texto extensas, enquanto o comprimento das passagens continua a ser uma escolha de conceção da experiência de pesquisa. Mantenha uma resposta compacta com as condições necessárias; evite separar uma definição do termo que explica. Extraia texto legível da fonte e remova a navegação repetida em todas as páginas quando esta oculta a informação procurada pelo utilizador.</p><p>Voyage 3.5 Lite suporta 2 048, 1 024, 512 e 256 dimensões. Representações em vírgula flutuante, inteiros de oito bits e binárias oferecem escolhas adicionais para o índice vetorial. Teste uma representação mais pequena ou quantizada com as mesmas perguntas e o mesmo corpus usados na referência de precisão total. Registe o modelo, a dimensão e o tipo de dados selecionados com o índice, para que os vetores de consulta usem as definições correspondentes.</p><p>No processo de recuperação do fabricante, identifique as passagens indexadas como documentos e as pesquisas recebidas como consultas. Preserve a associação de cada vetor devolvido ao seu texto de entrada ao processar várias passagens em conjunto. Uma operação de embeddings bem-sucedida fornece vetores; a aplicação continua a precisar de os colocar nos registos corretos e apresentar o excerto de origem quando um utilizador abre um resultado.</p><p>Utilize esta edição para uma coleção de assistência pesquisável, uma ferramenta de descoberta de documentos ou a etapa de recuperação de um assistente. Para materiais multilingues, avalie as combinações linguísticas presentes na sua coleção, em vez de depender de um único teste em inglês. Mantenha as permissões e os metadados de língua e região disponíveis para a aplicação, para que uma correspondência relevante possa ser filtrada e apresentada no contexto certo.</p><p>Para coleções em crescimento, atualize os vetores das passagens alteradas juntamente com as versões das suas fontes. Conserve um conjunto de perguntas reais que inclua correspondências fáceis, paráfrases difíceis e documentos semelhantes com respostas diferentes. Meça a qualidade da recuperação e o comportamento de todo o fluxo de pesquisa sob a carga de trabalho prevista. O posicionamento da edição Lite pelo fabricante ajuda a escolher uma candidata; a dimensão final, a estratégia de passagens e as definições do índice resultam dos testes com os seus materiais.</p>",
  "aboutText": "Voyage 3.5 Lite converte texto em embeddings para recuperação semântica. A Voyage AI descreve esta edição como otimizada para latência e custo, tornando-a uma candidata para experiências de pesquisa que criam frequentemente embeddings de perguntas recebidas ou mantêm uma coleção extensa de passagens pesquisáveis. A saída é uma representação numérica do texto fornecido, que uma aplicação de recuperação compara com os vetores armazenados para os seus materiais de origem.\n\nComece por uma coleção cujos limites correspondam à tarefa do utilizador. Para um centro de ajuda, uma passagem pode explicar um procedimento e os seus pré-requisitos. Para um arquivo de discussões, mantenha parte suficiente da sequência de respostas para identificar o que a resposta aborda. Um resultado deve conduzir a um elemento de prova legível, pelo que deve guardar o texto original, uma ligação estável à fonte e os metadados do documento com cada embedding.\n\nEscreva consultas de teste como os utilizadores as fariam. «Onde altero a morada numa fatura?» é uma verificação de pesquisa mais útil do que copiar o título do artigo relevante. Inclua perguntas curtas, paráfrases, abreviaturas de domínio e casos que mencionem vários conceitos. Examine as passagens devolvidas e identifique se um resultado em falta decorre de conteúdo de origem ausente, limites inadequados das passagens ou uma escolha de recuperação.\n\nO fabricante documenta uma janela de contexto de 32 000 tokens. Esta capacidade permite entradas de texto extensas, enquanto o comprimento das passagens continua a ser uma escolha de conceção da experiência de pesquisa. Mantenha uma resposta compacta com as condições necessárias; evite separar uma definição do termo que explica. Extraia texto legível da fonte e remova a navegação repetida em todas as páginas quando esta oculta a informação procurada pelo utilizador.\n\nVoyage 3.5 Lite suporta 2 048, 1 024, 512 e 256 dimensões. Representações em vírgula flutuante, inteiros de oito bits e binárias oferecem escolhas adicionais para o índice vetorial. Teste uma representação mais pequena ou quantizada com as mesmas perguntas e o mesmo corpus usados na referência de precisão total. Registe o modelo, a dimensão e o tipo de dados selecionados com o índice, para que os vetores de consulta usem as definições correspondentes.\n\nNo processo de recuperação do fabricante, identifique as passagens indexadas como documentos e as pesquisas recebidas como consultas. Preserve a associação de cada vetor devolvido ao seu texto de entrada ao processar várias passagens em conjunto. Uma operação de embeddings bem-sucedida fornece vetores; a aplicação continua a precisar de os colocar nos registos corretos e apresentar o excerto de origem quando um utilizador abre um resultado.\n\nUtilize esta edição para uma coleção de assistência pesquisável, uma ferramenta de descoberta de documentos ou a etapa de recuperação de um assistente. Para materiais multilingues, avalie as combinações linguísticas presentes na sua coleção, em vez de depender de um único teste em inglês. Mantenha as permissões e os metadados de língua e região disponíveis para a aplicação, para que uma correspondência relevante possa ser filtrada e apresentada no contexto certo.\n\nPara coleções em crescimento, atualize os vetores das passagens alteradas juntamente com as versões das suas fontes. Conserve um conjunto de perguntas reais que inclua correspondências fáceis, paráfrases difíceis e documentos semelhantes com respostas diferentes. Meça a qualidade da recuperação e o comportamento de todo o fluxo de pesquisa sob a carga de trabalho prevista. O posicionamento da edição Lite pelo fabricante ajuda a escolher uma candidata; a dimensão final, a estratégia de passagens e as definições do índice resultam dos testes com os seus materiais.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "2ed2deb3334a349cf562b2f1f9c55eabb8298efd41f6d736acc9cede437b2fed",
    "module_sha256": "ee9dc1c50b1e6a8fb7fa062030fcb4646b9aaaeb08be513b723a5a92a7290f06",
    "raw_model_unchanged": true,
    "schema": "ailoot-native-model-editorial-v1"
  },
  "locale": "pt-pt",
  "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=\"Fechar\">×</button></div><div class=\"idline\"><span>Voyage AI /</span><code>voyage-3.5-lite</code><button type=\"button\" id=\"copy-id\">Copiar ID</button></div><nav class=\"card-jump-nav\" aria-label=\"Secções do cartão do modelo\"><button type=\"button\" data-card-jump=\"overview\">Introdução</button><button type=\"button\" data-card-jump=\"methods\">Entradas e métodos</button><button type=\"button\" data-card-jump=\"pricing\">Tarifários</button><button type=\"button\" data-card-jump=\"examples\">Exemplos</button><button type=\"button\" data-card-jump=\"results\">Resultados</button><button type=\"button\" data-card-jump=\"aliases\">Aliases</button></nav><div class=\"card-method-tabs\" role=\"tablist\" aria-label=\"Métodos da 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\">Embeddings</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\">Introdução</h3><p class=\"mdesc-full\">Voyage 3.5 Lite transforma texto em embeddings para pesquisa semântica, com foco na latência e na eficiência da recuperação. Suporta uma janela de contexto de 32 000 tokens, quatro tamanhos vetoriais e saída quantizada para pesquisa em bases de conhecimento, correspondência entre documentos e RAG.</p><dl class=\"card-io\" data-card-io><div><dt>Entradas aceites</dt><dd>Texto</dd></div><div><dt>Resultados</dt><dd>embedding</dd></div></dl><details class=\"card-about\"><summary>Sobre o modelo</summary><p class=\"note-s\" data-model-method-boundary>Esta descrição apresenta as capacidades do modelo. As entradas, saídas e opções disponíveis no Ailoot para o método selecionado estão indicadas abaixo.</p><div class=\"mabout\" id=\"m-about\"><p>Voyage 3.5 Lite converte texto em embeddings para recuperação semântica. A Voyage AI descreve esta edição como otimizada para latência e custo, tornando-a uma candidata para experiências de pesquisa que criam frequentemente embeddings de perguntas recebidas ou mantêm uma coleção extensa de passagens pesquisáveis. A saída é uma representação numérica do texto fornecido, que uma aplicação de recuperação compara com os vetores armazenados para os seus materiais de origem.</p><p>Comece por uma coleção cujos limites correspondam à tarefa do utilizador. Para um centro de ajuda, uma passagem pode explicar um procedimento e os seus pré-requisitos. Para um arquivo de discussões, mantenha parte suficiente da sequência de respostas para identificar o que a resposta aborda. Um resultado deve conduzir a um elemento de prova legível, pelo que deve guardar o texto original, uma ligação estável à fonte e os metadados do documento com cada embedding.</p><p>Escreva consultas de teste como os utilizadores as fariam. «Onde altero a morada numa fatura?» é uma verificação de pesquisa mais útil do que copiar o título do artigo relevante. Inclua perguntas curtas, paráfrases, abreviaturas de domínio e casos que mencionem vários conceitos. Examine as passagens devolvidas e identifique se um resultado em falta decorre de conteúdo de origem ausente, limites inadequados das passagens ou uma escolha de recuperação.</p><p>O fabricante documenta uma janela de contexto de 32 000 tokens. Esta capacidade permite entradas de texto extensas, enquanto o comprimento das passagens continua a ser uma escolha de conceção da experiência de pesquisa. Mantenha uma resposta compacta com as condições necessárias; evite separar uma definição do termo que explica. Extraia texto legível da fonte e remova a navegação repetida em todas as páginas quando esta oculta a informação procurada pelo utilizador.</p><p>Voyage 3.5 Lite suporta 2 048, 1 024, 512 e 256 dimensões. Representações em vírgula flutuante, inteiros de oito bits e binárias oferecem escolhas adicionais para o índice vetorial. Teste uma representação mais pequena ou quantizada com as mesmas perguntas e o mesmo corpus usados na referência de precisão total. Registe o modelo, a dimensão e o tipo de dados selecionados com o índice, para que os vetores de consulta usem as definições correspondentes.</p><p>No processo de recuperação do fabricante, identifique as passagens indexadas como documentos e as pesquisas recebidas como consultas. Preserve a associação de cada vetor devolvido ao seu texto de entrada ao processar várias passagens em conjunto. Uma operação de embeddings bem-sucedida fornece vetores; a aplicação continua a precisar de os colocar nos registos corretos e apresentar o excerto de origem quando um utilizador abre um resultado.</p><p>Utilize esta edição para uma coleção de assistência pesquisável, uma ferramenta de descoberta de documentos ou a etapa de recuperação de um assistente. Para materiais multilingues, avalie as combinações linguísticas presentes na sua coleção, em vez de depender de um único teste em inglês. Mantenha as permissões e os metadados de língua e região disponíveis para a aplicação, para que uma correspondência relevante possa ser filtrada e apresentada no contexto certo.</p><p>Para coleções em crescimento, atualize os vetores das passagens alteradas juntamente com as versões das suas fontes. Conserve um conjunto de perguntas reais que inclua correspondências fáceis, paráfrases difíceis e documentos semelhantes com respostas diferentes. Meça a qualidade da recuperação e o comportamento de todo o fluxo de pesquisa sob a carga de trabalho prevista. O posicionamento da edição Lite pelo fabricante ajuda a escolher uma candidata; a dimensão final, a estratégia de passagens e as definições do índice resultam dos testes com os seus materiais.</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">Disponível no Ailoot · entradas e métodos</h3><details class=\"card-method\" open><summary><b>Ailoot Ultra · Representações vetoriais</b> <code>POST /v1/embeddings</code></summary><dl class=\"method-capabilities\"><div><dt>Entrada</dt><dd><code>text</code></dd></div><div><dt>Saída</dt><dd><code>embedding</code></dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>Campo</th><th>Tipo</th><th>Requisito</th><th>Valores e limites</th><th>Predefinição</th></tr></thead><tbody><tr><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span><code>string</code></td><td data-cell-label=\"Requisito\"><span class=\"card-cell-label\">Requisito</span>Obrigatório</td><td data-cell-label=\"Valores e limites\"><span class=\"card-cell-label\">Valores e limites</span><div>voyage-3.5-lite</div><div>Condições: Utilize o seletor exato de modelos da Ailoot.</div></td><td data-cell-label=\"Predefinição\" data-default=\"unspecified\"><span class=\"card-cell-label\">Predefinição</span>—</td></tr><tr><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">input</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span><code>string or array&lt;string&gt;</code></td><td data-cell-label=\"Requisito\"><span class=\"card-cell-label\">Requisito</span>Obrigatório</td><td data-cell-label=\"Valores e limites\"><span class=\"card-cell-label\">Valores e limites</span><div>Condições: Um texto ou uma lista de textos; conserve um vetor por cada elemento de dados devolvido e o respetivo índice.</div></td><td data-cell-label=\"Predefinição\" data-default=\"unspecified\"><span class=\"card-cell-label\">Predefinição</span>—</td></tr></tbody></table></div><details class=\"note-s\" data-method-contract><summary>Parâmetros e ciclo de vida do método</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>Parâmetro</th><th>Contrato</th></tr></thead><tbody><tr><th data-cell-label=\"Parâmetro\" scope=\"row\"><span class=\"card-cell-label\">Parâmetro</span><code>content_type</code></th><td data-cell-label=\"Contrato\"><span class=\"card-cell-label\">Contrato</span>application/json</td></tr><tr><th data-cell-label=\"Parâmetro\" scope=\"row\"><span class=\"card-cell-label\">Parâmetro</span><code>required</code></th><td data-cell-label=\"Contrato\"><span class=\"card-cell-label\">Contrato</span>model, input</td></tr><tr><th data-cell-label=\"Parâmetro\" scope=\"row\"><span class=\"card-cell-label\">Parâmetro</span><code>optional</code></th><td data-cell-label=\"Contrato\"><span class=\"card-cell-label\">Contrato</span></td></tr><tr><th data-cell-label=\"Parâmetro\" scope=\"row\"><span class=\"card-cell-label\">Parâmetro</span><code>material_types</code></th><td data-cell-label=\"Contrato\"><span class=\"card-cell-label\">Contrato</span>text</td></tr><tr><th data-cell-label=\"Parâmetro\" scope=\"row\"><span class=\"card-cell-label\">Parâmetro</span><code>conditions</code></th><td data-cell-label=\"Contrato\"><span class=\"card-cell-label\">Contrato</span>Envie texto com o modelo selecionado; conserve todos os vetores devolvidos e o respetivo índice.</td></tr></tbody></table></div><p>Ciclo de vida: <code>synchronous</code></p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">Tarifários</h3><div data-native-semantic-method=\"v1\" data-tariff-reference-only><p class=\"note-s\" data-rate-support-note>As referências tarifárias não acrescentam opções ao pedido. Os parâmetros suportados constam do método selecionado.</p><dl data-price-conditions><dt>Modo rápido</dt><dd>Não especificado <span class=\"note-s\">Quando o modo rápido está selecionado</span></dd><dt>Modo flex</dt><dd>Não especificado <span class=\"note-s\">Quando o modo flex está selecionado</span></dd><dt>Esforço máximo de raciocínio</dt><dd>Não especificado <span class=\"note-s\">Quando o esforço máximo de raciocínio usa o ajuste predefinido (default)</span></dd></dl></div><div data-declared-tariff-pricing><h4>Tarifas Ailoot</h4><h4>Preços por configuração</h4><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Configuração</th><th>Tabela de tarifas</th><th>Custo</th></tr></thead><tbody><tr><th data-cell-label=\"Configuração\" scope=\"row\"><span class=\"card-cell-label\">Configuração</span>Tarifas base por token</th><td data-cell-label=\"Tabela de tarifas\"><span class=\"card-cell-label\">Tabela de tarifas</span>Tarifa base</td><td data-cell-label=\"Custo\"><span class=\"card-cell-label\">Custo</span><div><span>Entrada · Tokens de entrada</span> <b>$0.0001</b> <span class=\"price-unit\">/ 1K tokens</span></div><div><span>Saída · Tokens de saída</span> <b>$0</b> <span class=\"price-unit\">/ 1K tokens</span></div><div><span>Entrada · Leitura da cache</span> <b>—</b> <span class=\"price-unit\">/ 1K tokens</span></div><div><span>Entrada · Escrita na cache</span> <b>—</b> <span class=\"price-unit\">/ 1K tokens</span></div><div><span>Entrada · Escrita na cache, 1 hora</span> <b>—</b> <span class=\"price-unit\">/ 1K tokens</span></div></td></tr></tbody></table></div></div><p class=\"note-s\">O Ailoot reserva um montante estimado antes de um pedido. Após o resultado, liquida o custo final com base na utilização medida. No streaming, a liquidação usa o registo final de utilização. <a href=\"/docs/pt-pt/billing/reserve/\">Como funcionam a reserva e a liquidação →</a></p></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">Exemplos de pedidos</h3><h4>Ailoot Ultra · Representações vetoriais</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Variantes de código\"><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 · guarde todos os vetores e dados de utilização</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Copiar código\"><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\">Receber e guardar os resultados</h3></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">Aliases</h3><h4>Aliases do modelo</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>Aliases dos caminhos dos métodos</h4><p class=\"note-s\">Use os caminhos dos métodos indicados acima.</p><h4>IDs de chamada relacionados</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": "Guarde a resposta original e X-Client-Request-ID para reconciliação. Uma resposta ambígua não constitui autorização para submeter novamente o mesmo pedido de criação.",
              "unknown_no_replay": true
            },
            "outputs": {
              "all_results": "Guarde a resposta JSON completa, cada vetor com o respetivo índice, todos os campos de utilização e os cabeçalhos do pedido.",
              "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": "Utilize o seletor exato de modelos da Ailoot.",
                "default_known": false,
                "enum": [
                  "voyage-3.5-lite"
                ],
                "enum_known": true,
                "maximum_length": null,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "conditions": "Um texto ou uma lista de textos; conserve um vetor por cada elemento de dados devolvido e o respetivo índice.",
                "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": [
              "Envie texto com o modelo selecionado; conserve todos os vetores devolvidos e o respetivo índice."
            ],
            "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": "Tarifas base por token",
            "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": "Representações vetoriais",
        "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": "688f17946e9af36d0894654ad212ec53433d96a55b5bd21f24dd4f519b73a141",
    "input_html_sha256": "24e744fd6c1183d15752023eebdb7adec9fa126b579100205d82e41144cdb688",
    "private_audit_sha256": "bdd98aada521a50fae73d65227df772ed73909233a893f6b67bc9e5a10c13569",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/pt-pt/voyage-3-5-lite/",
    "description": "Voyage 3.5 Lite transforma texto em embeddings para pesquisa semântica, com foco na latência e na eficiência da recuperação. Suporta uma janela de contexto de 32 000 tokens, quatro tamanhos vetoriais e saída quantizada para pesquisa em bases de conhecimento, correspondência entre documentos e RAG.",
    "locale": "pt-pt",
    "md_url": "https://ailoot.ai/models/pt-pt/voyage-3-5-lite/index.md",
    "title": "Voyage AI: Voyage 3.5 Lite — Ailoot",
    "url": "https://ailoot.ai/models/pt-pt/voyage-3-5-lite/"
  },
  "rawModel": {
    "about": "Voyage 3.5 Lite converte texto em embeddings para recuperação semântica. A Voyage AI descreve esta edição como otimizada para latência e custo, tornando-a uma candidata para experiências de pesquisa que criam frequentemente embeddings de perguntas recebidas ou mantêm uma coleção extensa de passagens pesquisáveis. A saída é uma representação numérica do texto fornecido, que uma aplicação de recuperação compara com os vetores armazenados para os seus materiais de origem.\n\nComece por uma coleção cujos limites correspondam à tarefa do utilizador. Para um centro de ajuda, uma passagem pode explicar um procedimento e os seus pré-requisitos. Para um arquivo de discussões, mantenha parte suficiente da sequência de respostas para identificar o que a resposta aborda. Um resultado deve conduzir a um elemento de prova legível, pelo que deve guardar o texto original, uma ligação estável à fonte e os metadados do documento com cada embedding.\n\nEscreva consultas de teste como os utilizadores as fariam. «Onde altero a morada numa fatura?» é uma verificação de pesquisa mais útil do que copiar o título do artigo relevante. Inclua perguntas curtas, paráfrases, abreviaturas de domínio e casos que mencionem vários conceitos. Examine as passagens devolvidas e identifique se um resultado em falta decorre de conteúdo de origem ausente, limites inadequados das passagens ou uma escolha de recuperação.\n\nO fabricante documenta uma janela de contexto de 32 000 tokens. Esta capacidade permite entradas de texto extensas, enquanto o comprimento das passagens continua a ser uma escolha de conceção da experiência de pesquisa. Mantenha uma resposta compacta com as condições necessárias; evite separar uma definição do termo que explica. Extraia texto legível da fonte e remova a navegação repetida em todas as páginas quando esta oculta a informação procurada pelo utilizador.\n\nVoyage 3.5 Lite suporta 2 048, 1 024, 512 e 256 dimensões. Representações em vírgula flutuante, inteiros de oito bits e binárias oferecem escolhas adicionais para o índice vetorial. Teste uma representação mais pequena ou quantizada com as mesmas perguntas e o mesmo corpus usados na referência de precisão total. Registe o modelo, a dimensão e o tipo de dados selecionados com o índice, para que os vetores de consulta usem as definições correspondentes.\n\nNo processo de recuperação do fabricante, identifique as passagens indexadas como documentos e as pesquisas recebidas como consultas. Preserve a associação de cada vetor devolvido ao seu texto de entrada ao processar várias passagens em conjunto. Uma operação de embeddings bem-sucedida fornece vetores; a aplicação continua a precisar de os colocar nos registos corretos e apresentar o excerto de origem quando um utilizador abre um resultado.\n\nUtilize esta edição para uma coleção de assistência pesquisável, uma ferramenta de descoberta de documentos ou a etapa de recuperação de um assistente. Para materiais multilingues, avalie as combinações linguísticas presentes na sua coleção, em vez de depender de um único teste em inglês. Mantenha as permissões e os metadados de língua e região disponíveis para a aplicação, para que uma correspondência relevante possa ser filtrada e apresentada no contexto certo.\n\nPara coleções em crescimento, atualize os vetores das passagens alteradas juntamente com as versões das suas fontes. Conserve um conjunto de perguntas reais que inclua correspondências fáceis, paráfrases difíceis e documentos semelhantes com respostas diferentes. Meça a qualidade da recuperação e o comportamento de todo o fluxo de pesquisa sob a carga de trabalho prevista. O posicionamento da edição Lite pelo fabricante ajuda a escolher uma candidata; a dimensão final, a estratégia de passagens e as definições do índice resultam dos testes com os seus materiais.",
    "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": "Todas as tarifas da configuração constam dos detalhes."
      }
    ],
    "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": "Guarde a resposta original e X-Client-Request-ID para reconciliação. Uma resposta ambígua não constitui autorização para submeter novamente o mesmo pedido de criação.",
              "unknown_no_replay": true
            },
            "outputs": {
              "all_results": "Guarde a resposta JSON completa, cada vetor com o respetivo índice, todos os campos de utilização e os cabeçalhos do pedido.",
              "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": "Utilize o seletor exato de modelos da Ailoot.",
                "default_known": false,
                "enum": [
                  "voyage-3.5-lite"
                ],
                "enum_known": true,
                "maximum_length": null,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "conditions": "Um texto ou uma lista de textos; conserve um vetor por cada elemento de dados devolvido e o respetivo índice.",
                "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": [
              "Envie texto com o modelo selecionado; conserve todos os vetores devolvidos e o respetivo índice."
            ],
            "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": "Tarifas base por token",
            "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": "Representações vetoriais",
        "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 transforma texto em embeddings para pesquisa semântica, com foco na latência e na eficiência da recuperação. Suporta uma janela de contexto de 32 000 tokens, quatro tamanhos vetoriais e saída quantizada para pesquisa em bases de conhecimento, correspondência entre documentos e 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 transforma texto em embeddings para pesquisa semântica, com foco na latência e na eficiência da recuperação. Suporta uma janela de contexto de 32 000 tokens, quatro tamanhos vetoriais e saída quantizada para pesquisa em bases de conhecimento, correspondência entre documentos e RAG.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "b65b92b1775047771d49d5f103779b5572521cb861486ed0a8c5b49e45cf9691",
    "renderer_sha256": "8caea4544177cc2b7d2cb3356b5f07bfd3660386d75f2714a6f603fa5e2a6cd2"
  },
  "sourceRevision": "66847a992271e09436cf3fa41b9a0c6d5153a0d306192a222be032b3a9af7bba"
}
