{
  "aboutHtml": "<p>Voyage 3.5 Lite omvandlar text till inbäddningar för semantisk informationssökning. Voyage AI beskriver denna version som optimerad för latens och kostnad, vilket gör den till en kandidat för söktjänster som ofta bäddar in inkommande frågor eller underhåller stora samlingar sökbara avsnitt. Utdata är en numerisk representation av den inmatade texten, som en sökapplikation jämför med vektorer lagrade för källmaterialet.</p><p>Börja med en samling vars indelning motsvarar användarens uppgift. I ett hjälpcenter kan ett avsnitt förklara en procedur och dess förutsättningar. I ett diskussionsarkiv bör tillräckligt mycket av svarskedjan bevaras för att det ska framgå vad svaret gäller. Ett resultat bör leda till ett läsbart underlag, så lagra originaltexten, en stabil källänk och dokumentets metadata tillsammans med varje inbäddning.</p><p>Formulera testfrågorna som användarna skulle ställa dem. ”Var ändrar jag adressen på en faktura?” är en mer användbar sökkontroll än en kopia av den relevanta artikelrubriken. Ta med korta frågor, omformuleringar, fackförkortningar och fall som nämner flera begrepp. Granska de returnerade avsnitten och avgör om en missad träff beror på saknat källinnehåll, olämpliga avsnittsgränser eller ett val i sökningen.</p><p>Tillverkaren dokumenterar ett kontextfönster på 32 000 token. Det medger omfattande textindata, medan avsnittslängden fortfarande är ett designval för sökupplevelsen. Håll ett koncentrerat svar samman med nödvändiga villkor och undvik att skilja en definition från termen den förklarar. Extrahera läsbar text från källan och ta bort navigering som upprepas på varje sida när den skymmer den information användaren söker.</p><p>Voyage 3.5 Lite stöder 2 048, 1 024, 512 och 256 dimensioner. Flyttalsrepresentationer, åttabitars heltal och binära representationer ger ytterligare val för vektorindexet. Testa en mindre eller kvantiserad representation mot samma frågor och textsamling som används för referensen med full precision. Spara vald modell, dimension och datatyp med indexet så att frågevektorerna använder motsvarande inställningar.</p><p>I tillverkarens sökarbetsflöde anges indexerade avsnitt som document och inkommande sökningar som query. Bevara kopplingen mellan varje returnerad vektor och dess inmatade text när flera avsnitt behandlas tillsammans. En lyckad inbäddningsoperation levererar vektorer; applikationen måste fortfarande lagra dem i rätt poster och visa källutdraget när användaren öppnar ett resultat.</p><p>Använd denna version för en sökbar supportsamling, ett verktyg för dokumentsökning eller en assistents informationshämtningssteg. För flerspråkigt material bör de språkkombinationer som finns i den egna samlingen utvärderas, i stället för att förlita sig på ett enda engelskt test. Håll behörigheter och språkmetadata tillgängliga för applikationen så att en relevant träff kan filtreras och visas i rätt sammanhang.</p><p>När samlingen växer bör vektorerna för ändrade avsnitt uppdateras tillsammans med källornas versioner. Behåll en uppsättning verkliga frågor med enkla träffar, svåra omformuleringar och liknande dokument med olika svar. Mät sökkvaliteten och beteendet i hela sökflödet under den förväntade belastningen. Tillverkarens positionering av Lite hjälper till att välja en kandidat; den slutliga dimensionen, avsnittsstrategin och indexinställningarna bestäms utifrån resultaten på det egna materialet.</p>",
  "aboutText": "Voyage 3.5 Lite omvandlar text till inbäddningar för semantisk informationssökning. Voyage AI beskriver denna version som optimerad för latens och kostnad, vilket gör den till en kandidat för söktjänster som ofta bäddar in inkommande frågor eller underhåller stora samlingar sökbara avsnitt. Utdata är en numerisk representation av den inmatade texten, som en sökapplikation jämför med vektorer lagrade för källmaterialet.\n\nBörja med en samling vars indelning motsvarar användarens uppgift. I ett hjälpcenter kan ett avsnitt förklara en procedur och dess förutsättningar. I ett diskussionsarkiv bör tillräckligt mycket av svarskedjan bevaras för att det ska framgå vad svaret gäller. Ett resultat bör leda till ett läsbart underlag, så lagra originaltexten, en stabil källänk och dokumentets metadata tillsammans med varje inbäddning.\n\nFormulera testfrågorna som användarna skulle ställa dem. ”Var ändrar jag adressen på en faktura?” är en mer användbar sökkontroll än en kopia av den relevanta artikelrubriken. Ta med korta frågor, omformuleringar, fackförkortningar och fall som nämner flera begrepp. Granska de returnerade avsnitten och avgör om en missad träff beror på saknat källinnehåll, olämpliga avsnittsgränser eller ett val i sökningen.\n\nTillverkaren dokumenterar ett kontextfönster på 32 000 token. Det medger omfattande textindata, medan avsnittslängden fortfarande är ett designval för sökupplevelsen. Håll ett koncentrerat svar samman med nödvändiga villkor och undvik att skilja en definition från termen den förklarar. Extrahera läsbar text från källan och ta bort navigering som upprepas på varje sida när den skymmer den information användaren söker.\n\nVoyage 3.5 Lite stöder 2 048, 1 024, 512 och 256 dimensioner. Flyttalsrepresentationer, åttabitars heltal och binära representationer ger ytterligare val för vektorindexet. Testa en mindre eller kvantiserad representation mot samma frågor och textsamling som används för referensen med full precision. Spara vald modell, dimension och datatyp med indexet så att frågevektorerna använder motsvarande inställningar.\n\nI tillverkarens sökarbetsflöde anges indexerade avsnitt som document och inkommande sökningar som query. Bevara kopplingen mellan varje returnerad vektor och dess inmatade text när flera avsnitt behandlas tillsammans. En lyckad inbäddningsoperation levererar vektorer; applikationen måste fortfarande lagra dem i rätt poster och visa källutdraget när användaren öppnar ett resultat.\n\nAnvänd denna version för en sökbar supportsamling, ett verktyg för dokumentsökning eller en assistents informationshämtningssteg. För flerspråkigt material bör de språkkombinationer som finns i den egna samlingen utvärderas, i stället för att förlita sig på ett enda engelskt test. Håll behörigheter och språkmetadata tillgängliga för applikationen så att en relevant träff kan filtreras och visas i rätt sammanhang.\n\nNär samlingen växer bör vektorerna för ändrade avsnitt uppdateras tillsammans med källornas versioner. Behåll en uppsättning verkliga frågor med enkla träffar, svåra omformuleringar och liknande dokument med olika svar. Mät sökkvaliteten och beteendet i hela sökflödet under den förväntade belastningen. Tillverkarens positionering av Lite hjälper till att välja en kandidat; den slutliga dimensionen, avsnittsstrategin och indexinställningarna bestäms utifrån resultaten på det egna materialet.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "ef6e64a36ded82d01f948c513a2723a559d744ac74ec44f39fdd26741929df88",
    "module_sha256": "ee9dc1c50b1e6a8fb7fa062030fcb4646b9aaaeb08be513b723a5a92a7290f06",
    "raw_model_unchanged": true,
    "schema": "ailoot-native-model-editorial-v1"
  },
  "locale": "sv",
  "methods": [
    {
      "html": "<div class=\"sheet-head\"><span class=\"mav\" aria-hidden=\"true\">•</span><h2 id=\"sheet-title\">Voyage AI: Voyage 3.5 Lite</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Stäng\">×</button></div><div class=\"idline\"><span>Voyage AI /</span><code>voyage-3.5-lite</code><button type=\"button\" id=\"copy-id\">Kopiera ID</button></div><nav class=\"card-jump-nav\" aria-label=\"Modellkortets avsnitt\"><button type=\"button\" data-card-jump=\"overview\">Start</button><button type=\"button\" data-card-jump=\"methods\">Indata &amp; metoder</button><button type=\"button\" data-card-jump=\"pricing\">Priser</button><button type=\"button\" data-card-jump=\"examples\">Exempel</button><button type=\"button\" data-card-jump=\"results\">Resultat</button><button type=\"button\" data-card-jump=\"aliases\">Alias</button></nav><div class=\"card-method-tabs\" role=\"tablist\" aria-label=\"API-metoder\"><button type=\"button\" role=\"tab\" tabindex=\"0\" aria-controls=\"card-method-content\" aria-selected=\"true\" id=\"card-method-tab-0\" data-card-method=\"Ultra|embeddings|/v1/embeddings|voyage-3.5-lite\">Embeddings</button></div><div id=\"card-method-content\" role=\"tabpanel\" aria-labelledby=\"card-method-tab-0\"><section class=\"card-section\" data-card-section=\"overview\"><h3 tabindex=\"-1\">Start</h3><p class=\"mdesc-full\">Voyage 3.5 Lite skapar textinbäddningar för semantisk sökning med fokus på latens och effektiv informationshämtning. Ett kontextfönster på 32 000 token, fyra vektorstorlekar och kvantiserade utdata stöder sökning i kunskapsbaser, dokumentmatchning och RAG.</p><dl class=\"card-io\" data-card-io><div><dt>Godkända indata</dt><dd>Text</dd></div><div><dt>Resultat</dt><dd>embedding</dd></div></dl><details class=\"card-about\"><summary>Om modellen</summary><p class=\"note-s\" data-model-method-boundary>Den här beskrivningen omfattar modellens förmågor. Tillgängliga indata, utdata och alternativ i Ailoot anges nedan för den valda metoden.</p><div class=\"mabout\" id=\"m-about\"><p>Voyage 3.5 Lite omvandlar text till inbäddningar för semantisk informationssökning. Voyage AI beskriver denna version som optimerad för latens och kostnad, vilket gör den till en kandidat för söktjänster som ofta bäddar in inkommande frågor eller underhåller stora samlingar sökbara avsnitt. Utdata är en numerisk representation av den inmatade texten, som en sökapplikation jämför med vektorer lagrade för källmaterialet.</p><p>Börja med en samling vars indelning motsvarar användarens uppgift. I ett hjälpcenter kan ett avsnitt förklara en procedur och dess förutsättningar. I ett diskussionsarkiv bör tillräckligt mycket av svarskedjan bevaras för att det ska framgå vad svaret gäller. Ett resultat bör leda till ett läsbart underlag, så lagra originaltexten, en stabil källänk och dokumentets metadata tillsammans med varje inbäddning.</p><p>Formulera testfrågorna som användarna skulle ställa dem. ”Var ändrar jag adressen på en faktura?” är en mer användbar sökkontroll än en kopia av den relevanta artikelrubriken. Ta med korta frågor, omformuleringar, fackförkortningar och fall som nämner flera begrepp. Granska de returnerade avsnitten och avgör om en missad träff beror på saknat källinnehåll, olämpliga avsnittsgränser eller ett val i sökningen.</p><p>Tillverkaren dokumenterar ett kontextfönster på 32 000 token. Det medger omfattande textindata, medan avsnittslängden fortfarande är ett designval för sökupplevelsen. Håll ett koncentrerat svar samman med nödvändiga villkor och undvik att skilja en definition från termen den förklarar. Extrahera läsbar text från källan och ta bort navigering som upprepas på varje sida när den skymmer den information användaren söker.</p><p>Voyage 3.5 Lite stöder 2 048, 1 024, 512 och 256 dimensioner. Flyttalsrepresentationer, åttabitars heltal och binära representationer ger ytterligare val för vektorindexet. Testa en mindre eller kvantiserad representation mot samma frågor och textsamling som används för referensen med full precision. Spara vald modell, dimension och datatyp med indexet så att frågevektorerna använder motsvarande inställningar.</p><p>I tillverkarens sökarbetsflöde anges indexerade avsnitt som document och inkommande sökningar som query. Bevara kopplingen mellan varje returnerad vektor och dess inmatade text när flera avsnitt behandlas tillsammans. En lyckad inbäddningsoperation levererar vektorer; applikationen måste fortfarande lagra dem i rätt poster och visa källutdraget när användaren öppnar ett resultat.</p><p>Använd denna version för en sökbar supportsamling, ett verktyg för dokumentsökning eller en assistents informationshämtningssteg. För flerspråkigt material bör de språkkombinationer som finns i den egna samlingen utvärderas, i stället för att förlita sig på ett enda engelskt test. Håll behörigheter och språkmetadata tillgängliga för applikationen så att en relevant träff kan filtreras och visas i rätt sammanhang.</p><p>När samlingen växer bör vektorerna för ändrade avsnitt uppdateras tillsammans med källornas versioner. Behåll en uppsättning verkliga frågor med enkla träffar, svåra omformuleringar och liknande dokument med olika svar. Mät sökkvaliteten och beteendet i hela sökflödet under den förväntade belastningen. Tillverkarens positionering av Lite hjälper till att välja en kandidat; den slutliga dimensionen, avsnittsstrategin och indexinställningarna bestäms utifrån resultaten på det egna materialet.</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">Tillgängligt i Ailoot · indata &amp; metoder</h3><details class=\"card-method\" open><summary><b>Ailoot Ultra · Inbäddningar</b> <code>POST /v1/embeddings</code></summary><dl class=\"method-capabilities\"><div><dt>Indatatyper</dt><dd><code>text</code></dd></div><div><dt>Utdatatyper</dt><dd><code>embedding</code></dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>Fält</th><th>Typ</th><th>Krav</th><th>Värden &amp; gränser</th><th>Standard</th></tr></thead><tbody><tr><th data-cell-label=\"Fält\" scope=\"row\"><span class=\"card-cell-label\">Fält</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span><code>string</code></td><td data-cell-label=\"Krav\"><span class=\"card-cell-label\">Krav</span>Obligatoriskt</td><td data-cell-label=\"Värden &amp; gränser\"><span class=\"card-cell-label\">Värden &amp; gränser</span><div>voyage-3.5-lite</div><div>Villkor: Använd den exakta modellväljaren för Ailoot.</div></td><td data-cell-label=\"Standard\" data-default=\"unspecified\"><span class=\"card-cell-label\">Standard</span>—</td></tr><tr><th data-cell-label=\"Fält\" scope=\"row\"><span class=\"card-cell-label\">Fält</span><code class=\"card-field-name\">input</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span><code>string or array&lt;string&gt;</code></td><td data-cell-label=\"Krav\"><span class=\"card-cell-label\">Krav</span>Obligatoriskt</td><td data-cell-label=\"Värden &amp; gränser\"><span class=\"card-cell-label\">Värden &amp; gränser</span><div>Villkor: En text eller en lista med texter; behåll en vektor för varje returnerad datapost och dess index.</div></td><td data-cell-label=\"Standard\" data-default=\"unspecified\"><span class=\"card-cell-label\">Standard</span>—</td></tr></tbody></table></div><details class=\"note-s\" data-method-contract><summary>Metodparametrar och livscykel</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>Parameter</th><th>Avtal</th></tr></thead><tbody><tr><th data-cell-label=\"Parameter\" scope=\"row\"><span class=\"card-cell-label\">Parameter</span><code>content_type</code></th><td data-cell-label=\"Avtal\"><span class=\"card-cell-label\">Avtal</span>application/json</td></tr><tr><th data-cell-label=\"Parameter\" scope=\"row\"><span class=\"card-cell-label\">Parameter</span><code>required</code></th><td data-cell-label=\"Avtal\"><span class=\"card-cell-label\">Avtal</span>model, input</td></tr><tr><th data-cell-label=\"Parameter\" scope=\"row\"><span class=\"card-cell-label\">Parameter</span><code>optional</code></th><td data-cell-label=\"Avtal\"><span class=\"card-cell-label\">Avtal</span></td></tr><tr><th data-cell-label=\"Parameter\" scope=\"row\"><span class=\"card-cell-label\">Parameter</span><code>material_types</code></th><td data-cell-label=\"Avtal\"><span class=\"card-cell-label\">Avtal</span>text</td></tr><tr><th data-cell-label=\"Parameter\" scope=\"row\"><span class=\"card-cell-label\">Parameter</span><code>conditions</code></th><td data-cell-label=\"Avtal\"><span class=\"card-cell-label\">Avtal</span>Skicka text med den valda modellen; behåll varje returnerad vektor och dess index.</td></tr></tbody></table></div><p>Livscykel: <code>synchronous</code></p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">Priser</h3><div data-native-semantic-method=\"v1\" data-tariff-reference-only><p class=\"note-s\" data-rate-support-note>Tariffuppgifter lägger inte till begäransalternativ. Parametrar som stöds anges för den valda metoden.</p><dl data-price-conditions><dt>Snabbt läge</dt><dd>Ej angivet <span class=\"note-s\">När snabbt läge är valt</span></dd><dt>Flex-läge</dt><dd>Ej angivet <span class=\"note-s\">När läget flex är valt</span></dd><dt>Högsta resonemangsnivå</dt><dd>Ej angivet <span class=\"note-s\">När den högsta resonemangsnivån använder standardjusteringen (default)</span></dd></dl></div><div data-declared-tariff-pricing><h4>Ailoot-priser</h4><h4>Priser efter konfiguration</h4><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Konfiguration</th><th>Prislista</th><th>Avgift</th></tr></thead><tbody><tr><th data-cell-label=\"Konfiguration\" scope=\"row\"><span class=\"card-cell-label\">Konfiguration</span>Grundpriser för token</th><td data-cell-label=\"Prislista\"><span class=\"card-cell-label\">Prislista</span>Grundpris</td><td data-cell-label=\"Avgift\"><span class=\"card-cell-label\">Avgift</span><div><span>Indata · Indatatoken</span> <b>$0.0001</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Utdata · Utdatatoken</span> <b>$0</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Indata · Cacheläsning</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Indata · Skrivning till cache</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Indata · Skrivning till cache, 1 tim</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div></td></tr></tbody></table></div></div><p class=\"note-s\">Ailoot reserverar ett uppskattat belopp före en begäran. Efter resultatet slutregleras avgiften utifrån uppmätt förbrukning. Slutreglering för strömning använder den slutliga förbrukningsposten. <a href=\"/docs/sv/billing/reserve/\">Så fungerar reservation och slutreglering →</a></p></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">Exempelbegäranden</h3><h4>Ailoot Ultra · Inbäddningar</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Kodvarianter\"><button class=\"cg-tab\" id=\"model-code-2788-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2788-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl · spara alla vektorer och förbrukningsdata</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Kopiera kod\"><svg class=\"cp\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><rect x=\"5.25\" y=\"5.25\" width=\"8.5\" height=\"8.5\" rx=\"1.75\"/><path d=\"M10.75 5.25V3.5a1.25 1.25 0 0 0-1.25-1.25H3.5A1.25 1.25 0 0 0 2.25 3.5v6a1.25 1.25 0 0 0 1.25 1.25h1.75\"/></svg><svg class=\"ok\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><path d=\"m3 8.5 3.25 3.25L13 5\"/></svg></button></div></div><div class=\"cg-body\"><div class=\"cg-pane\" id=\"model-code-2788-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-2788-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\ncat &gt; request.json &lt;&lt;&#39;JSON&#39;\n{\n  &quot;model&quot;: &quot;voyage-3.5-lite&quot;,\n  &quot;input&quot;: &quot;The quick brown fox jumps over the lazy dog&quot;\n}\nJSON\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/embeddings \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -H &#39;Content-Type: application/json&#39; \\\n  --data-binary @request.json -D response-headers.txt -o embeddings.json\n# Keep every data item and its index, the full usage object and response headers.\n</code></pre></div></div></div></section><section class=\"card-section\" data-card-section=\"results\"><h3 tabindex=\"-1\">Ta emot och spara resultat</h3></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">Alias</h3><h4>Modellalias</h4><p class=\"note-s\"><span data-model-alias-route=\"Ultra\"><b>Ailoot Ultra</b> <a href=\"#m=voyage-3.5-lite&amp;route=Ultra&amp;caller=voyage-3.5-lite&amp;fmt=embeddings\"><code>voyage-3.5-lite</code></a></span></p><h4>Alias för metodsökvägar</h4><p class=\"note-s\">Använd metodsökvägarna som visas ovan.</p><h4>Relaterade anropar-ID:n</h4><p class=\"note-s\"><a href=\"#m=voyage-3.5-lite&amp;route=Ultra&amp;caller=voyage-3.5-lite&amp;fmt=embeddings\"><code>voyage-3.5-lite</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "voyage-3.5-lite",
        "fmt": "embeddings",
        "http": "POST",
        "path": "/v1/embeddings",
        "request_model_id": "voyage-3.5-lite",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|embeddings|/v1/embeddings|voyage-3.5-lite",
      "ordinal": 0,
      "rawMethod": {
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Save the complete JSON response, every vector with its index, all usage fields and request headers.",
            "lifecycle": {
              "content": [],
              "create": {
                "http": "POST",
                "path": "/v1/embeddings"
              },
              "mode": "synchronous",
              "status": [],
              "unknown": "Behåll det ursprungliga svaret och X-Client-Request-ID för avstämning. Ett tvetydigt svar ger inte tillstånd att skicka samma skapandebegäran igen.",
              "unknown_no_replay": true
            },
            "outputs": {
              "all_results": "Spara hela JSON-svaret, varje vektor med dess index, alla fält med användningsdata och alla headerfält i begäran.",
              "every_actual_output": true,
              "family": "embedding",
              "fields": [
                {
                  "name": "object",
                  "type": "string"
                },
                {
                  "name": "model",
                  "type": "string"
                },
                {
                  "name": "data[].index",
                  "type": "integer"
                },
                {
                  "name": "data[].embedding",
                  "type": "array<number>"
                },
                {
                  "name": "usage",
                  "type": "object"
                },
                {
                  "name": "usage.prompt_tokens",
                  "type": "integer"
                },
                {
                  "name": "usage.total_tokens",
                  "type": "integer"
                }
              ]
            },
            "parameters": [
              {
                "conditions": "Använd den exakta modellväljaren för Ailoot.",
                "default_known": false,
                "enum": [
                  "voyage-3.5-lite"
                ],
                "enum_known": true,
                "maximum_length": null,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "conditions": "En text eller en lista med texter; behåll en vektor för varje returnerad datapost och dess index.",
                "default_known": false,
                "enum_known": false,
                "maximum_length": null,
                "name": "input",
                "oneOf": [
                  {
                    "minLength": 1,
                    "type": "string"
                  },
                  {
                    "items": {
                      "minLength": 1,
                      "type": "string"
                    },
                    "minItems": 1,
                    "type": "array"
                  }
                ],
                "required": true,
                "type": "string or array<string>"
              }
            ],
            "request_schema": {
              "additionalProperties": true,
              "properties": {
                "input": {
                  "oneOf": [
                    {
                      "minLength": 1,
                      "type": "string"
                    },
                    {
                      "items": {
                        "minLength": 1,
                        "type": "string"
                      },
                      "minItems": 1,
                      "type": "array"
                    }
                  ]
                },
                "model": {
                  "enum": [
                    "voyage-3.5-lite"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "model",
                "input"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": false,
              "body": {
                "input": "The quick brown fox jumps over the lazy dog",
                "model": "voyage-3.5-lite"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "conditions": [
              "Skicka text med den valda modellen; behåll varje returnerad vektor och dess index."
            ],
            "content_type": "application/json",
            "material_types": [
              "text"
            ],
            "optional": [],
            "required": [
              "model",
              "input"
            ]
          },
          "lifecycle": {
            "content": [],
            "create": {
              "http": "POST",
              "path": "/v1/embeddings"
            },
            "mode": "synchronous",
            "status": [],
            "unknown": "Keep the original response and X-Client-Request-ID for reconciliation. An ambiguous response is not permission to submit the same creation again.",
            "unknown_no_replay": true
          },
          "method": {
            "http": "POST",
            "path": "/v1/embeddings"
          },
          "output": {
            "all_results": "Save the complete JSON response, every vector with its index, all usage fields and request headers.",
            "every_actual_output": true,
            "family": "embedding",
            "fields": [
              {
                "name": "object",
                "type": "string"
              },
              {
                "name": "model",
                "type": "string"
              },
              {
                "name": "data[].index",
                "type": "integer"
              },
              {
                "name": "data[].embedding",
                "type": "array<number>"
              },
              {
                "name": "usage",
                "type": "object"
              },
              {
                "name": "usage.prompt_tokens",
                "type": "integer"
              },
              {
                "name": "usage.total_tokens",
                "type": "integer"
              }
            ]
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Grundpriser för token",
            "units": [
              {
                "amount": "0.0001000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000001",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\ncat > request.json <<'JSON'\n{\n  \"model\": \"voyage-3.5-lite\",\n  \"input\": \"The quick brown fox jumps over the lazy dog\"\n}\nJSON\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/embeddings \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o embeddings.json\n# Keep every data item and its index, the full usage object and response headers.\n",
            "label": "curl · save all vectors and usage",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "embeddings",
        "http": "POST",
        "in": 0.1,
        "input": [
          "text"
        ],
        "label": "Inbäddningar",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "out": 0,
        "output": [
          "embedding"
        ],
        "path": "/v1/embeddings",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "token",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": "0.0001000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000001",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          }
        ],
        "request_model_id": "voyage-3.5-lite",
        "route_label": "Ultra",
        "status_reads": [],
        "tiers": [],
        "units": [
          {
            "amount": "0.0001000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.0000001",
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": "0",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0",
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          }
        ]
      }
    }
  ],
  "model_id": "voyage-3.5-lite",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "e7a7077377c300759991bb602ba78c64113538c17e879a0fa6334dfb63ae03cc",
    "input_html_sha256": "080127caa1aeab9aad66eeef142baa693fa73465f27d5baa6a5749a9cb96b25c",
    "private_audit_sha256": "6a44fe508c28723f1126290faaa566beaaa37e3f0960b4287a458d1ceb101903",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/sv/voyage-3-5-lite/",
    "description": "Voyage 3.5 Lite skapar textinbäddningar för semantisk sökning med fokus på latens och effektiv informationshämtning. Ett kontextfönster på 32 000 token, fyra vektorstorlekar och kvantiserade utdata stöder sökning i kunskapsbaser, dokumentmatchning och RAG.",
    "locale": "sv",
    "md_url": "https://ailoot.ai/models/sv/voyage-3-5-lite/index.md",
    "title": "Voyage AI: Voyage 3.5 Lite — Ailoot",
    "url": "https://ailoot.ai/models/sv/voyage-3-5-lite/"
  },
  "rawModel": {
    "about": "Voyage 3.5 Lite omvandlar text till inbäddningar för semantisk informationssökning. Voyage AI beskriver denna version som optimerad för latens och kostnad, vilket gör den till en kandidat för söktjänster som ofta bäddar in inkommande frågor eller underhåller stora samlingar sökbara avsnitt. Utdata är en numerisk representation av den inmatade texten, som en sökapplikation jämför med vektorer lagrade för källmaterialet.\n\nBörja med en samling vars indelning motsvarar användarens uppgift. I ett hjälpcenter kan ett avsnitt förklara en procedur och dess förutsättningar. I ett diskussionsarkiv bör tillräckligt mycket av svarskedjan bevaras för att det ska framgå vad svaret gäller. Ett resultat bör leda till ett läsbart underlag, så lagra originaltexten, en stabil källänk och dokumentets metadata tillsammans med varje inbäddning.\n\nFormulera testfrågorna som användarna skulle ställa dem. ”Var ändrar jag adressen på en faktura?” är en mer användbar sökkontroll än en kopia av den relevanta artikelrubriken. Ta med korta frågor, omformuleringar, fackförkortningar och fall som nämner flera begrepp. Granska de returnerade avsnitten och avgör om en missad träff beror på saknat källinnehåll, olämpliga avsnittsgränser eller ett val i sökningen.\n\nTillverkaren dokumenterar ett kontextfönster på 32 000 token. Det medger omfattande textindata, medan avsnittslängden fortfarande är ett designval för sökupplevelsen. Håll ett koncentrerat svar samman med nödvändiga villkor och undvik att skilja en definition från termen den förklarar. Extrahera läsbar text från källan och ta bort navigering som upprepas på varje sida när den skymmer den information användaren söker.\n\nVoyage 3.5 Lite stöder 2 048, 1 024, 512 och 256 dimensioner. Flyttalsrepresentationer, åttabitars heltal och binära representationer ger ytterligare val för vektorindexet. Testa en mindre eller kvantiserad representation mot samma frågor och textsamling som används för referensen med full precision. Spara vald modell, dimension och datatyp med indexet så att frågevektorerna använder motsvarande inställningar.\n\nI tillverkarens sökarbetsflöde anges indexerade avsnitt som document och inkommande sökningar som query. Bevara kopplingen mellan varje returnerad vektor och dess inmatade text när flera avsnitt behandlas tillsammans. En lyckad inbäddningsoperation levererar vektorer; applikationen måste fortfarande lagra dem i rätt poster och visa källutdraget när användaren öppnar ett resultat.\n\nAnvänd denna version för en sökbar supportsamling, ett verktyg för dokumentsökning eller en assistents informationshämtningssteg. För flerspråkigt material bör de språkkombinationer som finns i den egna samlingen utvärderas, i stället för att förlita sig på ett enda engelskt test. Håll behörigheter och språkmetadata tillgängliga för applikationen så att en relevant träff kan filtreras och visas i rätt sammanhang.\n\nNär samlingen växer bör vektorerna för ändrade avsnitt uppdateras tillsammans med källornas versioner. Behåll en uppsättning verkliga frågor med enkla träffar, svåra omformuleringar och liknande dokument med olika svar. Mät sökkvaliteten och beteendet i hela sökflödet under den förväntade belastningen. Tillverkarens positionering av Lite hjälper till att välja en kandidat; den slutliga dimensionen, avsnittsstrategin och indexinställningarna bestäms utifrån resultaten på det egna materialet.",
    "about_sha256": "6da9d6fd6cfde8d6f5bf8b7aa370b1ddd356c1c7303a01cbc8c52ded9e166385",
    "alias_of": null,
    "aliases": [],
    "author": "Voyage AI",
    "capabilities": {
      "context_length": 32000,
      "manufacturer_input": [
        "text"
      ],
      "manufacturer_output": [
        "embeddings"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.0001000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.0000001",
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": "0",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0",
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          }
        ],
        "summary": "Fullständig prissättning för konfigurationen finns i detaljerna."
      }
    ],
    "ctx": null,
    "display_name": "Voyage AI: Voyage 3.5 Lite",
    "formats": [
      "embeddings"
    ],
    "id": "voyage-3.5-lite",
    "input": [
      "text"
    ],
    "kind": "embedding",
    "locale": "en",
    "max_out": null,
    "methods": [
      {
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Save the complete JSON response, every vector with its index, all usage fields and request headers.",
            "lifecycle": {
              "content": [],
              "create": {
                "http": "POST",
                "path": "/v1/embeddings"
              },
              "mode": "synchronous",
              "status": [],
              "unknown": "Behåll det ursprungliga svaret och X-Client-Request-ID för avstämning. Ett tvetydigt svar ger inte tillstånd att skicka samma skapandebegäran igen.",
              "unknown_no_replay": true
            },
            "outputs": {
              "all_results": "Spara hela JSON-svaret, varje vektor med dess index, alla fält med användningsdata och alla headerfält i begäran.",
              "every_actual_output": true,
              "family": "embedding",
              "fields": [
                {
                  "name": "object",
                  "type": "string"
                },
                {
                  "name": "model",
                  "type": "string"
                },
                {
                  "name": "data[].index",
                  "type": "integer"
                },
                {
                  "name": "data[].embedding",
                  "type": "array<number>"
                },
                {
                  "name": "usage",
                  "type": "object"
                },
                {
                  "name": "usage.prompt_tokens",
                  "type": "integer"
                },
                {
                  "name": "usage.total_tokens",
                  "type": "integer"
                }
              ]
            },
            "parameters": [
              {
                "conditions": "Använd den exakta modellväljaren för Ailoot.",
                "default_known": false,
                "enum": [
                  "voyage-3.5-lite"
                ],
                "enum_known": true,
                "maximum_length": null,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "conditions": "En text eller en lista med texter; behåll en vektor för varje returnerad datapost och dess index.",
                "default_known": false,
                "enum_known": false,
                "maximum_length": null,
                "name": "input",
                "oneOf": [
                  {
                    "minLength": 1,
                    "type": "string"
                  },
                  {
                    "items": {
                      "minLength": 1,
                      "type": "string"
                    },
                    "minItems": 1,
                    "type": "array"
                  }
                ],
                "required": true,
                "type": "string or array<string>"
              }
            ],
            "request_schema": {
              "additionalProperties": true,
              "properties": {
                "input": {
                  "oneOf": [
                    {
                      "minLength": 1,
                      "type": "string"
                    },
                    {
                      "items": {
                        "minLength": 1,
                        "type": "string"
                      },
                      "minItems": 1,
                      "type": "array"
                    }
                  ]
                },
                "model": {
                  "enum": [
                    "voyage-3.5-lite"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "model",
                "input"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": false,
              "body": {
                "input": "The quick brown fox jumps over the lazy dog",
                "model": "voyage-3.5-lite"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "conditions": [
              "Skicka text med den valda modellen; behåll varje returnerad vektor och dess index."
            ],
            "content_type": "application/json",
            "material_types": [
              "text"
            ],
            "optional": [],
            "required": [
              "model",
              "input"
            ]
          },
          "lifecycle": {
            "content": [],
            "create": {
              "http": "POST",
              "path": "/v1/embeddings"
            },
            "mode": "synchronous",
            "status": [],
            "unknown": "Keep the original response and X-Client-Request-ID for reconciliation. An ambiguous response is not permission to submit the same creation again.",
            "unknown_no_replay": true
          },
          "method": {
            "http": "POST",
            "path": "/v1/embeddings"
          },
          "output": {
            "all_results": "Save the complete JSON response, every vector with its index, all usage fields and request headers.",
            "every_actual_output": true,
            "family": "embedding",
            "fields": [
              {
                "name": "object",
                "type": "string"
              },
              {
                "name": "model",
                "type": "string"
              },
              {
                "name": "data[].index",
                "type": "integer"
              },
              {
                "name": "data[].embedding",
                "type": "array<number>"
              },
              {
                "name": "usage",
                "type": "object"
              },
              {
                "name": "usage.prompt_tokens",
                "type": "integer"
              },
              {
                "name": "usage.total_tokens",
                "type": "integer"
              }
            ]
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Grundpriser för token",
            "units": [
              {
                "amount": "0.0001000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000001",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\ncat > request.json <<'JSON'\n{\n  \"model\": \"voyage-3.5-lite\",\n  \"input\": \"The quick brown fox jumps over the lazy dog\"\n}\nJSON\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/embeddings \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o embeddings.json\n# Keep every data item and its index, the full usage object and response headers.\n",
            "label": "curl · save all vectors and usage",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "embeddings",
        "http": "POST",
        "in": 0.1,
        "input": [
          "text"
        ],
        "label": "Inbäddningar",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "out": 0,
        "output": [
          "embedding"
        ],
        "path": "/v1/embeddings",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "token",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": "0.0001000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000001",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          }
        ],
        "request_model_id": "voyage-3.5-lite",
        "route_label": "Ultra",
        "status_reads": [],
        "tiers": [],
        "units": [
          {
            "amount": "0.0001000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.0000001",
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": "0",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0",
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "voyage-3.5-lite",
        "request_model_id": "voyage-3.5-lite",
        "route_label": "Ultra"
      }
    ],
    "name": "Voyage AI: Voyage 3.5 Lite",
    "price": {
      "in": 0.1,
      "in_label": null,
      "out": 0,
      "out_label": null,
      "scope_label": "Token rates",
      "sort_in": 0.1,
      "sort_out": 0,
      "varies": false
    },
    "short": "Voyage 3.5 Lite skapar textinbäddningar för semantisk sökning med fokus på latens och effektiv informationshämtning. Ett kontextfönster på 32 000 token, fyra vektorstorlekar och kvantiserade utdata stöder sökning i kunskapsbaser, dokumentmatchning och RAG.",
    "short_sha256": "61db24acd587cfab4f14b7f3c526314d69996c4d48e50298883531c74deb64a7"
  },
  "renderer_schema": {
    "method_order": "Original DTO methods order; every exact route/format/path/caller survives.",
    "prices": "Original public DTO fields and original native display HTML; no flattened or normalized offers."
  },
  "representation": "exact-public-dto-and-native-renderer-html",
  "representationNotes": {
    "current_reference": {
      "about_json_pointer": "/aboutHtml",
      "methods": [
        {
          "contract_json_pointer": "/methods/0/rawMethod/contract",
          "html_json_pointer": "/methods/0/html",
          "method_ordinal": 0
        }
      ],
      "role": "current-semantic-reference"
    },
    "raw_input": {
      "examples_role": "historical-input-not-current-ready-examples",
      "json_pointers": [
        "/rawModel",
        "/methods/0/rawMethod"
      ],
      "role": "historical-owner-input"
    },
    "schema": "ailoot-native-model-representations-v1"
  },
  "schema": "ailoot-static-model-facts-v1",
  "schema_version": 1,
  "shortText": "Voyage 3.5 Lite skapar textinbäddningar för semantisk sökning med fokus på latens och effektiv informationshämtning. Ett kontextfönster på 32 000 token, fyra vektorstorlekar och kvantiserade utdata stöder sökning i kunskapsbaser, dokumentmatchning och RAG.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "76d846a11438fc368134060a5a84ad119e13a3eaa3487bce35654121d0c056f4",
    "renderer_sha256": "8a45bb31b83d2551e6d975cf4683518c7cb445a54b9394a01947f4dd103f1051"
  },
  "sourceRevision": "9809e69eabcd94673d0f113e800999694d089d4e3cfe20005a0ed7e1a96175e1"
}
