{
  "aboutHtml": "<p>Voyage 3 Large é um modelo de embeddings textuais para encontrar informação relevante numa coleção de documentos. Representa cada texto fornecido como um vetor numérico, permitindo que uma aplicação compare um pedido de pesquisa com passagens cuja formulação pode ser diferente, mas cujo significado é relacionado. A Voyage AI posiciona esta edição para recuperação de informação de uso geral e multilingue, abrangendo materiais como documentação técnica, conversas e documentos longos.</p><p>Construa a coleção pesquisável a partir da informação que as pessoas precisam realmente de recuperar. Para uma base de conhecimento de produto, mantenha a explicação de uma funcionalidade com os seus pré-requisitos e exceções relevantes. Para registos de reuniões, preserve as etiquetas dos intervenientes e discussão envolvente suficiente para tornar o tema compreensível. Divida uma fonte extensa em pontos úteis e conserve o título da fonte, o identificador do documento e a posição da passagem junto de cada vetor.</p><p>Prepare uma pergunta de pesquisa como consulta e os materiais indexados como documentos. No processo de embeddings textuais do fabricante, o tipo de entrada indica ao modelo o papel do texto na recuperação. Uma consulta como «Como pode um membro recuperar o acesso depois de perder uma chave de segurança?» pode assim ser comparada com passagens de assistência que descrevem o procedimento de recuperação, mesmo que usem formulações diferentes. Mantenha a passagem original disponível, para que o resultado de pesquisa possa mostrar os elementos que sustentam a correspondência.</p><p>O modelo tem uma janela de contexto de 32 000 tokens. Uma entrada longa pode preservar uma secção completa, mas um documento inteiro nem sempre é a unidade de pesquisa mais útil. Um vetor abrangente pode apontar para o ficheiro certo, deixando ao leitor a tarefa de encontrar a resposta precisa. Escolha os limites das passagens em função do resultado que pretende mostrar e mantenha títulos, ressalvas e definições com o conteúdo que explicam.</p><p>Voyage 3 Large suporta vetores com 2 048, 1 024, 512 ou 256 dimensões. O fabricante também documenta representações em vírgula flutuante, de oito bits com ou sem sinal e binárias. Estas escolhas permitem que um sistema de recuperação compare o detalhe dos vetores com o tamanho do índice e o comportamento da pesquisa. Selecione o formato suportado pelo armazenamento vetorial pretendido e avalie-o no corpus real e em perguntas representativas antes de escolher as definições do índice de produção.</p><p>Para pesquisa multilingue, inclua perguntas de teste nas línguas usadas pelos utilizadores e examine as passagens recuperadas na sua língua original. Uma interface de pesquisa partilhada pode servir várias coleções linguísticas, enquanto os metadados dos documentos continuam a identificar a língua e região e a versão da fonte. Preserve nomes significativos, abreviaturas e termos de domínio durante a extração, em vez de os substituir por um resumo genérico antes de criar os embeddings.</p><p>Utilize os vetores para recuperar passagens candidatas para uma página de pesquisa, um assistente baseado numa base de conhecimento ou uma etapa de seleção de documentos. Mantenha o mesmo modelo e as mesmas definições vetoriais para a coleção indexada e as suas consultas. Ao substituir um modelo de embeddings ou alterar as dimensões vetoriais, reconstrua e compare o índice afetado de forma deliberada; o comprimento de um vetor, por si só, não identifica como foi produzido.</p><p>Avalie o resultado pela utilidade da recuperação: se aparece a passagem correta, se passagens próximas mas enganadoras ficam acima dela e se o excerto apresentado contém a resposta. Conserve um pequeno conjunto de perguntas reais com as fontes esperadas, incluindo formulações ambíguas e documentos quase duplicados. O embedding fornece uma representação pesquisável; a aplicação conserva o texto de origem, as permissões e as ligações necessárias para transformar uma correspondência num resultado utilizável.</p>",
  "aboutText": "Voyage 3 Large é um modelo de embeddings textuais para encontrar informação relevante numa coleção de documentos. Representa cada texto fornecido como um vetor numérico, permitindo que uma aplicação compare um pedido de pesquisa com passagens cuja formulação pode ser diferente, mas cujo significado é relacionado. A Voyage AI posiciona esta edição para recuperação de informação de uso geral e multilingue, abrangendo materiais como documentação técnica, conversas e documentos longos.\n\nConstrua a coleção pesquisável a partir da informação que as pessoas precisam realmente de recuperar. Para uma base de conhecimento de produto, mantenha a explicação de uma funcionalidade com os seus pré-requisitos e exceções relevantes. Para registos de reuniões, preserve as etiquetas dos intervenientes e discussão envolvente suficiente para tornar o tema compreensível. Divida uma fonte extensa em pontos úteis e conserve o título da fonte, o identificador do documento e a posição da passagem junto de cada vetor.\n\nPrepare uma pergunta de pesquisa como consulta e os materiais indexados como documentos. No processo de embeddings textuais do fabricante, o tipo de entrada indica ao modelo o papel do texto na recuperação. Uma consulta como «Como pode um membro recuperar o acesso depois de perder uma chave de segurança?» pode assim ser comparada com passagens de assistência que descrevem o procedimento de recuperação, mesmo que usem formulações diferentes. Mantenha a passagem original disponível, para que o resultado de pesquisa possa mostrar os elementos que sustentam a correspondência.\n\nO modelo tem uma janela de contexto de 32 000 tokens. Uma entrada longa pode preservar uma secção completa, mas um documento inteiro nem sempre é a unidade de pesquisa mais útil. Um vetor abrangente pode apontar para o ficheiro certo, deixando ao leitor a tarefa de encontrar a resposta precisa. Escolha os limites das passagens em função do resultado que pretende mostrar e mantenha títulos, ressalvas e definições com o conteúdo que explicam.\n\nVoyage 3 Large suporta vetores com 2 048, 1 024, 512 ou 256 dimensões. O fabricante também documenta representações em vírgula flutuante, de oito bits com ou sem sinal e binárias. Estas escolhas permitem que um sistema de recuperação compare o detalhe dos vetores com o tamanho do índice e o comportamento da pesquisa. Selecione o formato suportado pelo armazenamento vetorial pretendido e avalie-o no corpus real e em perguntas representativas antes de escolher as definições do índice de produção.\n\nPara pesquisa multilingue, inclua perguntas de teste nas línguas usadas pelos utilizadores e examine as passagens recuperadas na sua língua original. Uma interface de pesquisa partilhada pode servir várias coleções linguísticas, enquanto os metadados dos documentos continuam a identificar a língua e região e a versão da fonte. Preserve nomes significativos, abreviaturas e termos de domínio durante a extração, em vez de os substituir por um resumo genérico antes de criar os embeddings.\n\nUtilize os vetores para recuperar passagens candidatas para uma página de pesquisa, um assistente baseado numa base de conhecimento ou uma etapa de seleção de documentos. Mantenha o mesmo modelo e as mesmas definições vetoriais para a coleção indexada e as suas consultas. Ao substituir um modelo de embeddings ou alterar as dimensões vetoriais, reconstrua e compare o índice afetado de forma deliberada; o comprimento de um vetor, por si só, não identifica como foi produzido.\n\nAvalie o resultado pela utilidade da recuperação: se aparece a passagem correta, se passagens próximas mas enganadoras ficam acima dela e se o excerto apresentado contém a resposta. Conserve um pequeno conjunto de perguntas reais com as fontes esperadas, incluindo formulações ambíguas e documentos quase duplicados. O embedding fornece uma representação pesquisável; a aplicação conserva o texto de origem, as permissões e as ligações necessárias para transformar uma correspondência num resultado utilizável.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "0f4b2192a65cc24cb3991c0d86fa3acbffbee971cf48e5142f6ee5cc09ac88ea",
    "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 Large</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-large</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-large\">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 Large transforma texto em vetores para recuperação de informação de uso geral e multilingue. A janela de entrada de 32 000 tokens, as dimensões vetoriais selecionáveis e os formatos quantizados suportam bases de conhecimento pesquisáveis, descoberta de documentos e geração aumentada por recuperação de informação.</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 Large é um modelo de embeddings textuais para encontrar informação relevante numa coleção de documentos. Representa cada texto fornecido como um vetor numérico, permitindo que uma aplicação compare um pedido de pesquisa com passagens cuja formulação pode ser diferente, mas cujo significado é relacionado. A Voyage AI posiciona esta edição para recuperação de informação de uso geral e multilingue, abrangendo materiais como documentação técnica, conversas e documentos longos.</p><p>Construa a coleção pesquisável a partir da informação que as pessoas precisam realmente de recuperar. Para uma base de conhecimento de produto, mantenha a explicação de uma funcionalidade com os seus pré-requisitos e exceções relevantes. Para registos de reuniões, preserve as etiquetas dos intervenientes e discussão envolvente suficiente para tornar o tema compreensível. Divida uma fonte extensa em pontos úteis e conserve o título da fonte, o identificador do documento e a posição da passagem junto de cada vetor.</p><p>Prepare uma pergunta de pesquisa como consulta e os materiais indexados como documentos. No processo de embeddings textuais do fabricante, o tipo de entrada indica ao modelo o papel do texto na recuperação. Uma consulta como «Como pode um membro recuperar o acesso depois de perder uma chave de segurança?» pode assim ser comparada com passagens de assistência que descrevem o procedimento de recuperação, mesmo que usem formulações diferentes. Mantenha a passagem original disponível, para que o resultado de pesquisa possa mostrar os elementos que sustentam a correspondência.</p><p>O modelo tem uma janela de contexto de 32 000 tokens. Uma entrada longa pode preservar uma secção completa, mas um documento inteiro nem sempre é a unidade de pesquisa mais útil. Um vetor abrangente pode apontar para o ficheiro certo, deixando ao leitor a tarefa de encontrar a resposta precisa. Escolha os limites das passagens em função do resultado que pretende mostrar e mantenha títulos, ressalvas e definições com o conteúdo que explicam.</p><p>Voyage 3 Large suporta vetores com 2 048, 1 024, 512 ou 256 dimensões. O fabricante também documenta representações em vírgula flutuante, de oito bits com ou sem sinal e binárias. Estas escolhas permitem que um sistema de recuperação compare o detalhe dos vetores com o tamanho do índice e o comportamento da pesquisa. Selecione o formato suportado pelo armazenamento vetorial pretendido e avalie-o no corpus real e em perguntas representativas antes de escolher as definições do índice de produção.</p><p>Para pesquisa multilingue, inclua perguntas de teste nas línguas usadas pelos utilizadores e examine as passagens recuperadas na sua língua original. Uma interface de pesquisa partilhada pode servir várias coleções linguísticas, enquanto os metadados dos documentos continuam a identificar a língua e região e a versão da fonte. Preserve nomes significativos, abreviaturas e termos de domínio durante a extração, em vez de os substituir por um resumo genérico antes de criar os embeddings.</p><p>Utilize os vetores para recuperar passagens candidatas para uma página de pesquisa, um assistente baseado numa base de conhecimento ou uma etapa de seleção de documentos. Mantenha o mesmo modelo e as mesmas definições vetoriais para a coleção indexada e as suas consultas. Ao substituir um modelo de embeddings ou alterar as dimensões vetoriais, reconstrua e compare o índice afetado de forma deliberada; o comprimento de um vetor, por si só, não identifica como foi produzido.</p><p>Avalie o resultado pela utilidade da recuperação: se aparece a passagem correta, se passagens próximas mas enganadoras ficam acima dela e se o excerto apresentado contém a resposta. Conserve um pequeno conjunto de perguntas reais com as fontes esperadas, incluindo formulações ambíguas e documentos quase duplicados. O embedding fornece uma representação pesquisável; a aplicação conserva o texto de origem, as permissões e as ligações necessárias para transformar uma correspondência num resultado utilizável.</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-large</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.0004</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-2787-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2787-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-2787-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-2787-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\ncat &gt; request.json &lt;&lt;&#39;JSON&#39;\n{\n  &quot;model&quot;: &quot;voyage-3-large&quot;,\n  &quot;input&quot;: &quot;The quick brown fox jumps over the lazy dog&quot;\n}\nJSON\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/embeddings \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -H &#39;Content-Type: application/json&#39; \\\n  --data-binary @request.json -D response-headers.txt -o embeddings.json\n# Keep every data item and its index, the full usage object and response headers.\n</code></pre></div></div></div></section><section class=\"card-section\" data-card-section=\"results\"><h3 tabindex=\"-1\">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-large&amp;route=Ultra&amp;caller=voyage-3-large&amp;fmt=embeddings\"><code>voyage-3-large</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-large&amp;route=Ultra&amp;caller=voyage-3-large&amp;fmt=embeddings\"><code>voyage-3-large</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "voyage-3-large",
        "fmt": "embeddings",
        "http": "POST",
        "path": "/v1/embeddings",
        "request_model_id": "voyage-3-large",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|embeddings|/v1/embeddings|voyage-3-large",
      "ordinal": 0,
      "rawMethod": {
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Save the complete JSON response, every vector with its index, all usage fields and request headers.",
            "lifecycle": {
              "content": [],
              "create": {
                "http": "POST",
                "path": "/v1/embeddings"
              },
              "mode": "synchronous",
              "status": [],
              "unknown": "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-large"
                ],
                "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-large"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "model",
                "input"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": false,
              "body": {
                "input": "The quick brown fox jumps over the lazy dog",
                "model": "voyage-3-large"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "conditions": [
              "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.0004000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000004",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\ncat > request.json <<'JSON'\n{\n  \"model\": \"voyage-3-large\",\n  \"input\": \"The quick brown fox jumps over the lazy dog\"\n}\nJSON\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/embeddings \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o embeddings.json\n# Keep every data item and its index, the full usage object and response headers.\n",
            "label": "curl · save all vectors and usage",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "embeddings",
        "http": "POST",
        "in": 0.4,
        "input": [
          "text"
        ],
        "label": "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.0004000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000004",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          }
        ],
        "request_model_id": "voyage-3-large",
        "route_label": "Ultra",
        "status_reads": [],
        "tiers": [],
        "units": [
          {
            "amount": "0.0004000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.0000004",
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": "0",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0",
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          }
        ]
      }
    }
  ],
  "model_id": "voyage-3-large",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "c4a847c16c1c39a43c665d38fa591f31ac2a8cdc411e08df411808de4806c8a3",
    "input_html_sha256": "56f59bf8a7ef1cdbc9e7fa8da4619967a949e303d9ad3b587775ae1d0325296c",
    "private_audit_sha256": "4cffeae6bfbbb3cea7604f3e01a343e6c3bad2808c5f4a3cc719e5063edd346f",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/pt-pt/voyage-3-large/",
    "description": "Voyage 3 Large transforma texto em vetores para recuperação de informação de uso geral e multilingue. A janela de entrada de 32 000 tokens, as dimensões vetoriais selecionáveis e os formatos quantizados suportam bases de conhecimento pesquisáveis, descoberta de documentos e geração aumentada por recuperação de informação.",
    "locale": "pt-pt",
    "md_url": "https://ailoot.ai/models/pt-pt/voyage-3-large/index.md",
    "title": "Voyage AI: Voyage 3 Large — Ailoot",
    "url": "https://ailoot.ai/models/pt-pt/voyage-3-large/"
  },
  "rawModel": {
    "about": "Voyage 3 Large é um modelo de embeddings textuais para encontrar informação relevante numa coleção de documentos. Representa cada texto fornecido como um vetor numérico, permitindo que uma aplicação compare um pedido de pesquisa com passagens cuja formulação pode ser diferente, mas cujo significado é relacionado. A Voyage AI posiciona esta edição para recuperação de informação de uso geral e multilingue, abrangendo materiais como documentação técnica, conversas e documentos longos.\n\nConstrua a coleção pesquisável a partir da informação que as pessoas precisam realmente de recuperar. Para uma base de conhecimento de produto, mantenha a explicação de uma funcionalidade com os seus pré-requisitos e exceções relevantes. Para registos de reuniões, preserve as etiquetas dos intervenientes e discussão envolvente suficiente para tornar o tema compreensível. Divida uma fonte extensa em pontos úteis e conserve o título da fonte, o identificador do documento e a posição da passagem junto de cada vetor.\n\nPrepare uma pergunta de pesquisa como consulta e os materiais indexados como documentos. No processo de embeddings textuais do fabricante, o tipo de entrada indica ao modelo o papel do texto na recuperação. Uma consulta como «Como pode um membro recuperar o acesso depois de perder uma chave de segurança?» pode assim ser comparada com passagens de assistência que descrevem o procedimento de recuperação, mesmo que usem formulações diferentes. Mantenha a passagem original disponível, para que o resultado de pesquisa possa mostrar os elementos que sustentam a correspondência.\n\nO modelo tem uma janela de contexto de 32 000 tokens. Uma entrada longa pode preservar uma secção completa, mas um documento inteiro nem sempre é a unidade de pesquisa mais útil. Um vetor abrangente pode apontar para o ficheiro certo, deixando ao leitor a tarefa de encontrar a resposta precisa. Escolha os limites das passagens em função do resultado que pretende mostrar e mantenha títulos, ressalvas e definições com o conteúdo que explicam.\n\nVoyage 3 Large suporta vetores com 2 048, 1 024, 512 ou 256 dimensões. O fabricante também documenta representações em vírgula flutuante, de oito bits com ou sem sinal e binárias. Estas escolhas permitem que um sistema de recuperação compare o detalhe dos vetores com o tamanho do índice e o comportamento da pesquisa. Selecione o formato suportado pelo armazenamento vetorial pretendido e avalie-o no corpus real e em perguntas representativas antes de escolher as definições do índice de produção.\n\nPara pesquisa multilingue, inclua perguntas de teste nas línguas usadas pelos utilizadores e examine as passagens recuperadas na sua língua original. Uma interface de pesquisa partilhada pode servir várias coleções linguísticas, enquanto os metadados dos documentos continuam a identificar a língua e região e a versão da fonte. Preserve nomes significativos, abreviaturas e termos de domínio durante a extração, em vez de os substituir por um resumo genérico antes de criar os embeddings.\n\nUtilize os vetores para recuperar passagens candidatas para uma página de pesquisa, um assistente baseado numa base de conhecimento ou uma etapa de seleção de documentos. Mantenha o mesmo modelo e as mesmas definições vetoriais para a coleção indexada e as suas consultas. Ao substituir um modelo de embeddings ou alterar as dimensões vetoriais, reconstrua e compare o índice afetado de forma deliberada; o comprimento de um vetor, por si só, não identifica como foi produzido.\n\nAvalie o resultado pela utilidade da recuperação: se aparece a passagem correta, se passagens próximas mas enganadoras ficam acima dela e se o excerto apresentado contém a resposta. Conserve um pequeno conjunto de perguntas reais com as fontes esperadas, incluindo formulações ambíguas e documentos quase duplicados. O embedding fornece uma representação pesquisável; a aplicação conserva o texto de origem, as permissões e as ligações necessárias para transformar uma correspondência num resultado utilizável.",
    "about_sha256": "f8a14551c12ad8f26e408dfc995cf463d79d159d38d8d98b1790a59c1789dcc3",
    "alias_of": null,
    "aliases": [],
    "author": "Voyage AI",
    "capabilities": {
      "context_length": 32000,
      "manufacturer_input": [
        "text"
      ],
      "manufacturer_output": [
        "embeddings"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.0004000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.0000004",
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": "0",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0",
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          }
        ],
        "summary": "Todas as tarifas da configuração constam dos detalhes."
      }
    ],
    "ctx": null,
    "display_name": "Voyage AI: Voyage 3 Large",
    "formats": [
      "embeddings"
    ],
    "id": "voyage-3-large",
    "input": [
      "text"
    ],
    "kind": "embedding",
    "locale": "en",
    "max_out": null,
    "methods": [
      {
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Save the complete JSON response, every vector with its index, all usage fields and request headers.",
            "lifecycle": {
              "content": [],
              "create": {
                "http": "POST",
                "path": "/v1/embeddings"
              },
              "mode": "synchronous",
              "status": [],
              "unknown": "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-large"
                ],
                "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-large"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "model",
                "input"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": false,
              "body": {
                "input": "The quick brown fox jumps over the lazy dog",
                "model": "voyage-3-large"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "conditions": [
              "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.0004000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000004",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\ncat > request.json <<'JSON'\n{\n  \"model\": \"voyage-3-large\",\n  \"input\": \"The quick brown fox jumps over the lazy dog\"\n}\nJSON\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/embeddings \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o embeddings.json\n# Keep every data item and its index, the full usage object and response headers.\n",
            "label": "curl · save all vectors and usage",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "embeddings",
        "http": "POST",
        "in": 0.4,
        "input": [
          "text"
        ],
        "label": "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.0004000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000004",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          }
        ],
        "request_model_id": "voyage-3-large",
        "route_label": "Ultra",
        "status_reads": [],
        "tiers": [],
        "units": [
          {
            "amount": "0.0004000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.0000004",
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": "0",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0",
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "voyage-3-large",
        "request_model_id": "voyage-3-large",
        "route_label": "Ultra"
      }
    ],
    "name": "Voyage AI: Voyage 3 Large",
    "price": {
      "in": 0.4,
      "in_label": null,
      "out": 0,
      "out_label": null,
      "scope_label": "Token rates",
      "sort_in": 0.4,
      "sort_out": 0,
      "varies": false
    },
    "short": "Voyage 3 Large transforma texto em vetores para recuperação de informação de uso geral e multilingue. A janela de entrada de 32 000 tokens, as dimensões vetoriais selecionáveis e os formatos quantizados suportam bases de conhecimento pesquisáveis, descoberta de documentos e geração aumentada por recuperação de informação.",
    "short_sha256": "97e0e5100c1133c3a38a116210c6492617852a455c2338779be2ecc6f0754b10"
  },
  "renderer_schema": {
    "method_order": "Original DTO methods order; every exact route/format/path/caller survives.",
    "prices": "Original public DTO fields and original native display HTML; no flattened or normalized offers."
  },
  "representation": "exact-public-dto-and-native-renderer-html",
  "representationNotes": {
    "current_reference": {
      "about_json_pointer": "/aboutHtml",
      "methods": [
        {
          "contract_json_pointer": "/methods/0/rawMethod/contract",
          "html_json_pointer": "/methods/0/html",
          "method_ordinal": 0
        }
      ],
      "role": "current-semantic-reference"
    },
    "raw_input": {
      "examples_role": "historical-input-not-current-ready-examples",
      "json_pointers": [
        "/rawModel",
        "/methods/0/rawMethod"
      ],
      "role": "historical-owner-input"
    },
    "schema": "ailoot-native-model-representations-v1"
  },
  "schema": "ailoot-static-model-facts-v1",
  "schema_version": 1,
  "shortText": "Voyage 3 Large transforma texto em vetores para recuperação de informação de uso geral e multilingue. A janela de entrada de 32 000 tokens, as dimensões vetoriais selecionáveis e os formatos quantizados suportam bases de conhecimento pesquisáveis, descoberta de documentos e geração aumentada por recuperação de informação.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "958b875f8934f8a2c60cfa9c2ce0195c8e6370d4bcfafd1836c7a68f748f2f89",
    "renderer_sha256": "8caea4544177cc2b7d2cb3356b5f07bfd3660386d75f2714a6f603fa5e2a6cd2"
  },
  "sourceRevision": "ca8fd9ef5ba679559e62a1b914de7402a777f3c82e4fae34935443d2646d0bac"
}
