{
  "aboutHtml": "<p>Voyage Finance 2 är en textinbäddningsmodell specialiserad på sökning i finansiellt material. Den omvandlar inmatade avsnitt och sökfrågor till vektorer som hjälper en applikation att hitta relevant källtext. Tillverkarens finansutvärdering omfattar offentligt tillgängliga, officiellt inlämnade handlingar, finansiella rapporter, företagsnyheter och material med ekonomiska frågor och svar, vilket speglar versionens inriktning på att hitta relevant underlag inom området.</p><p>Förbered textsamlingen så att den finansiella betydelsen bevaras vid extraktionen. Håll en siffra tillsammans med dess beteckning, period, enhet och omgivande förklaring. En intäktssiffra utan företagsnamn eller rapporteringsperiod är svår att tolka korrekt i ett sökresultat. När en tabell omvandlas till text bör rad- och kolumnrubriker bevaras och det framgå vilka värden som hör ihop. Behåll originaldokumentet och positionen på sidan eller i avsnittet för granskning.</p><p>Modellen stöder ett kontextfönster på 32 000 token och returnerar inbäddningar med 1 024 dimensioner. Använd det tillgängliga indatautrymmet för kompletta, begripliga avsnitt, samtidigt som gränserna väljs för det avsedda resultatet. En bred sektion kan hjälpa till att hitta en rapport; ett fokuserat avsnitt kan visa det specifika påstående som besvarar frågan. Behåll både dokumentrelationen och avsnittets position i indexets metadata.</p><p>Formulera sökfrågorna med de skillnader som är viktiga för uppgiften. ”Vad förklarar förändringen i rörelsemarginal under det senast rapporterade kvartalet?” kräver ett annat avsnitt än en fråga som bara efterfrågar marginalvärdet. Ange företaget, rapporteringsperioden eller affärssegmentet när det är känt. Testa liknande frågor mot dokument med närliggande datum och jämförbar terminologi för att se om rätt underlag returneras.</p><p>Använd samma modell för att bädda in textsamlingen och sökfrågorna. Behåll kopplingen mellan varje utdatavektor och dess inmatade avsnitt och låt sökresultatet visa originaltexten och källreferensen. En finansassistent kan skicka utvalt underlag vidare till ett svarsgenereringssteg och samtidigt behålla de källhänvisningar som behövs för att kontrollera ett angivet belopp eller en förklaring.</p><p>Håll rapporter, nyheter och förklarande material åtskilda med metadata när applikationen behöver dessa skillnader. Lagra publiceringsdatum och rapporteringsperiod separat; de beskriver olika aspekter av en finansiell uppgift. När ett dokument revideras bör versionsrelationen bevaras och de berörda avsnitten uppdateras så att sökresultatet leder till den avsedda källan.</p><p>Utvärdera systemet med frågor vars svar beror på finansiell terminologi och dokumentkontext. Användbara fall är ett avsnitt som förklarar en förändring, en tabell med det efterfrågade värdet och flera rapporter som använder samma mått för olika perioder. Granska om den returnerade texten innehåller tillräckligt med information för att identifiera rätt entitet och period utan att gissa utifrån frågan.</p><p>Modellen levererar sökvektorer för en finansiell kunskapsbas, ett forskningsarkiv eller ett arbetsflöde för urval av underlag. Behåll numerisk verifiering och läsning av originaldokumentet i applikationens granskningsprocess. Ett relevant avsnitt är en utgångspunkt för att kontrollera ett värde, ett samband eller ett påstående; dess källinnehåll förblir grunden för den slutliga förklaringen. Behåll en uppsättning verkliga frågor med förväntade avsnitt så att förbättringar av extraktion och indexering kan bedömas mot samma finansiella uppgifter.</p>",
  "aboutText": "Voyage Finance 2 är en textinbäddningsmodell specialiserad på sökning i finansiellt material. Den omvandlar inmatade avsnitt och sökfrågor till vektorer som hjälper en applikation att hitta relevant källtext. Tillverkarens finansutvärdering omfattar offentligt tillgängliga, officiellt inlämnade handlingar, finansiella rapporter, företagsnyheter och material med ekonomiska frågor och svar, vilket speglar versionens inriktning på att hitta relevant underlag inom området.\n\nFörbered textsamlingen så att den finansiella betydelsen bevaras vid extraktionen. Håll en siffra tillsammans med dess beteckning, period, enhet och omgivande förklaring. En intäktssiffra utan företagsnamn eller rapporteringsperiod är svår att tolka korrekt i ett sökresultat. När en tabell omvandlas till text bör rad- och kolumnrubriker bevaras och det framgå vilka värden som hör ihop. Behåll originaldokumentet och positionen på sidan eller i avsnittet för granskning.\n\nModellen stöder ett kontextfönster på 32 000 token och returnerar inbäddningar med 1 024 dimensioner. Använd det tillgängliga indatautrymmet för kompletta, begripliga avsnitt, samtidigt som gränserna väljs för det avsedda resultatet. En bred sektion kan hjälpa till att hitta en rapport; ett fokuserat avsnitt kan visa det specifika påstående som besvarar frågan. Behåll både dokumentrelationen och avsnittets position i indexets metadata.\n\nFormulera sökfrågorna med de skillnader som är viktiga för uppgiften. ”Vad förklarar förändringen i rörelsemarginal under det senast rapporterade kvartalet?” kräver ett annat avsnitt än en fråga som bara efterfrågar marginalvärdet. Ange företaget, rapporteringsperioden eller affärssegmentet när det är känt. Testa liknande frågor mot dokument med närliggande datum och jämförbar terminologi för att se om rätt underlag returneras.\n\nAnvänd samma modell för att bädda in textsamlingen och sökfrågorna. Behåll kopplingen mellan varje utdatavektor och dess inmatade avsnitt och låt sökresultatet visa originaltexten och källreferensen. En finansassistent kan skicka utvalt underlag vidare till ett svarsgenereringssteg och samtidigt behålla de källhänvisningar som behövs för att kontrollera ett angivet belopp eller en förklaring.\n\nHåll rapporter, nyheter och förklarande material åtskilda med metadata när applikationen behöver dessa skillnader. Lagra publiceringsdatum och rapporteringsperiod separat; de beskriver olika aspekter av en finansiell uppgift. När ett dokument revideras bör versionsrelationen bevaras och de berörda avsnitten uppdateras så att sökresultatet leder till den avsedda källan.\n\nUtvärdera systemet med frågor vars svar beror på finansiell terminologi och dokumentkontext. Användbara fall är ett avsnitt som förklarar en förändring, en tabell med det efterfrågade värdet och flera rapporter som använder samma mått för olika perioder. Granska om den returnerade texten innehåller tillräckligt med information för att identifiera rätt entitet och period utan att gissa utifrån frågan.\n\nModellen levererar sökvektorer för en finansiell kunskapsbas, ett forskningsarkiv eller ett arbetsflöde för urval av underlag. Behåll numerisk verifiering och läsning av originaldokumentet i applikationens granskningsprocess. Ett relevant avsnitt är en utgångspunkt för att kontrollera ett värde, ett samband eller ett påstående; dess källinnehåll förblir grunden för den slutliga förklaringen. Behåll en uppsättning verkliga frågor med förväntade avsnitt så att förbättringar av extraktion och indexering kan bedömas mot samma finansiella uppgifter.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "aa068358d0ce9f3593dcc68c122dc29620bcca6df4c44103aae77f2154bafc09",
    "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 Finance 2</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-finance-2</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-finance-2\">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 Finance 2 skapar inbäddningar av finansiell text för dokumentsökning och RAG. Ett fönster på 32 000 token och vektorer med 1 024 dimensioner stöder sökning i officiellt inlämnade handlingar, finansiella rapporter och ekonominyheter, med resultaten kopplade till det ursprungliga underlaget.</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 Finance 2 är en textinbäddningsmodell specialiserad på sökning i finansiellt material. Den omvandlar inmatade avsnitt och sökfrågor till vektorer som hjälper en applikation att hitta relevant källtext. Tillverkarens finansutvärdering omfattar offentligt tillgängliga, officiellt inlämnade handlingar, finansiella rapporter, företagsnyheter och material med ekonomiska frågor och svar, vilket speglar versionens inriktning på att hitta relevant underlag inom området.</p><p>Förbered textsamlingen så att den finansiella betydelsen bevaras vid extraktionen. Håll en siffra tillsammans med dess beteckning, period, enhet och omgivande förklaring. En intäktssiffra utan företagsnamn eller rapporteringsperiod är svår att tolka korrekt i ett sökresultat. När en tabell omvandlas till text bör rad- och kolumnrubriker bevaras och det framgå vilka värden som hör ihop. Behåll originaldokumentet och positionen på sidan eller i avsnittet för granskning.</p><p>Modellen stöder ett kontextfönster på 32 000 token och returnerar inbäddningar med 1 024 dimensioner. Använd det tillgängliga indatautrymmet för kompletta, begripliga avsnitt, samtidigt som gränserna väljs för det avsedda resultatet. En bred sektion kan hjälpa till att hitta en rapport; ett fokuserat avsnitt kan visa det specifika påstående som besvarar frågan. Behåll både dokumentrelationen och avsnittets position i indexets metadata.</p><p>Formulera sökfrågorna med de skillnader som är viktiga för uppgiften. ”Vad förklarar förändringen i rörelsemarginal under det senast rapporterade kvartalet?” kräver ett annat avsnitt än en fråga som bara efterfrågar marginalvärdet. Ange företaget, rapporteringsperioden eller affärssegmentet när det är känt. Testa liknande frågor mot dokument med närliggande datum och jämförbar terminologi för att se om rätt underlag returneras.</p><p>Använd samma modell för att bädda in textsamlingen och sökfrågorna. Behåll kopplingen mellan varje utdatavektor och dess inmatade avsnitt och låt sökresultatet visa originaltexten och källreferensen. En finansassistent kan skicka utvalt underlag vidare till ett svarsgenereringssteg och samtidigt behålla de källhänvisningar som behövs för att kontrollera ett angivet belopp eller en förklaring.</p><p>Håll rapporter, nyheter och förklarande material åtskilda med metadata när applikationen behöver dessa skillnader. Lagra publiceringsdatum och rapporteringsperiod separat; de beskriver olika aspekter av en finansiell uppgift. När ett dokument revideras bör versionsrelationen bevaras och de berörda avsnitten uppdateras så att sökresultatet leder till den avsedda källan.</p><p>Utvärdera systemet med frågor vars svar beror på finansiell terminologi och dokumentkontext. Användbara fall är ett avsnitt som förklarar en förändring, en tabell med det efterfrågade värdet och flera rapporter som använder samma mått för olika perioder. Granska om den returnerade texten innehåller tillräckligt med information för att identifiera rätt entitet och period utan att gissa utifrån frågan.</p><p>Modellen levererar sökvektorer för en finansiell kunskapsbas, ett forskningsarkiv eller ett arbetsflöde för urval av underlag. Behåll numerisk verifiering och läsning av originaldokumentet i applikationens granskningsprocess. Ett relevant avsnitt är en utgångspunkt för att kontrollera ett värde, ett samband eller ett påstående; dess källinnehåll förblir grunden för den slutliga förklaringen. Behåll en uppsättning verkliga frågor med förväntade avsnitt så att förbättringar av extraktion och indexering kan bedömas mot samma finansiella uppgifter.</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-finance-2</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.0004</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-2792-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2792-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-2792-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-2792-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-finance-2&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-finance-2&amp;route=Ultra&amp;caller=voyage-finance-2&amp;fmt=embeddings\"><code>voyage-finance-2</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-finance-2&amp;route=Ultra&amp;caller=voyage-finance-2&amp;fmt=embeddings\"><code>voyage-finance-2</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "voyage-finance-2",
        "fmt": "embeddings",
        "http": "POST",
        "path": "/v1/embeddings",
        "request_model_id": "voyage-finance-2",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|embeddings|/v1/embeddings|voyage-finance-2",
      "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-finance-2"
                ],
                "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-finance-2"
                  ],
                  "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-finance-2"
              },
              "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.0004000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000004",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\ncat > request.json <<'JSON'\n{\n  \"model\": \"voyage-finance-2\",\n  \"input\": \"The quick brown fox jumps over the lazy dog\"\n}\nJSON\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/embeddings \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o embeddings.json\n# Keep every data item and its index, the full usage object and response headers.\n",
            "label": "curl · save all vectors and usage",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "embeddings",
        "http": "POST",
        "in": 0.4,
        "input": [
          "text"
        ],
        "label": "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.0004000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000004",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          }
        ],
        "request_model_id": "voyage-finance-2",
        "route_label": "Ultra",
        "status_reads": [],
        "tiers": [],
        "units": [
          {
            "amount": "0.0004000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.0000004",
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": "0",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0",
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          }
        ]
      }
    }
  ],
  "model_id": "voyage-finance-2",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "1743501701de30554e90cb00a7946402a5f94f8c03de36aa9144eb2db07980ae",
    "input_html_sha256": "42e3441e1b6f56c91fb3e70d78879285344c1a221842e01b2ca2cedb3994bbf1",
    "private_audit_sha256": "ffdea14d2ecb056798263a39b5ed9769daf0873317291895cc90f602498e09c8",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/sv/voyage-finance-2/",
    "description": "Voyage Finance 2 skapar inbäddningar av finansiell text för dokumentsökning och RAG. Ett fönster på 32 000 token och vektorer med 1 024 dimensioner stöder sökning i officiellt inlämnade handlingar, finansiella rapporter och ekonominyheter, med resultaten kopplade till det ursprungliga underlaget.",
    "locale": "sv",
    "md_url": "https://ailoot.ai/models/sv/voyage-finance-2/index.md",
    "title": "Voyage AI: Voyage Finance 2 — Ailoot",
    "url": "https://ailoot.ai/models/sv/voyage-finance-2/"
  },
  "rawModel": {
    "about": "Voyage Finance 2 är en textinbäddningsmodell specialiserad på sökning i finansiellt material. Den omvandlar inmatade avsnitt och sökfrågor till vektorer som hjälper en applikation att hitta relevant källtext. Tillverkarens finansutvärdering omfattar offentligt tillgängliga, officiellt inlämnade handlingar, finansiella rapporter, företagsnyheter och material med ekonomiska frågor och svar, vilket speglar versionens inriktning på att hitta relevant underlag inom området.\n\nFörbered textsamlingen så att den finansiella betydelsen bevaras vid extraktionen. Håll en siffra tillsammans med dess beteckning, period, enhet och omgivande förklaring. En intäktssiffra utan företagsnamn eller rapporteringsperiod är svår att tolka korrekt i ett sökresultat. När en tabell omvandlas till text bör rad- och kolumnrubriker bevaras och det framgå vilka värden som hör ihop. Behåll originaldokumentet och positionen på sidan eller i avsnittet för granskning.\n\nModellen stöder ett kontextfönster på 32 000 token och returnerar inbäddningar med 1 024 dimensioner. Använd det tillgängliga indatautrymmet för kompletta, begripliga avsnitt, samtidigt som gränserna väljs för det avsedda resultatet. En bred sektion kan hjälpa till att hitta en rapport; ett fokuserat avsnitt kan visa det specifika påstående som besvarar frågan. Behåll både dokumentrelationen och avsnittets position i indexets metadata.\n\nFormulera sökfrågorna med de skillnader som är viktiga för uppgiften. ”Vad förklarar förändringen i rörelsemarginal under det senast rapporterade kvartalet?” kräver ett annat avsnitt än en fråga som bara efterfrågar marginalvärdet. Ange företaget, rapporteringsperioden eller affärssegmentet när det är känt. Testa liknande frågor mot dokument med närliggande datum och jämförbar terminologi för att se om rätt underlag returneras.\n\nAnvänd samma modell för att bädda in textsamlingen och sökfrågorna. Behåll kopplingen mellan varje utdatavektor och dess inmatade avsnitt och låt sökresultatet visa originaltexten och källreferensen. En finansassistent kan skicka utvalt underlag vidare till ett svarsgenereringssteg och samtidigt behålla de källhänvisningar som behövs för att kontrollera ett angivet belopp eller en förklaring.\n\nHåll rapporter, nyheter och förklarande material åtskilda med metadata när applikationen behöver dessa skillnader. Lagra publiceringsdatum och rapporteringsperiod separat; de beskriver olika aspekter av en finansiell uppgift. När ett dokument revideras bör versionsrelationen bevaras och de berörda avsnitten uppdateras så att sökresultatet leder till den avsedda källan.\n\nUtvärdera systemet med frågor vars svar beror på finansiell terminologi och dokumentkontext. Användbara fall är ett avsnitt som förklarar en förändring, en tabell med det efterfrågade värdet och flera rapporter som använder samma mått för olika perioder. Granska om den returnerade texten innehåller tillräckligt med information för att identifiera rätt entitet och period utan att gissa utifrån frågan.\n\nModellen levererar sökvektorer för en finansiell kunskapsbas, ett forskningsarkiv eller ett arbetsflöde för urval av underlag. Behåll numerisk verifiering och läsning av originaldokumentet i applikationens granskningsprocess. Ett relevant avsnitt är en utgångspunkt för att kontrollera ett värde, ett samband eller ett påstående; dess källinnehåll förblir grunden för den slutliga förklaringen. Behåll en uppsättning verkliga frågor med förväntade avsnitt så att förbättringar av extraktion och indexering kan bedömas mot samma finansiella uppgifter.",
    "about_sha256": "db4a1cc717225917205707160c888d82c14d3b79b36609ce5c035f373f993fbd",
    "alias_of": null,
    "aliases": [],
    "author": "Voyage AI",
    "capabilities": {
      "context_length": 32000,
      "manufacturer_input": [
        "text"
      ],
      "manufacturer_output": [
        "embeddings"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.0004000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.0000004",
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": "0",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0",
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          }
        ],
        "summary": "Fullständig prissättning för konfigurationen finns i detaljerna."
      }
    ],
    "ctx": null,
    "display_name": "Voyage AI: Voyage Finance 2",
    "formats": [
      "embeddings"
    ],
    "id": "voyage-finance-2",
    "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-finance-2"
                ],
                "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-finance-2"
                  ],
                  "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-finance-2"
              },
              "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.0004000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000004",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\ncat > request.json <<'JSON'\n{\n  \"model\": \"voyage-finance-2\",\n  \"input\": \"The quick brown fox jumps over the lazy dog\"\n}\nJSON\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/embeddings \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o embeddings.json\n# Keep every data item and its index, the full usage object and response headers.\n",
            "label": "curl · save all vectors and usage",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "embeddings",
        "http": "POST",
        "in": 0.4,
        "input": [
          "text"
        ],
        "label": "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.0004000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000004",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          }
        ],
        "request_model_id": "voyage-finance-2",
        "route_label": "Ultra",
        "status_reads": [],
        "tiers": [],
        "units": [
          {
            "amount": "0.0004000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.0000004",
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": "0",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0",
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "voyage-finance-2",
        "request_model_id": "voyage-finance-2",
        "route_label": "Ultra"
      }
    ],
    "name": "Voyage AI: Voyage Finance 2",
    "price": {
      "in": 0.4,
      "in_label": null,
      "out": 0,
      "out_label": null,
      "scope_label": "Token rates",
      "sort_in": 0.4,
      "sort_out": 0,
      "varies": false
    },
    "short": "Voyage Finance 2 skapar inbäddningar av finansiell text för dokumentsökning och RAG. Ett fönster på 32 000 token och vektorer med 1 024 dimensioner stöder sökning i officiellt inlämnade handlingar, finansiella rapporter och ekonominyheter, med resultaten kopplade till det ursprungliga underlaget.",
    "short_sha256": "3c81b808a4fda5f645a3be957e4fb11c82e590d12b842053bed5d8051f98ec8a"
  },
  "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 Finance 2 skapar inbäddningar av finansiell text för dokumentsökning och RAG. Ett fönster på 32 000 token och vektorer med 1 024 dimensioner stöder sökning i officiellt inlämnade handlingar, finansiella rapporter och ekonominyheter, med resultaten kopplade till det ursprungliga underlaget.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "0fc75ede6226846ff3798fa4f0de06d8ce8b0d26843114bd0fff825e5f3bc7b0",
    "renderer_sha256": "8a45bb31b83d2551e6d975cf4683518c7cb445a54b9394a01947f4dd103f1051"
  },
  "sourceRevision": "ee3bbb6b6b395cdd1f47d446662978648846db7e84f2e43fe5187cc66b7424e5"
}
