{
  "aboutHtml": "<p>Nemotron 3 Embed 1B es un modelo de texto de NVIDIA para búsqueda semántica y comparación de fragmentos. Codifica preguntas, documentos y código en vectores numéricos densos. Se utilizan para localizar contexto en colecciones amplias, incorporarlo a una respuesta o recuperar información guardada para el siguiente paso de un agente.</p><h4>Conocimientos multilingües y código</h4><p>Está orientado a búsqueda multilingüe y entre idiomas: una pregunta y el material adecuado pueden estar en idiomas diferentes. Ruso forma parte de los 34 idiomas publicados junto con inglés, ucraniano, chino, japonés, árabe y otros. Es útil para bases de conocimiento cuyos documentos técnicos y consultas no están unificados en un idioma.</p><p>Los usos incluyen buscar documentación, comparar textos y recuperar código mediante una descripción. La ventana amplia admite documentos largos, contexto de programación e historial de varios pasos. El material encontrado vuelve al flujo como contexto; el siguiente componente genera explicaciones y respuestas finales.</p><h4>Del texto al vector</h4><p>La entrada son cadenas de texto. Cada una produce un vector de 2048 números. La secuencia máxima es de 32768 tokens; materiales más largos deben dividirse o reducirse. La preparación distingue pregunta y documento: el modelo aprende a relacionar esas funciones y una misma cadena no debe presentarse sin considerar su finalidad.</p><p>Los vectores se normalizan por su longitud. En esa representación, producto escalar y similitud coseno ofrecen comparaciones equivalentes. Se pueden conservar las primeras 1024 o 512 coordenadas, pero después del truncado hay que normalizar de nuevo. Es una propiedad del procesamiento del resultado; colección y consultas deben utilizar dimensiones coherentes.</p><h4>Arquitectura compacta</h4><p>El codificador contiene unos 1,14 mil millones de parámetros. Se obtiene de un modelo basado en Ministral 3 3B mediante dos etapas de reducción estructural y destilación. La atención bidireccional considera toda la entrada y promedia representaciones de tokens en un vector común.</p><p>NVIDIA publica BF16 y NVFP4. Sus espacios de representaciones son próximos, pero cambiar de variante requiere comprobar los documentos propios. Ni similitud numérica ni contexto amplio garantizan elegir siempre el fragmento correcto.</p>",
  "aboutText": "Nemotron 3 Embed 1B es un modelo de texto de NVIDIA para búsqueda semántica y comparación de fragmentos. Codifica preguntas, documentos y código en vectores numéricos densos. Se utilizan para localizar contexto en colecciones amplias, incorporarlo a una respuesta o recuperar información guardada para el siguiente paso de un agente.\n\n### Conocimientos multilingües y código\n\nEstá orientado a búsqueda multilingüe y entre idiomas: una pregunta y el material adecuado pueden estar en idiomas diferentes. Ruso forma parte de los 34 idiomas publicados junto con inglés, ucraniano, chino, japonés, árabe y otros. Es útil para bases de conocimiento cuyos documentos técnicos y consultas no están unificados en un idioma.\n\nLos usos incluyen buscar documentación, comparar textos y recuperar código mediante una descripción. La ventana amplia admite documentos largos, contexto de programación e historial de varios pasos. El material encontrado vuelve al flujo como contexto; el siguiente componente genera explicaciones y respuestas finales.\n\n### Del texto al vector\n\nLa entrada son cadenas de texto. Cada una produce un vector de 2048 números. La secuencia máxima es de 32768 tokens; materiales más largos deben dividirse o reducirse. La preparación distingue pregunta y documento: el modelo aprende a relacionar esas funciones y una misma cadena no debe presentarse sin considerar su finalidad.\n\nLos vectores se normalizan por su longitud. En esa representación, producto escalar y similitud coseno ofrecen comparaciones equivalentes. Se pueden conservar las primeras 1024 o 512 coordenadas, pero después del truncado hay que normalizar de nuevo. Es una propiedad del procesamiento del resultado; colección y consultas deben utilizar dimensiones coherentes.\n\n### Arquitectura compacta\n\nEl codificador contiene unos 1,14 mil millones de parámetros. Se obtiene de un modelo basado en Ministral 3 3B mediante dos etapas de reducción estructural y destilación. La atención bidireccional considera toda la entrada y promedia representaciones de tokens en un vector común.\n\nNVIDIA publica BF16 y NVFP4. Sus espacios de representaciones son próximos, pero cambiar de variante requiere comprobar los documentos propios. Ni similitud numérica ni contexto amplio garantizan elegir siempre el fragmento correcto.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "f5c5e308133151a883c7611246ae5be1da94bda46442fe4939fc258d4f8af0e4",
    "module_sha256": "ee9dc1c50b1e6a8fb7fa062030fcb4646b9aaaeb08be513b723a5a92a7290f06",
    "raw_model_unchanged": true,
    "schema": "ailoot-native-model-editorial-v1"
  },
  "locale": "es",
  "methods": [
    {
      "html": "<div class=\"sheet-head\"><span class=\"mav\" aria-hidden=\"true\">NV</span><h2 id=\"sheet-title\">Nemotron 3 Embed 1B</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Cerrar\">×</button></div><div class=\"idline\"><span>NVIDIA /</span><code>nvidia/nemotron-3-embed-1b</code><button type=\"button\" id=\"copy-id\">Copiar ID</button></div><nav class=\"card-jump-nav\" aria-label=\"Secciones de la ficha del modelo\"><button type=\"button\" data-card-jump=\"overview\">Primeros pasos</button><button type=\"button\" data-card-jump=\"methods\">Entradas y métodos</button><button type=\"button\" data-card-jump=\"pricing\">Planes</button><button type=\"button\" data-card-jump=\"examples\">Ejemplos</button><button type=\"button\" data-card-jump=\"results\">Resultados</button><button type=\"button\" data-card-jump=\"aliases\">Alias</button></nav><div class=\"card-method-tabs\" role=\"tablist\" aria-label=\"Métodos de API\"><button type=\"button\" role=\"tab\" tabindex=\"0\" aria-controls=\"card-method-content\" aria-selected=\"true\" id=\"card-method-tab-0\" data-card-method=\"Core|embeddings|/v1/embeddings|nvidia%2Fnemotron-3-embed-1b\">Representaciones vectoriales</button></div><div class=\"idline\"><label for=\"card-model-id\">ID del modelo</label><select class=\"sel\" id=\"card-model-id\" style=\"min-width:0;max-width:100%\"><option value=\"Core|embeddings|/v1/embeddings|nvidia%2Fnemotron-3-embed-1b\" selected>nvidia/nemotron-3-embed-1b</option><option value=\"Core|embeddings|/v1/embeddings|nemotron-3-embed\">nemotron-3-embed</option><option value=\"Core|embeddings|/v1/embeddings|nemotron-3-embed-latest\">nemotron-3-embed-latest</option></select></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\">Primeros pasos</h3><p class=\"mdesc-full\">Nemotron 3 Embed 1B convierte texto en vectores para búsqueda multilingüe, búsqueda de código y RAG. Procesa secuencias de hasta 32768 tokens y devuelve representaciones de 2048 números.</p><dl class=\"card-io\" data-card-io><div><dt>Entradas aceptadas</dt><dd>Texto</dd></div><div><dt>Resultados</dt><dd>embedding</dd></div></dl><details class=\"card-about\"><summary>Sobre el modelo</summary><p class=\"note-s\" data-model-method-boundary>Esta descripción cubre las capacidades del modelo. Las entradas, salidas y opciones disponibles en Ailoot se indican a continuación para el método seleccionado.</p><div class=\"mabout\" id=\"m-about\"><p>Nemotron 3 Embed 1B es un modelo de texto de NVIDIA para búsqueda semántica y comparación de fragmentos. Codifica preguntas, documentos y código en vectores numéricos densos. Se utilizan para localizar contexto en colecciones amplias, incorporarlo a una respuesta o recuperar información guardada para el siguiente paso de un agente.</p><h4>Conocimientos multilingües y código</h4><p>Está orientado a búsqueda multilingüe y entre idiomas: una pregunta y el material adecuado pueden estar en idiomas diferentes. Ruso forma parte de los 34 idiomas publicados junto con inglés, ucraniano, chino, japonés, árabe y otros. Es útil para bases de conocimiento cuyos documentos técnicos y consultas no están unificados en un idioma.</p><p>Los usos incluyen buscar documentación, comparar textos y recuperar código mediante una descripción. La ventana amplia admite documentos largos, contexto de programación e historial de varios pasos. El material encontrado vuelve al flujo como contexto; el siguiente componente genera explicaciones y respuestas finales.</p><h4>Del texto al vector</h4><p>La entrada son cadenas de texto. Cada una produce un vector de 2048 números. La secuencia máxima es de 32768 tokens; materiales más largos deben dividirse o reducirse. La preparación distingue pregunta y documento: el modelo aprende a relacionar esas funciones y una misma cadena no debe presentarse sin considerar su finalidad.</p><p>Los vectores se normalizan por su longitud. En esa representación, producto escalar y similitud coseno ofrecen comparaciones equivalentes. Se pueden conservar las primeras 1024 o 512 coordenadas, pero después del truncado hay que normalizar de nuevo. Es una propiedad del procesamiento del resultado; colección y consultas deben utilizar dimensiones coherentes.</p><h4>Arquitectura compacta</h4><p>El codificador contiene unos 1,14 mil millones de parámetros. Se obtiene de un modelo basado en Ministral 3 3B mediante dos etapas de reducción estructural y destilación. La atención bidireccional considera toda la entrada y promedia representaciones de tokens en un vector común.</p><p>NVIDIA publica BF16 y NVFP4. Sus espacios de representaciones son próximos, pero cambiar de variante requiere comprobar los documentos propios. Ni similitud numérica ni contexto amplio garantizan elegir siempre el fragmento correcto.</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">Disponible en Ailoot · entradas y métodos</h3><details class=\"card-method\" open><summary><b>Ailoot · Representaciones vectoriales</b> <code>POST /v1/embeddings</code></summary><dl class=\"method-capabilities\"><div><dt>Tipos de entrada</dt><dd><code>text</code></dd></div><div><dt>Tipos de salida</dt><dd><code>embedding</code></dd></div><div><dt>Contexto</dt><dd>4096 tokens</dd></div><div><dt>Formato de salida</dt><dd>json</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 y límites</th><th>Predeterminado</th></tr></thead><tbody><tr data-parameter-availability=\"source_interface\"><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>Obligatorio</td><td data-cell-label=\"Valores y límites\"><span class=\"card-cell-label\">Valores y límites</span><div>nvidia/nemotron-3-embed-1b</div></td><td data-cell-label=\"Predeterminado\" data-default=\"unspecified\"><span class=\"card-cell-label\">Predeterminado</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><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|string[]</code></td><td data-cell-label=\"Requisito\"><span class=\"card-cell-label\">Requisito</span>Obligatorio</td><td data-cell-label=\"Valores y límites\"><span class=\"card-cell-label\">Valores y límites</span><div>Número mínimo de elementos: 1</div><div>Condiciones: Todas las cadenas deben ser no vacías después de eliminar los espacios de los extremos; se rechazan las URI data; el presupuesto aceptado mide los bytes UTF8 pertinentes.</div></td><td data-cell-label=\"Predeterminado\" data-default=\"unspecified\"><span class=\"card-cell-label\">Predeterminado</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">input_type</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>Opcional</td><td data-cell-label=\"Valores y límites\"><span class=\"card-cell-label\">Valores y límites</span><div>query, passage</div></td><td data-cell-label=\"Predeterminado\" data-default=\"known\"><span class=\"card-cell-label\">Predeterminado</span>query</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">encoding_format</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>Opcional</td><td data-cell-label=\"Valores y límites\"><span class=\"card-cell-label\">Valores y límites</span><div>float, base64</div></td><td data-cell-label=\"Predeterminado\" data-default=\"known\"><span class=\"card-cell-label\">Predeterminado</span>float</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">truncate</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>Opcional</td><td data-cell-label=\"Valores y límites\"><span class=\"card-cell-label\">Valores y límites</span><div>NONE, START, END</div></td><td data-cell-label=\"Predeterminado\" data-default=\"unspecified\"><span class=\"card-cell-label\">Predeterminado</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">dimensions</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span><code>integer</code></td><td data-cell-label=\"Requisito\"><span class=\"card-cell-label\">Requisito</span>Opcional</td><td data-cell-label=\"Valores y límites\"><span class=\"card-cell-label\">Valores y límites</span><div>Mínimo: 1</div></td><td data-cell-label=\"Predeterminado\" data-default=\"unspecified\"><span class=\"card-cell-label\">Predeterminado</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">user</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>Opcional</td><td data-cell-label=\"Valores y límites\"><span class=\"card-cell-label\">Valores y límites</span></td><td data-cell-label=\"Predeterminado\" data-default=\"unspecified\"><span class=\"card-cell-label\">Predeterminado</span>—</td></tr></tbody></table></div><details class=\"card-about\" data-material-combinations><summary>Combinaciones de materiales de entrada</summary><p class=\"note-s\"><b>text_to_embedding</b></p></details><details class=\"note-s\" data-method-contract><summary>Parámetros del método y ciclo de vida</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>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>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_controls</code></th><td data-cell-label=\"Contrato\"><span class=\"card-cell-label\">Contrato</span>null</td></tr><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></tbody></table></div><p>Ciclo de vida: <code>exact retained published method</code></p><p class=\"note-s\">Las estructuras e ID de los métodos son exactos; la capacidad del proveedor y la admisión son conceptos distintos.</p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">Planes</h3><h4>Tarifas de métodos Ailoot</h4><section class=\"meth\" data-route=\"Core\"><header><b><span class=\"alias\">Ailoot</span> Representaciones vectoriales</b><code>POST /v1/embeddings</code></header><dl><div><dt>Entrada</dt><dd>0,0001 US$ <em>/ 1K</em></dd></div></dl></section><p class=\"note-s\">Ailoot reserva un importe estimado antes de la solicitud. Tras obtener el resultado, liquida el cargo definitivo según el uso medido. En las respuestas en flujo, la liquidación usa el registro de uso final. <a href=\"/docs/es/billing/reserve/\">Cómo funcionan la reserva y la liquidación →</a></p></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">Solicitudes de ejemplo</h3><h4>Ailoot · Representaciones vectoriales</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Variantes del código\"><button class=\"cg-tab\" id=\"model-code-527-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-527-panel-0\" aria-selected=\"true\" tabindex=\"0\">Ejemplo de representación vectorial</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-527-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-527-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_TEXT_FILE:?Set your actual UTF-8 document}&quot;\nexport AILOOT_TEXT_FILE\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\np=json.loads(&#39;{&quot;model&quot;: &quot;nvidia/nemotron-3-embed-1b&quot;, &quot;input&quot;: []}&#39;)\nf=Path(os.environ[&quot;AILOOT_TEXT_FILE&quot;])\nif not f.is_file():raise SystemExit(&quot;Choose your actual UTF-8 source material&quot;)\ntext=f.read_text(encoding=&quot;utf-8&quot;)\nif not text.strip():raise SystemExit(&quot;Source material must contain text&quot;)\np[&quot;input&quot;]=[text]\nPath(&quot;request.json&quot;).write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/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 result.json\npython3 - &lt;&lt;&#39;PY_RESULT&#39;\nimport json\nfrom pathlib import Path\nr=json.loads(Path(&quot;result.json&quot;).read_text())\nfor x in r.get(&quot;data&quot;,[]): print(json.dumps({&quot;index&quot;:x.get(&quot;index&quot;),&quot;embedding&quot;:x.get(&quot;embedding&quot;)}))\nPY_RESULT\n</code></pre></div></div></div></section><section class=\"card-section\" data-card-section=\"results\"><h3 tabindex=\"-1\">Recibir y guardar resultados</h3><h4>Ailoot · Representaciones vectoriales</h4><p class=\"note-s\">json</p><div class=\"card-result-process\" data-all-results><h5>Conserva todos los resultados completados</h5><p class=\"note-s\">Conserva todas las respuestas, archivos y partes de contenido completos recibidos.</p><p class=\"note-s\">Descodifica los vectores base64 solo cuando se haya solicitado ese formato; conserva todos los vectores y sus índices originales.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>Si es necesario revisar la respuesta original</h5><p class=\"note-s\">No se introduce ningún endpoint de trabajos de embeddings.</p></div><details class=\"card-about\" data-output-fields><summary>Campos de respuesta</summary><div class=\"tw\" data-card-table=\"output\"><table><thead><tr><th>Campo</th><th>Tipo</th></tr></thead><tbody><tr><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">data[].index</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span>integer</td></tr><tr><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">data[].embedding</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span>finite float[]|base64 float32 vector</td></tr><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>string</td></tr><tr><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">usage</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span>object</td></tr></tbody></table></div></details><details class=\"card-about\" data-method-errors><summary>Errores y siguientes pasos</summary><div class=\"tw\" data-card-table=\"errors\"><table><thead><tr><th>Respuesta</th><th>Condición</th><th>Siguiente paso</th></tr></thead><tbody><tr><th data-cell-label=\"Respuesta\" scope=\"row\"><span class=\"card-cell-label\">Respuesta</span>400 · <code>invalid_request_error</code></th><td data-cell-label=\"Condición\"><span class=\"card-cell-label\">Condición</span>Campos obligatorios, representación del material o valor del parámetro no válidos</td><td data-cell-label=\"Siguiente paso\"><span class=\"card-cell-label\">Siguiente paso</span>Corrige los campos indicados antes de una nueva solicitud de creación.</td></tr></tbody></table></div></details></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">Alias</h3><h4>Alias del modelo</h4><p class=\"note-s\"><span data-model-alias-route=\"Core\"><b>Ailoot</b> <a href=\"#m=nvidia%2Fnemotron-3-embed-1b&amp;route=Core&amp;caller=nvidia%2Fnemotron-3-embed-1b&amp;fmt=embeddings\"><code>nvidia/nemotron-3-embed-1b</code></a>, <a href=\"#m=nvidia%2Fnemotron-3-embed-1b&amp;route=Core&amp;caller=nemotron-3-embed&amp;fmt=embeddings\"><code>nemotron-3-embed</code></a>, <a href=\"#m=nvidia%2Fnemotron-3-embed-1b&amp;route=Core&amp;caller=nemotron-3-embed-latest&amp;fmt=embeddings\"><code>nemotron-3-embed-latest</code></a></span></p><h4>Alias de rutas de métodos</h4><p class=\"note-s\">Usa las rutas de método indicadas arriba.</p><h4>ID de modelo relacionados</h4><p class=\"note-s\"><a href=\"#m=nvidia%2Fnemotron-3-embed-1b&amp;route=Core&amp;caller=nvidia%2Fnemotron-3-embed-1b&amp;fmt=embeddings\"><code>nvidia/nemotron-3-embed-1b</code></a>, <a href=\"#m=nvidia%2Fnemotron-3-embed-1b&amp;route=Core&amp;caller=nemotron-3-embed&amp;fmt=embeddings\"><code>nemotron-3-embed</code></a>, <a href=\"#m=nvidia%2Fnemotron-3-embed-1b&amp;route=Core&amp;caller=nemotron-3-embed-latest&amp;fmt=embeddings\"><code>nemotron-3-embed-latest</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "nvidia/nemotron-3-embed-1b",
        "fmt": "embeddings",
        "http": "POST",
        "path": "/v1/embeddings",
        "request_model_id": "nvidia/nemotron-3-embed-1b",
        "route_label": "Core"
      },
      "method_key": "Core|embeddings|/v1/embeddings|nvidia%2Fnemotron-3-embed-1b",
      "ordinal": 0,
      "rawMethod": {
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "cache_write_5m": null,
        "conditional_meter": null,
        "contract": {
          "data": {
            "all_results": "Decode base64 vectors only when that format was requested; retain every vector and its original index.",
            "errors": [
              {
                "code": null,
                "condition": "Campos obligatorios, representación del material o valor del parámetro no válidos",
                "http_status": 400,
                "recovery": "Corrige los campos indicados antes de una nueva solicitud de creación.",
                "type": "invalid_request_error"
              }
            ],
            "hints": [],
            "ignored_fields": [],
            "lifecycle": {
              "create": {
                "http": "POST",
                "path": "/v1/embeddings"
              },
              "job_read": null,
              "mode": "synchronous_json",
              "unknown": "No se introduce ningún endpoint de trabajos de embeddings."
            },
            "material_combinations": [
              {
                "alternatives": [
                  "nonempty string",
                  "nonempty string[]"
                ],
                "mode": "text_to_embedding"
              }
            ],
            "operation_modes": [
              "single_embedding",
              "batched_embeddings"
            ],
            "outputs": {
              "all_results": "Descodifica los vectores base64 solo cuando se haya solicitado ese formato; conserva todos los vectores y sus índices originales.",
              "family": "embedding",
              "fields": [
                {
                  "description": null,
                  "name": "data[].index",
                  "type": "integer"
                },
                {
                  "description": null,
                  "name": "data[].embedding",
                  "type": "finite float[]|base64 float32 vector"
                },
                {
                  "description": null,
                  "name": "model",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "usage",
                  "type": "object"
                }
              ],
              "format": "json"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "nvidia/nemotron-3-embed-1b"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "conditions": "Todas las cadenas deben ser no vacías después de eliminar los espacios de los extremos; se rechazan las URI data; el presupuesto aceptado mide los bytes UTF8 pertinentes.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "min_items": 1,
                "name": "input",
                "required": true,
                "type": "string|string[]"
              },
              {
                "availability": "source_interface",
                "default": "query",
                "default_known": true,
                "enum": [
                  "query",
                  "passage"
                ],
                "enum_known": true,
                "name": "input_type",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": "float",
                "default_known": true,
                "enum": [
                  "float",
                  "base64"
                ],
                "enum_known": true,
                "name": "encoding_format",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "NONE",
                  "START",
                  "END"
                ],
                "enum_known": true,
                "name": "truncate",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "minimum": 1,
                "name": "dimensions",
                "required": false,
                "type": "integer"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "user",
                "required": false,
                "type": "string"
              }
            ],
            "profile_binding": "Exact existing Ailoot model and method; interface constraints below do not assert provider qualification.",
            "unsupported": [
              "image objects",
              "data URI text inputs",
              "token integer arrays on this NVIDIA adapter"
            ]
          },
          "hints": [
            "Las estructuras e ID de los métodos son exactos; la capacidad del proveedor y la admisión son conceptos distintos."
          ],
          "input": {
            "content_type": "application/json",
            "material_types": [
              "text"
            ],
            "optional_controls": null,
            "required": [
              "model",
              "input"
            ]
          },
          "lifecycle": {
            "mode": "exact retained published method"
          },
          "method": {
            "http": "POST",
            "path": "/v1/embeddings"
          },
          "operation_modes": [
            "embeddings"
          ],
          "output": {
            "family": [
              "embedding"
            ],
            "format": "indexed vectors JSON",
            "multioutputs": "retain every actual response output"
          }
        },
        "ctx": 4096,
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_TEXT_FILE:?Set your actual UTF-8 document}\"\nexport AILOOT_TEXT_FILE\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"nvidia/nemotron-3-embed-1b\", \"input\": []}')\nf=Path(os.environ[\"AILOOT_TEXT_FILE\"])\nif not f.is_file():raise SystemExit(\"Choose your actual UTF-8 source material\")\ntext=f.read_text(encoding=\"utf-8\")\nif not text.strip():raise SystemExit(\"Source material must contain text\")\np[\"input\"]=[text]\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/embeddings \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nr=json.loads(Path(\"result.json\").read_text())\nfor x in r.get(\"data\",[]): print(json.dumps({\"index\":x.get(\"index\"),\"embedding\":x.get(\"embedding\")}))\nPY_RESULT\n",
            "label": "Embed your source material",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "embeddings",
        "http": "POST",
        "img_in": null,
        "img_out": null,
        "in": 0.1,
        "input": [
          "text"
        ],
        "label": "Representaciones vectoriales",
        "max_out": 0,
        "max_tool_calls": null,
        "out": 0,
        "output": [
          "embedding"
        ],
        "path": "/v1/embeddings",
        "pricing_profiles": [
          {
            "dimensions": {},
            "label": "Core",
            "units": [
              {
                "amount": 0.1,
                "amount_unit": "usd_per_million_tokens",
                "key": "in",
                "label": "Input",
                "side": "in"
              },
              {
                "amount": 0,
                "amount_unit": "usd_per_million_tokens",
                "key": "out",
                "label": "Output",
                "side": "out"
              }
            ]
          }
        ],
        "request_model_id": "nvidia/nemotron-3-embed-1b",
        "route_label": "Core",
        "status_reads": [],
        "tiers": [],
        "tool_prices": null,
        "unit": "token",
        "units": []
      }
    },
    {
      "html": "<div class=\"sheet-head\"><span class=\"mav\" aria-hidden=\"true\">NV</span><h2 id=\"sheet-title\">Nemotron 3 Embed 1B</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Cerrar\">×</button></div><div class=\"idline\"><span>NVIDIA /</span><code>nemotron-3-embed</code><button type=\"button\" id=\"copy-id\">Copiar ID</button></div><nav class=\"card-jump-nav\" aria-label=\"Secciones de la ficha del modelo\"><button type=\"button\" data-card-jump=\"overview\">Primeros pasos</button><button type=\"button\" data-card-jump=\"methods\">Entradas y métodos</button><button type=\"button\" data-card-jump=\"pricing\">Planes</button><button type=\"button\" data-card-jump=\"examples\">Ejemplos</button><button type=\"button\" data-card-jump=\"results\">Resultados</button><button type=\"button\" data-card-jump=\"aliases\">Alias</button></nav><div class=\"card-method-tabs\" role=\"tablist\" aria-label=\"Métodos de API\"><button type=\"button\" role=\"tab\" tabindex=\"0\" aria-controls=\"card-method-content\" aria-selected=\"true\" id=\"card-method-tab-0\" data-card-method=\"Core|embeddings|/v1/embeddings|nemotron-3-embed\">Representaciones vectoriales</button></div><div class=\"idline\"><label for=\"card-model-id\">ID del modelo</label><select class=\"sel\" id=\"card-model-id\" style=\"min-width:0;max-width:100%\"><option value=\"Core|embeddings|/v1/embeddings|nvidia%2Fnemotron-3-embed-1b\">nvidia/nemotron-3-embed-1b</option><option value=\"Core|embeddings|/v1/embeddings|nemotron-3-embed\" selected>nemotron-3-embed</option><option value=\"Core|embeddings|/v1/embeddings|nemotron-3-embed-latest\">nemotron-3-embed-latest</option></select></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\">Primeros pasos</h3><p class=\"mdesc-full\">Nemotron 3 Embed 1B convierte texto en vectores para búsqueda multilingüe, búsqueda de código y RAG. Procesa secuencias de hasta 32768 tokens y devuelve representaciones de 2048 números.</p><dl class=\"card-io\" data-card-io><div><dt>Entradas aceptadas</dt><dd>Texto</dd></div><div><dt>Resultados</dt><dd>embedding</dd></div></dl><details class=\"card-about\"><summary>Sobre el modelo</summary><p class=\"note-s\" data-model-method-boundary>Esta descripción cubre las capacidades del modelo. Las entradas, salidas y opciones disponibles en Ailoot se indican a continuación para el método seleccionado.</p><div class=\"mabout\" id=\"m-about\"><p>Nemotron 3 Embed 1B es un modelo de texto de NVIDIA para búsqueda semántica y comparación de fragmentos. Codifica preguntas, documentos y código en vectores numéricos densos. Se utilizan para localizar contexto en colecciones amplias, incorporarlo a una respuesta o recuperar información guardada para el siguiente paso de un agente.</p><h4>Conocimientos multilingües y código</h4><p>Está orientado a búsqueda multilingüe y entre idiomas: una pregunta y el material adecuado pueden estar en idiomas diferentes. Ruso forma parte de los 34 idiomas publicados junto con inglés, ucraniano, chino, japonés, árabe y otros. Es útil para bases de conocimiento cuyos documentos técnicos y consultas no están unificados en un idioma.</p><p>Los usos incluyen buscar documentación, comparar textos y recuperar código mediante una descripción. La ventana amplia admite documentos largos, contexto de programación e historial de varios pasos. El material encontrado vuelve al flujo como contexto; el siguiente componente genera explicaciones y respuestas finales.</p><h4>Del texto al vector</h4><p>La entrada son cadenas de texto. Cada una produce un vector de 2048 números. La secuencia máxima es de 32768 tokens; materiales más largos deben dividirse o reducirse. La preparación distingue pregunta y documento: el modelo aprende a relacionar esas funciones y una misma cadena no debe presentarse sin considerar su finalidad.</p><p>Los vectores se normalizan por su longitud. En esa representación, producto escalar y similitud coseno ofrecen comparaciones equivalentes. Se pueden conservar las primeras 1024 o 512 coordenadas, pero después del truncado hay que normalizar de nuevo. Es una propiedad del procesamiento del resultado; colección y consultas deben utilizar dimensiones coherentes.</p><h4>Arquitectura compacta</h4><p>El codificador contiene unos 1,14 mil millones de parámetros. Se obtiene de un modelo basado en Ministral 3 3B mediante dos etapas de reducción estructural y destilación. La atención bidireccional considera toda la entrada y promedia representaciones de tokens en un vector común.</p><p>NVIDIA publica BF16 y NVFP4. Sus espacios de representaciones son próximos, pero cambiar de variante requiere comprobar los documentos propios. Ni similitud numérica ni contexto amplio garantizan elegir siempre el fragmento correcto.</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">Disponible en Ailoot · entradas y métodos</h3><details class=\"card-method\" open><summary><b>Ailoot · Representaciones vectoriales</b> <code>POST /v1/embeddings</code></summary><dl class=\"method-capabilities\"><div><dt>Tipos de entrada</dt><dd><code>text</code></dd></div><div><dt>Tipos de salida</dt><dd><code>embedding</code></dd></div><div><dt>Contexto</dt><dd>4096 tokens</dd></div><div><dt>Formato de salida</dt><dd>json</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 y límites</th><th>Predeterminado</th></tr></thead><tbody><tr data-parameter-availability=\"source_interface\"><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>Obligatorio</td><td data-cell-label=\"Valores y límites\"><span class=\"card-cell-label\">Valores y límites</span><div>nemotron-3-embed</div></td><td data-cell-label=\"Predeterminado\" data-default=\"unspecified\"><span class=\"card-cell-label\">Predeterminado</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><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|string[]</code></td><td data-cell-label=\"Requisito\"><span class=\"card-cell-label\">Requisito</span>Obligatorio</td><td data-cell-label=\"Valores y límites\"><span class=\"card-cell-label\">Valores y límites</span><div>Número mínimo de elementos: 1</div><div>Condiciones: Todas las cadenas deben ser no vacías después de eliminar los espacios de los extremos; se rechazan las URI data; el presupuesto aceptado mide los bytes UTF8 pertinentes.</div></td><td data-cell-label=\"Predeterminado\" data-default=\"unspecified\"><span class=\"card-cell-label\">Predeterminado</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">input_type</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>Opcional</td><td data-cell-label=\"Valores y límites\"><span class=\"card-cell-label\">Valores y límites</span><div>query, passage</div></td><td data-cell-label=\"Predeterminado\" data-default=\"known\"><span class=\"card-cell-label\">Predeterminado</span>query</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">encoding_format</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>Opcional</td><td data-cell-label=\"Valores y límites\"><span class=\"card-cell-label\">Valores y límites</span><div>float, base64</div></td><td data-cell-label=\"Predeterminado\" data-default=\"known\"><span class=\"card-cell-label\">Predeterminado</span>float</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">truncate</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>Opcional</td><td data-cell-label=\"Valores y límites\"><span class=\"card-cell-label\">Valores y límites</span><div>NONE, START, END</div></td><td data-cell-label=\"Predeterminado\" data-default=\"unspecified\"><span class=\"card-cell-label\">Predeterminado</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">dimensions</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span><code>integer</code></td><td data-cell-label=\"Requisito\"><span class=\"card-cell-label\">Requisito</span>Opcional</td><td data-cell-label=\"Valores y límites\"><span class=\"card-cell-label\">Valores y límites</span><div>Mínimo: 1</div></td><td data-cell-label=\"Predeterminado\" data-default=\"unspecified\"><span class=\"card-cell-label\">Predeterminado</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">user</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>Opcional</td><td data-cell-label=\"Valores y límites\"><span class=\"card-cell-label\">Valores y límites</span></td><td data-cell-label=\"Predeterminado\" data-default=\"unspecified\"><span class=\"card-cell-label\">Predeterminado</span>—</td></tr></tbody></table></div><details class=\"card-about\" data-material-combinations><summary>Combinaciones de materiales de entrada</summary><p class=\"note-s\"><b>text_to_embedding</b></p></details><details class=\"note-s\" data-method-contract><summary>Parámetros del método y ciclo de vida</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>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>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_controls</code></th><td data-cell-label=\"Contrato\"><span class=\"card-cell-label\">Contrato</span>null</td></tr><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></tbody></table></div><p>Ciclo de vida: <code>exact retained published method</code></p><p class=\"note-s\">Las estructuras e ID de los métodos son exactos; la capacidad del proveedor y la admisión son conceptos distintos.</p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">Planes</h3><h4>Tarifas de métodos Ailoot</h4><section class=\"meth\" data-route=\"Core\"><header><b><span class=\"alias\">Ailoot</span> Representaciones vectoriales</b><code>POST /v1/embeddings</code></header><dl><div><dt>Entrada</dt><dd>0,0001 US$ <em>/ 1K</em></dd></div></dl></section><p class=\"note-s\">Ailoot reserva un importe estimado antes de la solicitud. Tras obtener el resultado, liquida el cargo definitivo según el uso medido. En las respuestas en flujo, la liquidación usa el registro de uso final. <a href=\"/docs/es/billing/reserve/\">Cómo funcionan la reserva y la liquidación →</a></p></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">Solicitudes de ejemplo</h3><h4>Ailoot · Representaciones vectoriales</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Variantes del código\"><button class=\"cg-tab\" id=\"model-code-528-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-528-panel-0\" aria-selected=\"true\" tabindex=\"0\">Ejemplo de representación vectorial</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-528-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-528-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_TEXT_FILE:?Set your actual UTF-8 document}&quot;\nexport AILOOT_TEXT_FILE\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\np=json.loads(&#39;{&quot;model&quot;: &quot;nemotron-3-embed&quot;, &quot;input&quot;: []}&#39;)\nf=Path(os.environ[&quot;AILOOT_TEXT_FILE&quot;])\nif not f.is_file():raise SystemExit(&quot;Choose your actual UTF-8 source material&quot;)\ntext=f.read_text(encoding=&quot;utf-8&quot;)\nif not text.strip():raise SystemExit(&quot;Source material must contain text&quot;)\np[&quot;input&quot;]=[text]\nPath(&quot;request.json&quot;).write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/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 result.json\npython3 - &lt;&lt;&#39;PY_RESULT&#39;\nimport json\nfrom pathlib import Path\nr=json.loads(Path(&quot;result.json&quot;).read_text())\nfor x in r.get(&quot;data&quot;,[]): print(json.dumps({&quot;index&quot;:x.get(&quot;index&quot;),&quot;embedding&quot;:x.get(&quot;embedding&quot;)}))\nPY_RESULT\n</code></pre></div></div></div></section><section class=\"card-section\" data-card-section=\"results\"><h3 tabindex=\"-1\">Recibir y guardar resultados</h3><h4>Ailoot · Representaciones vectoriales</h4><p class=\"note-s\">json</p><div class=\"card-result-process\" data-all-results><h5>Conserva todos los resultados completados</h5><p class=\"note-s\">Conserva todas las respuestas, archivos y partes de contenido completos recibidos.</p><p class=\"note-s\">Descodifica los vectores base64 solo cuando se haya solicitado ese formato; conserva todos los vectores y sus índices originales.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>Si es necesario revisar la respuesta original</h5><p class=\"note-s\">No se introduce ningún endpoint de trabajos de embeddings.</p></div><details class=\"card-about\" data-output-fields><summary>Campos de respuesta</summary><div class=\"tw\" data-card-table=\"output\"><table><thead><tr><th>Campo</th><th>Tipo</th></tr></thead><tbody><tr><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">data[].index</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span>integer</td></tr><tr><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">data[].embedding</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span>finite float[]|base64 float32 vector</td></tr><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>string</td></tr><tr><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">usage</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span>object</td></tr></tbody></table></div></details><details class=\"card-about\" data-method-errors><summary>Errores y siguientes pasos</summary><div class=\"tw\" data-card-table=\"errors\"><table><thead><tr><th>Respuesta</th><th>Condición</th><th>Siguiente paso</th></tr></thead><tbody><tr><th data-cell-label=\"Respuesta\" scope=\"row\"><span class=\"card-cell-label\">Respuesta</span>400 · <code>invalid_request_error</code></th><td data-cell-label=\"Condición\"><span class=\"card-cell-label\">Condición</span>Campos obligatorios, representación del material o valor del parámetro no válidos</td><td data-cell-label=\"Siguiente paso\"><span class=\"card-cell-label\">Siguiente paso</span>Corrige los campos indicados antes de una nueva solicitud de creación.</td></tr></tbody></table></div></details></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">Alias</h3><h4>Alias del modelo</h4><p class=\"note-s\"><span data-model-alias-route=\"Core\"><b>Ailoot</b> <a href=\"#m=nvidia%2Fnemotron-3-embed-1b&amp;route=Core&amp;caller=nvidia%2Fnemotron-3-embed-1b&amp;fmt=embeddings\"><code>nvidia/nemotron-3-embed-1b</code></a>, <a href=\"#m=nvidia%2Fnemotron-3-embed-1b&amp;route=Core&amp;caller=nemotron-3-embed&amp;fmt=embeddings\"><code>nemotron-3-embed</code></a>, <a href=\"#m=nvidia%2Fnemotron-3-embed-1b&amp;route=Core&amp;caller=nemotron-3-embed-latest&amp;fmt=embeddings\"><code>nemotron-3-embed-latest</code></a></span></p><h4>Alias de rutas de métodos</h4><p class=\"note-s\">Usa las rutas de método indicadas arriba.</p><h4>ID de modelo relacionados</h4><p class=\"note-s\"><a href=\"#m=nvidia%2Fnemotron-3-embed-1b&amp;route=Core&amp;caller=nvidia%2Fnemotron-3-embed-1b&amp;fmt=embeddings\"><code>nvidia/nemotron-3-embed-1b</code></a>, <a href=\"#m=nvidia%2Fnemotron-3-embed-1b&amp;route=Core&amp;caller=nemotron-3-embed&amp;fmt=embeddings\"><code>nemotron-3-embed</code></a>, <a href=\"#m=nvidia%2Fnemotron-3-embed-1b&amp;route=Core&amp;caller=nemotron-3-embed-latest&amp;fmt=embeddings\"><code>nemotron-3-embed-latest</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "nemotron-3-embed",
        "fmt": "embeddings",
        "http": "POST",
        "path": "/v1/embeddings",
        "request_model_id": "nemotron-3-embed",
        "route_label": "Core"
      },
      "method_key": "Core|embeddings|/v1/embeddings|nemotron-3-embed",
      "ordinal": 1,
      "rawMethod": {
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "cache_write_5m": null,
        "conditional_meter": null,
        "contract": {
          "data": {
            "all_results": "Decode base64 vectors only when that format was requested; retain every vector and its original index.",
            "errors": [
              {
                "code": null,
                "condition": "Campos obligatorios, representación del material o valor del parámetro no válidos",
                "http_status": 400,
                "recovery": "Corrige los campos indicados antes de una nueva solicitud de creación.",
                "type": "invalid_request_error"
              }
            ],
            "hints": [],
            "ignored_fields": [],
            "lifecycle": {
              "create": {
                "http": "POST",
                "path": "/v1/embeddings"
              },
              "job_read": null,
              "mode": "synchronous_json",
              "unknown": "No se introduce ningún endpoint de trabajos de embeddings."
            },
            "material_combinations": [
              {
                "alternatives": [
                  "nonempty string",
                  "nonempty string[]"
                ],
                "mode": "text_to_embedding"
              }
            ],
            "operation_modes": [
              "single_embedding",
              "batched_embeddings"
            ],
            "outputs": {
              "all_results": "Descodifica los vectores base64 solo cuando se haya solicitado ese formato; conserva todos los vectores y sus índices originales.",
              "family": "embedding",
              "fields": [
                {
                  "description": null,
                  "name": "data[].index",
                  "type": "integer"
                },
                {
                  "description": null,
                  "name": "data[].embedding",
                  "type": "finite float[]|base64 float32 vector"
                },
                {
                  "description": null,
                  "name": "model",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "usage",
                  "type": "object"
                }
              ],
              "format": "json"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "nemotron-3-embed"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "conditions": "Todas las cadenas deben ser no vacías después de eliminar los espacios de los extremos; se rechazan las URI data; el presupuesto aceptado mide los bytes UTF8 pertinentes.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "min_items": 1,
                "name": "input",
                "required": true,
                "type": "string|string[]"
              },
              {
                "availability": "source_interface",
                "default": "query",
                "default_known": true,
                "enum": [
                  "query",
                  "passage"
                ],
                "enum_known": true,
                "name": "input_type",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": "float",
                "default_known": true,
                "enum": [
                  "float",
                  "base64"
                ],
                "enum_known": true,
                "name": "encoding_format",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "NONE",
                  "START",
                  "END"
                ],
                "enum_known": true,
                "name": "truncate",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "minimum": 1,
                "name": "dimensions",
                "required": false,
                "type": "integer"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "user",
                "required": false,
                "type": "string"
              }
            ],
            "profile_binding": "Exact existing Ailoot model and method; interface constraints below do not assert provider qualification.",
            "unsupported": [
              "image objects",
              "data URI text inputs",
              "token integer arrays on this NVIDIA adapter"
            ]
          },
          "hints": [
            "Las estructuras e ID de los métodos son exactos; la capacidad del proveedor y la admisión son conceptos distintos."
          ],
          "input": {
            "content_type": "application/json",
            "material_types": [
              "text"
            ],
            "optional_controls": null,
            "required": [
              "model",
              "input"
            ]
          },
          "lifecycle": {
            "mode": "exact retained published method"
          },
          "method": {
            "http": "POST",
            "path": "/v1/embeddings"
          },
          "operation_modes": [
            "embeddings"
          ],
          "output": {
            "family": [
              "embedding"
            ],
            "format": "indexed vectors JSON",
            "multioutputs": "retain every actual response output"
          }
        },
        "ctx": 4096,
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_TEXT_FILE:?Set your actual UTF-8 document}\"\nexport AILOOT_TEXT_FILE\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"nemotron-3-embed\", \"input\": []}')\nf=Path(os.environ[\"AILOOT_TEXT_FILE\"])\nif not f.is_file():raise SystemExit(\"Choose your actual UTF-8 source material\")\ntext=f.read_text(encoding=\"utf-8\")\nif not text.strip():raise SystemExit(\"Source material must contain text\")\np[\"input\"]=[text]\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/embeddings \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nr=json.loads(Path(\"result.json\").read_text())\nfor x in r.get(\"data\",[]): print(json.dumps({\"index\":x.get(\"index\"),\"embedding\":x.get(\"embedding\")}))\nPY_RESULT\n",
            "label": "Embed your source material",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "embeddings",
        "http": "POST",
        "img_in": null,
        "img_out": null,
        "in": 0.1,
        "input": [
          "text"
        ],
        "label": "Representaciones vectoriales",
        "max_out": 0,
        "max_tool_calls": null,
        "out": 0,
        "output": [
          "embedding"
        ],
        "path": "/v1/embeddings",
        "pricing_profiles": [
          {
            "dimensions": {},
            "label": "Core",
            "units": [
              {
                "amount": 0.1,
                "amount_unit": "usd_per_million_tokens",
                "key": "in",
                "label": "Input",
                "side": "in"
              },
              {
                "amount": 0,
                "amount_unit": "usd_per_million_tokens",
                "key": "out",
                "label": "Output",
                "side": "out"
              }
            ]
          }
        ],
        "request_model_id": "nemotron-3-embed",
        "route_label": "Core",
        "status_reads": [],
        "tiers": [],
        "tool_prices": null,
        "unit": "token",
        "units": []
      }
    },
    {
      "html": "<div class=\"sheet-head\"><span class=\"mav\" aria-hidden=\"true\">NV</span><h2 id=\"sheet-title\">Nemotron 3 Embed 1B</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Cerrar\">×</button></div><div class=\"idline\"><span>NVIDIA /</span><code>nemotron-3-embed-latest</code><button type=\"button\" id=\"copy-id\">Copiar ID</button></div><nav class=\"card-jump-nav\" aria-label=\"Secciones de la ficha del modelo\"><button type=\"button\" data-card-jump=\"overview\">Primeros pasos</button><button type=\"button\" data-card-jump=\"methods\">Entradas y métodos</button><button type=\"button\" data-card-jump=\"pricing\">Planes</button><button type=\"button\" data-card-jump=\"examples\">Ejemplos</button><button type=\"button\" data-card-jump=\"results\">Resultados</button><button type=\"button\" data-card-jump=\"aliases\">Alias</button></nav><div class=\"card-method-tabs\" role=\"tablist\" aria-label=\"Métodos de API\"><button type=\"button\" role=\"tab\" tabindex=\"0\" aria-controls=\"card-method-content\" aria-selected=\"true\" id=\"card-method-tab-0\" data-card-method=\"Core|embeddings|/v1/embeddings|nemotron-3-embed-latest\">Representaciones vectoriales</button></div><div class=\"idline\"><label for=\"card-model-id\">ID del modelo</label><select class=\"sel\" id=\"card-model-id\" style=\"min-width:0;max-width:100%\"><option value=\"Core|embeddings|/v1/embeddings|nvidia%2Fnemotron-3-embed-1b\">nvidia/nemotron-3-embed-1b</option><option value=\"Core|embeddings|/v1/embeddings|nemotron-3-embed\">nemotron-3-embed</option><option value=\"Core|embeddings|/v1/embeddings|nemotron-3-embed-latest\" selected>nemotron-3-embed-latest</option></select></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\">Primeros pasos</h3><p class=\"mdesc-full\">Nemotron 3 Embed 1B convierte texto en vectores para búsqueda multilingüe, búsqueda de código y RAG. Procesa secuencias de hasta 32768 tokens y devuelve representaciones de 2048 números.</p><dl class=\"card-io\" data-card-io><div><dt>Entradas aceptadas</dt><dd>Texto</dd></div><div><dt>Resultados</dt><dd>embedding</dd></div></dl><details class=\"card-about\"><summary>Sobre el modelo</summary><p class=\"note-s\" data-model-method-boundary>Esta descripción cubre las capacidades del modelo. Las entradas, salidas y opciones disponibles en Ailoot se indican a continuación para el método seleccionado.</p><div class=\"mabout\" id=\"m-about\"><p>Nemotron 3 Embed 1B es un modelo de texto de NVIDIA para búsqueda semántica y comparación de fragmentos. Codifica preguntas, documentos y código en vectores numéricos densos. Se utilizan para localizar contexto en colecciones amplias, incorporarlo a una respuesta o recuperar información guardada para el siguiente paso de un agente.</p><h4>Conocimientos multilingües y código</h4><p>Está orientado a búsqueda multilingüe y entre idiomas: una pregunta y el material adecuado pueden estar en idiomas diferentes. Ruso forma parte de los 34 idiomas publicados junto con inglés, ucraniano, chino, japonés, árabe y otros. Es útil para bases de conocimiento cuyos documentos técnicos y consultas no están unificados en un idioma.</p><p>Los usos incluyen buscar documentación, comparar textos y recuperar código mediante una descripción. La ventana amplia admite documentos largos, contexto de programación e historial de varios pasos. El material encontrado vuelve al flujo como contexto; el siguiente componente genera explicaciones y respuestas finales.</p><h4>Del texto al vector</h4><p>La entrada son cadenas de texto. Cada una produce un vector de 2048 números. La secuencia máxima es de 32768 tokens; materiales más largos deben dividirse o reducirse. La preparación distingue pregunta y documento: el modelo aprende a relacionar esas funciones y una misma cadena no debe presentarse sin considerar su finalidad.</p><p>Los vectores se normalizan por su longitud. En esa representación, producto escalar y similitud coseno ofrecen comparaciones equivalentes. Se pueden conservar las primeras 1024 o 512 coordenadas, pero después del truncado hay que normalizar de nuevo. Es una propiedad del procesamiento del resultado; colección y consultas deben utilizar dimensiones coherentes.</p><h4>Arquitectura compacta</h4><p>El codificador contiene unos 1,14 mil millones de parámetros. Se obtiene de un modelo basado en Ministral 3 3B mediante dos etapas de reducción estructural y destilación. La atención bidireccional considera toda la entrada y promedia representaciones de tokens en un vector común.</p><p>NVIDIA publica BF16 y NVFP4. Sus espacios de representaciones son próximos, pero cambiar de variante requiere comprobar los documentos propios. Ni similitud numérica ni contexto amplio garantizan elegir siempre el fragmento correcto.</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">Disponible en Ailoot · entradas y métodos</h3><details class=\"card-method\" open><summary><b>Ailoot · Representaciones vectoriales</b> <code>POST /v1/embeddings</code></summary><dl class=\"method-capabilities\"><div><dt>Tipos de entrada</dt><dd><code>text</code></dd></div><div><dt>Tipos de salida</dt><dd><code>embedding</code></dd></div><div><dt>Contexto</dt><dd>4096 tokens</dd></div><div><dt>Formato de salida</dt><dd>json</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 y límites</th><th>Predeterminado</th></tr></thead><tbody><tr data-parameter-availability=\"source_interface\"><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>Obligatorio</td><td data-cell-label=\"Valores y límites\"><span class=\"card-cell-label\">Valores y límites</span><div>nemotron-3-embed-latest</div></td><td data-cell-label=\"Predeterminado\" data-default=\"unspecified\"><span class=\"card-cell-label\">Predeterminado</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><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|string[]</code></td><td data-cell-label=\"Requisito\"><span class=\"card-cell-label\">Requisito</span>Obligatorio</td><td data-cell-label=\"Valores y límites\"><span class=\"card-cell-label\">Valores y límites</span><div>Número mínimo de elementos: 1</div><div>Condiciones: Todas las cadenas deben ser no vacías después de eliminar los espacios de los extremos; se rechazan las URI data; el presupuesto aceptado mide los bytes UTF8 pertinentes.</div></td><td data-cell-label=\"Predeterminado\" data-default=\"unspecified\"><span class=\"card-cell-label\">Predeterminado</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">input_type</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>Opcional</td><td data-cell-label=\"Valores y límites\"><span class=\"card-cell-label\">Valores y límites</span><div>query, passage</div></td><td data-cell-label=\"Predeterminado\" data-default=\"known\"><span class=\"card-cell-label\">Predeterminado</span>query</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">encoding_format</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>Opcional</td><td data-cell-label=\"Valores y límites\"><span class=\"card-cell-label\">Valores y límites</span><div>float, base64</div></td><td data-cell-label=\"Predeterminado\" data-default=\"known\"><span class=\"card-cell-label\">Predeterminado</span>float</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">truncate</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>Opcional</td><td data-cell-label=\"Valores y límites\"><span class=\"card-cell-label\">Valores y límites</span><div>NONE, START, END</div></td><td data-cell-label=\"Predeterminado\" data-default=\"unspecified\"><span class=\"card-cell-label\">Predeterminado</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">dimensions</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span><code>integer</code></td><td data-cell-label=\"Requisito\"><span class=\"card-cell-label\">Requisito</span>Opcional</td><td data-cell-label=\"Valores y límites\"><span class=\"card-cell-label\">Valores y límites</span><div>Mínimo: 1</div></td><td data-cell-label=\"Predeterminado\" data-default=\"unspecified\"><span class=\"card-cell-label\">Predeterminado</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">user</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>Opcional</td><td data-cell-label=\"Valores y límites\"><span class=\"card-cell-label\">Valores y límites</span></td><td data-cell-label=\"Predeterminado\" data-default=\"unspecified\"><span class=\"card-cell-label\">Predeterminado</span>—</td></tr></tbody></table></div><details class=\"card-about\" data-material-combinations><summary>Combinaciones de materiales de entrada</summary><p class=\"note-s\"><b>text_to_embedding</b></p></details><details class=\"note-s\" data-method-contract><summary>Parámetros del método y ciclo de vida</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>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>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_controls</code></th><td data-cell-label=\"Contrato\"><span class=\"card-cell-label\">Contrato</span>null</td></tr><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></tbody></table></div><p>Ciclo de vida: <code>exact retained published method</code></p><p class=\"note-s\">Las estructuras e ID de los métodos son exactos; la capacidad del proveedor y la admisión son conceptos distintos.</p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">Planes</h3><h4>Tarifas de métodos Ailoot</h4><section class=\"meth\" data-route=\"Core\"><header><b><span class=\"alias\">Ailoot</span> Representaciones vectoriales</b><code>POST /v1/embeddings</code></header><dl><div><dt>Entrada</dt><dd>0,0001 US$ <em>/ 1K</em></dd></div></dl></section><p class=\"note-s\">Ailoot reserva un importe estimado antes de la solicitud. Tras obtener el resultado, liquida el cargo definitivo según el uso medido. En las respuestas en flujo, la liquidación usa el registro de uso final. <a href=\"/docs/es/billing/reserve/\">Cómo funcionan la reserva y la liquidación →</a></p></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">Solicitudes de ejemplo</h3><h4>Ailoot · Representaciones vectoriales</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Variantes del código\"><button class=\"cg-tab\" id=\"model-code-529-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-529-panel-0\" aria-selected=\"true\" tabindex=\"0\">Ejemplo de representación vectorial</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-529-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-529-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_TEXT_FILE:?Set your actual UTF-8 document}&quot;\nexport AILOOT_TEXT_FILE\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\np=json.loads(&#39;{&quot;model&quot;: &quot;nemotron-3-embed-latest&quot;, &quot;input&quot;: []}&#39;)\nf=Path(os.environ[&quot;AILOOT_TEXT_FILE&quot;])\nif not f.is_file():raise SystemExit(&quot;Choose your actual UTF-8 source material&quot;)\ntext=f.read_text(encoding=&quot;utf-8&quot;)\nif not text.strip():raise SystemExit(&quot;Source material must contain text&quot;)\np[&quot;input&quot;]=[text]\nPath(&quot;request.json&quot;).write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/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 result.json\npython3 - &lt;&lt;&#39;PY_RESULT&#39;\nimport json\nfrom pathlib import Path\nr=json.loads(Path(&quot;result.json&quot;).read_text())\nfor x in r.get(&quot;data&quot;,[]): print(json.dumps({&quot;index&quot;:x.get(&quot;index&quot;),&quot;embedding&quot;:x.get(&quot;embedding&quot;)}))\nPY_RESULT\n</code></pre></div></div></div></section><section class=\"card-section\" data-card-section=\"results\"><h3 tabindex=\"-1\">Recibir y guardar resultados</h3><h4>Ailoot · Representaciones vectoriales</h4><p class=\"note-s\">json</p><div class=\"card-result-process\" data-all-results><h5>Conserva todos los resultados completados</h5><p class=\"note-s\">Conserva todas las respuestas, archivos y partes de contenido completos recibidos.</p><p class=\"note-s\">Descodifica los vectores base64 solo cuando se haya solicitado ese formato; conserva todos los vectores y sus índices originales.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>Si es necesario revisar la respuesta original</h5><p class=\"note-s\">No se introduce ningún endpoint de trabajos de embeddings.</p></div><details class=\"card-about\" data-output-fields><summary>Campos de respuesta</summary><div class=\"tw\" data-card-table=\"output\"><table><thead><tr><th>Campo</th><th>Tipo</th></tr></thead><tbody><tr><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">data[].index</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span>integer</td></tr><tr><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">data[].embedding</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span>finite float[]|base64 float32 vector</td></tr><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>string</td></tr><tr><th data-cell-label=\"Campo\" scope=\"row\"><span class=\"card-cell-label\">Campo</span><code class=\"card-field-name\">usage</code></th><td data-cell-label=\"Tipo\" data-field-type><span class=\"card-cell-label\">Tipo</span>object</td></tr></tbody></table></div></details><details class=\"card-about\" data-method-errors><summary>Errores y siguientes pasos</summary><div class=\"tw\" data-card-table=\"errors\"><table><thead><tr><th>Respuesta</th><th>Condición</th><th>Siguiente paso</th></tr></thead><tbody><tr><th data-cell-label=\"Respuesta\" scope=\"row\"><span class=\"card-cell-label\">Respuesta</span>400 · <code>invalid_request_error</code></th><td data-cell-label=\"Condición\"><span class=\"card-cell-label\">Condición</span>Campos obligatorios, representación del material o valor del parámetro no válidos</td><td data-cell-label=\"Siguiente paso\"><span class=\"card-cell-label\">Siguiente paso</span>Corrige los campos indicados antes de una nueva solicitud de creación.</td></tr></tbody></table></div></details></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">Alias</h3><h4>Alias del modelo</h4><p class=\"note-s\"><span data-model-alias-route=\"Core\"><b>Ailoot</b> <a href=\"#m=nvidia%2Fnemotron-3-embed-1b&amp;route=Core&amp;caller=nvidia%2Fnemotron-3-embed-1b&amp;fmt=embeddings\"><code>nvidia/nemotron-3-embed-1b</code></a>, <a href=\"#m=nvidia%2Fnemotron-3-embed-1b&amp;route=Core&amp;caller=nemotron-3-embed&amp;fmt=embeddings\"><code>nemotron-3-embed</code></a>, <a href=\"#m=nvidia%2Fnemotron-3-embed-1b&amp;route=Core&amp;caller=nemotron-3-embed-latest&amp;fmt=embeddings\"><code>nemotron-3-embed-latest</code></a></span></p><h4>Alias de rutas de métodos</h4><p class=\"note-s\">Usa las rutas de método indicadas arriba.</p><h4>ID de modelo relacionados</h4><p class=\"note-s\"><a href=\"#m=nvidia%2Fnemotron-3-embed-1b&amp;route=Core&amp;caller=nvidia%2Fnemotron-3-embed-1b&amp;fmt=embeddings\"><code>nvidia/nemotron-3-embed-1b</code></a>, <a href=\"#m=nvidia%2Fnemotron-3-embed-1b&amp;route=Core&amp;caller=nemotron-3-embed&amp;fmt=embeddings\"><code>nemotron-3-embed</code></a>, <a href=\"#m=nvidia%2Fnemotron-3-embed-1b&amp;route=Core&amp;caller=nemotron-3-embed-latest&amp;fmt=embeddings\"><code>nemotron-3-embed-latest</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "nemotron-3-embed-latest",
        "fmt": "embeddings",
        "http": "POST",
        "path": "/v1/embeddings",
        "request_model_id": "nemotron-3-embed-latest",
        "route_label": "Core"
      },
      "method_key": "Core|embeddings|/v1/embeddings|nemotron-3-embed-latest",
      "ordinal": 2,
      "rawMethod": {
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "cache_write_5m": null,
        "conditional_meter": null,
        "contract": {
          "data": {
            "all_results": "Decode base64 vectors only when that format was requested; retain every vector and its original index.",
            "errors": [
              {
                "code": null,
                "condition": "Campos obligatorios, representación del material o valor del parámetro no válidos",
                "http_status": 400,
                "recovery": "Corrige los campos indicados antes de una nueva solicitud de creación.",
                "type": "invalid_request_error"
              }
            ],
            "hints": [],
            "ignored_fields": [],
            "lifecycle": {
              "create": {
                "http": "POST",
                "path": "/v1/embeddings"
              },
              "job_read": null,
              "mode": "synchronous_json",
              "unknown": "No se introduce ningún endpoint de trabajos de embeddings."
            },
            "material_combinations": [
              {
                "alternatives": [
                  "nonempty string",
                  "nonempty string[]"
                ],
                "mode": "text_to_embedding"
              }
            ],
            "operation_modes": [
              "single_embedding",
              "batched_embeddings"
            ],
            "outputs": {
              "all_results": "Descodifica los vectores base64 solo cuando se haya solicitado ese formato; conserva todos los vectores y sus índices originales.",
              "family": "embedding",
              "fields": [
                {
                  "description": null,
                  "name": "data[].index",
                  "type": "integer"
                },
                {
                  "description": null,
                  "name": "data[].embedding",
                  "type": "finite float[]|base64 float32 vector"
                },
                {
                  "description": null,
                  "name": "model",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "usage",
                  "type": "object"
                }
              ],
              "format": "json"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "nemotron-3-embed-latest"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "conditions": "Todas las cadenas deben ser no vacías después de eliminar los espacios de los extremos; se rechazan las URI data; el presupuesto aceptado mide los bytes UTF8 pertinentes.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "min_items": 1,
                "name": "input",
                "required": true,
                "type": "string|string[]"
              },
              {
                "availability": "source_interface",
                "default": "query",
                "default_known": true,
                "enum": [
                  "query",
                  "passage"
                ],
                "enum_known": true,
                "name": "input_type",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": "float",
                "default_known": true,
                "enum": [
                  "float",
                  "base64"
                ],
                "enum_known": true,
                "name": "encoding_format",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "NONE",
                  "START",
                  "END"
                ],
                "enum_known": true,
                "name": "truncate",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "minimum": 1,
                "name": "dimensions",
                "required": false,
                "type": "integer"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "user",
                "required": false,
                "type": "string"
              }
            ],
            "profile_binding": "Exact existing Ailoot model and method; interface constraints below do not assert provider qualification.",
            "unsupported": [
              "image objects",
              "data URI text inputs",
              "token integer arrays on this NVIDIA adapter"
            ]
          },
          "hints": [
            "Las estructuras e ID de los métodos son exactos; la capacidad del proveedor y la admisión son conceptos distintos."
          ],
          "input": {
            "content_type": "application/json",
            "material_types": [
              "text"
            ],
            "optional_controls": null,
            "required": [
              "model",
              "input"
            ]
          },
          "lifecycle": {
            "mode": "exact retained published method"
          },
          "method": {
            "http": "POST",
            "path": "/v1/embeddings"
          },
          "operation_modes": [
            "embeddings"
          ],
          "output": {
            "family": [
              "embedding"
            ],
            "format": "indexed vectors JSON",
            "multioutputs": "retain every actual response output"
          }
        },
        "ctx": 4096,
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_TEXT_FILE:?Set your actual UTF-8 document}\"\nexport AILOOT_TEXT_FILE\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"nemotron-3-embed-latest\", \"input\": []}')\nf=Path(os.environ[\"AILOOT_TEXT_FILE\"])\nif not f.is_file():raise SystemExit(\"Choose your actual UTF-8 source material\")\ntext=f.read_text(encoding=\"utf-8\")\nif not text.strip():raise SystemExit(\"Source material must contain text\")\np[\"input\"]=[text]\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/embeddings \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nr=json.loads(Path(\"result.json\").read_text())\nfor x in r.get(\"data\",[]): print(json.dumps({\"index\":x.get(\"index\"),\"embedding\":x.get(\"embedding\")}))\nPY_RESULT\n",
            "label": "Embed your source material",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "embeddings",
        "http": "POST",
        "img_in": null,
        "img_out": null,
        "in": 0.1,
        "input": [
          "text"
        ],
        "label": "Representaciones vectoriales",
        "max_out": 0,
        "max_tool_calls": null,
        "out": 0,
        "output": [
          "embedding"
        ],
        "path": "/v1/embeddings",
        "pricing_profiles": [
          {
            "dimensions": {},
            "label": "Core",
            "units": [
              {
                "amount": 0.1,
                "amount_unit": "usd_per_million_tokens",
                "key": "in",
                "label": "Input",
                "side": "in"
              },
              {
                "amount": 0,
                "amount_unit": "usd_per_million_tokens",
                "key": "out",
                "label": "Output",
                "side": "out"
              }
            ]
          }
        ],
        "request_model_id": "nemotron-3-embed-latest",
        "route_label": "Core",
        "status_reads": [],
        "tiers": [],
        "tool_prices": null,
        "unit": "token",
        "units": []
      }
    }
  ],
  "model_id": "nvidia/nemotron-3-embed-1b",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "cbc9825b679150c605f50fce971cb9c07609caa1d0e413edeea52a1b7279fbb3",
    "input_html_sha256": "01a10ce1b8a9fe7b87869aaf45f4e9776f89957e7f00129e7c6e312f8782e397",
    "private_audit_sha256": "3a048e6ea12824f777059f606928e69d4d2ea4265a4842a1779fa80a3568a4a5",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/es/nvidia-nemotron-3-embed-1b/",
    "description": "Nemotron 3 Embed 1B convierte texto en vectores para búsqueda multilingüe, búsqueda de código y RAG. Procesa secuencias de hasta 32768 tokens y devuelve representaciones de 2048 números.",
    "locale": "es",
    "md_url": "https://ailoot.ai/models/es/nvidia-nemotron-3-embed-1b/index.md",
    "title": "Nemotron 3 Embed 1B — Ailoot",
    "url": "https://ailoot.ai/models/es/nvidia-nemotron-3-embed-1b/"
  },
  "rawModel": {
    "about": "Nemotron 3 Embed 1B es un modelo de texto de NVIDIA para búsqueda semántica y comparación de fragmentos. Codifica preguntas, documentos y código en vectores numéricos densos. Se utilizan para localizar contexto en colecciones amplias, incorporarlo a una respuesta o recuperar información guardada para el siguiente paso de un agente.\n\n### Conocimientos multilingües y código\n\nEstá orientado a búsqueda multilingüe y entre idiomas: una pregunta y el material adecuado pueden estar en idiomas diferentes. Ruso forma parte de los 34 idiomas publicados junto con inglés, ucraniano, chino, japonés, árabe y otros. Es útil para bases de conocimiento cuyos documentos técnicos y consultas no están unificados en un idioma.\n\nLos usos incluyen buscar documentación, comparar textos y recuperar código mediante una descripción. La ventana amplia admite documentos largos, contexto de programación e historial de varios pasos. El material encontrado vuelve al flujo como contexto; el siguiente componente genera explicaciones y respuestas finales.\n\n### Del texto al vector\n\nLa entrada son cadenas de texto. Cada una produce un vector de 2048 números. La secuencia máxima es de 32768 tokens; materiales más largos deben dividirse o reducirse. La preparación distingue pregunta y documento: el modelo aprende a relacionar esas funciones y una misma cadena no debe presentarse sin considerar su finalidad.\n\nLos vectores se normalizan por su longitud. En esa representación, producto escalar y similitud coseno ofrecen comparaciones equivalentes. Se pueden conservar las primeras 1024 o 512 coordenadas, pero después del truncado hay que normalizar de nuevo. Es una propiedad del procesamiento del resultado; colección y consultas deben utilizar dimensiones coherentes.\n\n### Arquitectura compacta\n\nEl codificador contiene unos 1,14 mil millones de parámetros. Se obtiene de un modelo basado en Ministral 3 3B mediante dos etapas de reducción estructural y destilación. La atención bidireccional considera toda la entrada y promedia representaciones de tokens en un vector común.\n\nNVIDIA publica BF16 y NVFP4. Sus espacios de representaciones son próximos, pero cambiar de variante requiere comprobar los documentos propios. Ni similitud numérica ni contexto amplio garantizan elegir siempre el fragmento correcto.",
    "alias_of": null,
    "aliases": [
      "nemotron-3-embed",
      "nemotron-3-embed-latest"
    ],
    "author": "NVIDIA",
    "ctx": 4096,
    "display_name": "Nemotron 3 Embed 1B",
    "formats": [
      "embeddings"
    ],
    "id": "nvidia/nemotron-3-embed-1b",
    "input": [
      "text"
    ],
    "kind": "embedding",
    "max_out": null,
    "methods": [
      {
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "cache_write_5m": null,
        "conditional_meter": null,
        "contract": {
          "data": {
            "all_results": "Decode base64 vectors only when that format was requested; retain every vector and its original index.",
            "errors": [
              {
                "code": null,
                "condition": "Campos obligatorios, representación del material o valor del parámetro no válidos",
                "http_status": 400,
                "recovery": "Corrige los campos indicados antes de una nueva solicitud de creación.",
                "type": "invalid_request_error"
              }
            ],
            "hints": [],
            "ignored_fields": [],
            "lifecycle": {
              "create": {
                "http": "POST",
                "path": "/v1/embeddings"
              },
              "job_read": null,
              "mode": "synchronous_json",
              "unknown": "No se introduce ningún endpoint de trabajos de embeddings."
            },
            "material_combinations": [
              {
                "alternatives": [
                  "nonempty string",
                  "nonempty string[]"
                ],
                "mode": "text_to_embedding"
              }
            ],
            "operation_modes": [
              "single_embedding",
              "batched_embeddings"
            ],
            "outputs": {
              "all_results": "Descodifica los vectores base64 solo cuando se haya solicitado ese formato; conserva todos los vectores y sus índices originales.",
              "family": "embedding",
              "fields": [
                {
                  "description": null,
                  "name": "data[].index",
                  "type": "integer"
                },
                {
                  "description": null,
                  "name": "data[].embedding",
                  "type": "finite float[]|base64 float32 vector"
                },
                {
                  "description": null,
                  "name": "model",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "usage",
                  "type": "object"
                }
              ],
              "format": "json"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "nvidia/nemotron-3-embed-1b"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "conditions": "Todas las cadenas deben ser no vacías después de eliminar los espacios de los extremos; se rechazan las URI data; el presupuesto aceptado mide los bytes UTF8 pertinentes.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "min_items": 1,
                "name": "input",
                "required": true,
                "type": "string|string[]"
              },
              {
                "availability": "source_interface",
                "default": "query",
                "default_known": true,
                "enum": [
                  "query",
                  "passage"
                ],
                "enum_known": true,
                "name": "input_type",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": "float",
                "default_known": true,
                "enum": [
                  "float",
                  "base64"
                ],
                "enum_known": true,
                "name": "encoding_format",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "NONE",
                  "START",
                  "END"
                ],
                "enum_known": true,
                "name": "truncate",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "minimum": 1,
                "name": "dimensions",
                "required": false,
                "type": "integer"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "user",
                "required": false,
                "type": "string"
              }
            ],
            "profile_binding": "Exact existing Ailoot model and method; interface constraints below do not assert provider qualification.",
            "unsupported": [
              "image objects",
              "data URI text inputs",
              "token integer arrays on this NVIDIA adapter"
            ]
          },
          "hints": [
            "Las estructuras e ID de los métodos son exactos; la capacidad del proveedor y la admisión son conceptos distintos."
          ],
          "input": {
            "content_type": "application/json",
            "material_types": [
              "text"
            ],
            "optional_controls": null,
            "required": [
              "model",
              "input"
            ]
          },
          "lifecycle": {
            "mode": "exact retained published method"
          },
          "method": {
            "http": "POST",
            "path": "/v1/embeddings"
          },
          "operation_modes": [
            "embeddings"
          ],
          "output": {
            "family": [
              "embedding"
            ],
            "format": "indexed vectors JSON",
            "multioutputs": "retain every actual response output"
          }
        },
        "ctx": 4096,
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_TEXT_FILE:?Set your actual UTF-8 document}\"\nexport AILOOT_TEXT_FILE\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"nvidia/nemotron-3-embed-1b\", \"input\": []}')\nf=Path(os.environ[\"AILOOT_TEXT_FILE\"])\nif not f.is_file():raise SystemExit(\"Choose your actual UTF-8 source material\")\ntext=f.read_text(encoding=\"utf-8\")\nif not text.strip():raise SystemExit(\"Source material must contain text\")\np[\"input\"]=[text]\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/embeddings \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nr=json.loads(Path(\"result.json\").read_text())\nfor x in r.get(\"data\",[]): print(json.dumps({\"index\":x.get(\"index\"),\"embedding\":x.get(\"embedding\")}))\nPY_RESULT\n",
            "label": "Embed your source material",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "embeddings",
        "http": "POST",
        "img_in": null,
        "img_out": null,
        "in": 0.1,
        "input": [
          "text"
        ],
        "label": "Representaciones vectoriales",
        "max_out": 0,
        "max_tool_calls": null,
        "out": 0,
        "output": [
          "embedding"
        ],
        "path": "/v1/embeddings",
        "pricing_profiles": [
          {
            "dimensions": {},
            "label": "Core",
            "units": [
              {
                "amount": 0.1,
                "amount_unit": "usd_per_million_tokens",
                "key": "in",
                "label": "Input",
                "side": "in"
              },
              {
                "amount": 0,
                "amount_unit": "usd_per_million_tokens",
                "key": "out",
                "label": "Output",
                "side": "out"
              }
            ]
          }
        ],
        "request_model_id": "nvidia/nemotron-3-embed-1b",
        "route_label": "Core",
        "status_reads": [],
        "tiers": [],
        "tool_prices": null,
        "unit": "token",
        "units": []
      },
      {
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "cache_write_5m": null,
        "conditional_meter": null,
        "contract": {
          "data": {
            "all_results": "Decode base64 vectors only when that format was requested; retain every vector and its original index.",
            "errors": [
              {
                "code": null,
                "condition": "Campos obligatorios, representación del material o valor del parámetro no válidos",
                "http_status": 400,
                "recovery": "Corrige los campos indicados antes de una nueva solicitud de creación.",
                "type": "invalid_request_error"
              }
            ],
            "hints": [],
            "ignored_fields": [],
            "lifecycle": {
              "create": {
                "http": "POST",
                "path": "/v1/embeddings"
              },
              "job_read": null,
              "mode": "synchronous_json",
              "unknown": "No se introduce ningún endpoint de trabajos de embeddings."
            },
            "material_combinations": [
              {
                "alternatives": [
                  "nonempty string",
                  "nonempty string[]"
                ],
                "mode": "text_to_embedding"
              }
            ],
            "operation_modes": [
              "single_embedding",
              "batched_embeddings"
            ],
            "outputs": {
              "all_results": "Descodifica los vectores base64 solo cuando se haya solicitado ese formato; conserva todos los vectores y sus índices originales.",
              "family": "embedding",
              "fields": [
                {
                  "description": null,
                  "name": "data[].index",
                  "type": "integer"
                },
                {
                  "description": null,
                  "name": "data[].embedding",
                  "type": "finite float[]|base64 float32 vector"
                },
                {
                  "description": null,
                  "name": "model",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "usage",
                  "type": "object"
                }
              ],
              "format": "json"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "nemotron-3-embed"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "conditions": "Todas las cadenas deben ser no vacías después de eliminar los espacios de los extremos; se rechazan las URI data; el presupuesto aceptado mide los bytes UTF8 pertinentes.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "min_items": 1,
                "name": "input",
                "required": true,
                "type": "string|string[]"
              },
              {
                "availability": "source_interface",
                "default": "query",
                "default_known": true,
                "enum": [
                  "query",
                  "passage"
                ],
                "enum_known": true,
                "name": "input_type",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": "float",
                "default_known": true,
                "enum": [
                  "float",
                  "base64"
                ],
                "enum_known": true,
                "name": "encoding_format",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "NONE",
                  "START",
                  "END"
                ],
                "enum_known": true,
                "name": "truncate",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "minimum": 1,
                "name": "dimensions",
                "required": false,
                "type": "integer"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "user",
                "required": false,
                "type": "string"
              }
            ],
            "profile_binding": "Exact existing Ailoot model and method; interface constraints below do not assert provider qualification.",
            "unsupported": [
              "image objects",
              "data URI text inputs",
              "token integer arrays on this NVIDIA adapter"
            ]
          },
          "hints": [
            "Las estructuras e ID de los métodos son exactos; la capacidad del proveedor y la admisión son conceptos distintos."
          ],
          "input": {
            "content_type": "application/json",
            "material_types": [
              "text"
            ],
            "optional_controls": null,
            "required": [
              "model",
              "input"
            ]
          },
          "lifecycle": {
            "mode": "exact retained published method"
          },
          "method": {
            "http": "POST",
            "path": "/v1/embeddings"
          },
          "operation_modes": [
            "embeddings"
          ],
          "output": {
            "family": [
              "embedding"
            ],
            "format": "indexed vectors JSON",
            "multioutputs": "retain every actual response output"
          }
        },
        "ctx": 4096,
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_TEXT_FILE:?Set your actual UTF-8 document}\"\nexport AILOOT_TEXT_FILE\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"nemotron-3-embed\", \"input\": []}')\nf=Path(os.environ[\"AILOOT_TEXT_FILE\"])\nif not f.is_file():raise SystemExit(\"Choose your actual UTF-8 source material\")\ntext=f.read_text(encoding=\"utf-8\")\nif not text.strip():raise SystemExit(\"Source material must contain text\")\np[\"input\"]=[text]\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/embeddings \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nr=json.loads(Path(\"result.json\").read_text())\nfor x in r.get(\"data\",[]): print(json.dumps({\"index\":x.get(\"index\"),\"embedding\":x.get(\"embedding\")}))\nPY_RESULT\n",
            "label": "Embed your source material",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "embeddings",
        "http": "POST",
        "img_in": null,
        "img_out": null,
        "in": 0.1,
        "input": [
          "text"
        ],
        "label": "Representaciones vectoriales",
        "max_out": 0,
        "max_tool_calls": null,
        "out": 0,
        "output": [
          "embedding"
        ],
        "path": "/v1/embeddings",
        "pricing_profiles": [
          {
            "dimensions": {},
            "label": "Core",
            "units": [
              {
                "amount": 0.1,
                "amount_unit": "usd_per_million_tokens",
                "key": "in",
                "label": "Input",
                "side": "in"
              },
              {
                "amount": 0,
                "amount_unit": "usd_per_million_tokens",
                "key": "out",
                "label": "Output",
                "side": "out"
              }
            ]
          }
        ],
        "request_model_id": "nemotron-3-embed",
        "route_label": "Core",
        "status_reads": [],
        "tiers": [],
        "tool_prices": null,
        "unit": "token",
        "units": []
      },
      {
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "cache_write_5m": null,
        "conditional_meter": null,
        "contract": {
          "data": {
            "all_results": "Decode base64 vectors only when that format was requested; retain every vector and its original index.",
            "errors": [
              {
                "code": null,
                "condition": "Campos obligatorios, representación del material o valor del parámetro no válidos",
                "http_status": 400,
                "recovery": "Corrige los campos indicados antes de una nueva solicitud de creación.",
                "type": "invalid_request_error"
              }
            ],
            "hints": [],
            "ignored_fields": [],
            "lifecycle": {
              "create": {
                "http": "POST",
                "path": "/v1/embeddings"
              },
              "job_read": null,
              "mode": "synchronous_json",
              "unknown": "No se introduce ningún endpoint de trabajos de embeddings."
            },
            "material_combinations": [
              {
                "alternatives": [
                  "nonempty string",
                  "nonempty string[]"
                ],
                "mode": "text_to_embedding"
              }
            ],
            "operation_modes": [
              "single_embedding",
              "batched_embeddings"
            ],
            "outputs": {
              "all_results": "Descodifica los vectores base64 solo cuando se haya solicitado ese formato; conserva todos los vectores y sus índices originales.",
              "family": "embedding",
              "fields": [
                {
                  "description": null,
                  "name": "data[].index",
                  "type": "integer"
                },
                {
                  "description": null,
                  "name": "data[].embedding",
                  "type": "finite float[]|base64 float32 vector"
                },
                {
                  "description": null,
                  "name": "model",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "usage",
                  "type": "object"
                }
              ],
              "format": "json"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "nemotron-3-embed-latest"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "conditions": "Todas las cadenas deben ser no vacías después de eliminar los espacios de los extremos; se rechazan las URI data; el presupuesto aceptado mide los bytes UTF8 pertinentes.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "min_items": 1,
                "name": "input",
                "required": true,
                "type": "string|string[]"
              },
              {
                "availability": "source_interface",
                "default": "query",
                "default_known": true,
                "enum": [
                  "query",
                  "passage"
                ],
                "enum_known": true,
                "name": "input_type",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": "float",
                "default_known": true,
                "enum": [
                  "float",
                  "base64"
                ],
                "enum_known": true,
                "name": "encoding_format",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "NONE",
                  "START",
                  "END"
                ],
                "enum_known": true,
                "name": "truncate",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "minimum": 1,
                "name": "dimensions",
                "required": false,
                "type": "integer"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "user",
                "required": false,
                "type": "string"
              }
            ],
            "profile_binding": "Exact existing Ailoot model and method; interface constraints below do not assert provider qualification.",
            "unsupported": [
              "image objects",
              "data URI text inputs",
              "token integer arrays on this NVIDIA adapter"
            ]
          },
          "hints": [
            "Las estructuras e ID de los métodos son exactos; la capacidad del proveedor y la admisión son conceptos distintos."
          ],
          "input": {
            "content_type": "application/json",
            "material_types": [
              "text"
            ],
            "optional_controls": null,
            "required": [
              "model",
              "input"
            ]
          },
          "lifecycle": {
            "mode": "exact retained published method"
          },
          "method": {
            "http": "POST",
            "path": "/v1/embeddings"
          },
          "operation_modes": [
            "embeddings"
          ],
          "output": {
            "family": [
              "embedding"
            ],
            "format": "indexed vectors JSON",
            "multioutputs": "retain every actual response output"
          }
        },
        "ctx": 4096,
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_TEXT_FILE:?Set your actual UTF-8 document}\"\nexport AILOOT_TEXT_FILE\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"nemotron-3-embed-latest\", \"input\": []}')\nf=Path(os.environ[\"AILOOT_TEXT_FILE\"])\nif not f.is_file():raise SystemExit(\"Choose your actual UTF-8 source material\")\ntext=f.read_text(encoding=\"utf-8\")\nif not text.strip():raise SystemExit(\"Source material must contain text\")\np[\"input\"]=[text]\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/embeddings \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nr=json.loads(Path(\"result.json\").read_text())\nfor x in r.get(\"data\",[]): print(json.dumps({\"index\":x.get(\"index\"),\"embedding\":x.get(\"embedding\")}))\nPY_RESULT\n",
            "label": "Embed your source material",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "embeddings",
        "http": "POST",
        "img_in": null,
        "img_out": null,
        "in": 0.1,
        "input": [
          "text"
        ],
        "label": "Representaciones vectoriales",
        "max_out": 0,
        "max_tool_calls": null,
        "out": 0,
        "output": [
          "embedding"
        ],
        "path": "/v1/embeddings",
        "pricing_profiles": [
          {
            "dimensions": {},
            "label": "Core",
            "units": [
              {
                "amount": 0.1,
                "amount_unit": "usd_per_million_tokens",
                "key": "in",
                "label": "Input",
                "side": "in"
              },
              {
                "amount": 0,
                "amount_unit": "usd_per_million_tokens",
                "key": "out",
                "label": "Output",
                "side": "out"
              }
            ]
          }
        ],
        "request_model_id": "nemotron-3-embed-latest",
        "route_label": "Core",
        "status_reads": [],
        "tiers": [],
        "tool_prices": null,
        "unit": "token",
        "units": []
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "nvidia/nemotron-3-embed-1b",
        "request_model_id": "nvidia/nemotron-3-embed-1b",
        "route_label": "Core"
      },
      {
        "canonical_model_id": "nvidia/nemotron-3-embed-1b",
        "request_model_id": "nemotron-3-embed",
        "route_label": "Core"
      },
      {
        "canonical_model_id": "nvidia/nemotron-3-embed-1b",
        "request_model_id": "nemotron-3-embed-latest",
        "route_label": "Core"
      }
    ],
    "name": "nvidia/nemotron-3-embed-1b",
    "price": {
      "in": 0.1,
      "in_label": null,
      "out": null,
      "out_label": null,
      "sort_in": 0.1,
      "sort_out": null,
      "varies": false
    },
    "short": "Nemotron 3 Embed 1B convierte texto en vectores para búsqueda multilingüe, búsqueda de código y RAG. Procesa secuencias de hasta 32768 tokens y devuelve representaciones de 2048 números."
  },
  "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
        },
        {
          "contract_json_pointer": "/methods/1/rawMethod/contract",
          "html_json_pointer": "/methods/1/html",
          "method_ordinal": 1
        },
        {
          "contract_json_pointer": "/methods/2/rawMethod/contract",
          "html_json_pointer": "/methods/2/html",
          "method_ordinal": 2
        }
      ],
      "role": "current-semantic-reference"
    },
    "raw_input": {
      "examples_role": "historical-input-not-current-ready-examples",
      "json_pointers": [
        "/rawModel",
        "/methods/0/rawMethod",
        "/methods/1/rawMethod",
        "/methods/2/rawMethod"
      ],
      "role": "historical-owner-input"
    },
    "schema": "ailoot-native-model-representations-v1"
  },
  "schema": "ailoot-static-model-facts-v1",
  "schema_version": 1,
  "shortText": "Nemotron 3 Embed 1B convierte texto en vectores para búsqueda multilingüe, búsqueda de código y RAG. Procesa secuencias de hasta 32768 tokens y devuelve representaciones de 2048 números.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "efea3b562fe715e0e882ff661473be948c8fcbaca09c8cc6d3fa488bff8fbcb6",
    "renderer_sha256": "b6d488b4bdee68568e5b17d2d4871b2ba1885e1032091b635a7a58ad2ca224e7"
  },
  "sourceRevision": "5b1b8502e5eca9d3ff2df8eaadeae10ac667cd23ce1b69c0aa35a55a21e9ebc9"
}
