{
  "aboutHtml": "<p>Voyage 3 Large is een tekstembeddingmodel om relevante informatie in een verzameling documenten te vinden. Het vertegenwoordigt elke aangeleverde tekst als een numerieke vector, zodat een toepassing een zoekvraag kan vergelijken met passages waarvan de formulering kan verschillen, maar de betekenis verwant is. Voyage AI positioneert deze editie voor algemene en meertalige informatieophaling, met materiaal zoals technische documentatie, gesprekken en lange documenten.</p><p>Bouw de doorzoekbare verzameling op uit de informatie die mensen werkelijk moeten kunnen terugvinden. Houd voor een productkennisbank de uitleg van een functie bij de voorwaarden en relevante uitzonderingen. Behoud voor vergaderverslagen sprekerlabels en voldoende omringende discussie om het onderwerp begrijpelijk te maken. Verdeel een grote bron op bruikbare grenzen en bewaar de brontitel, documentidentificatie en passagepositie bij elke vector.</p><p>Bereid een zoekvraag voor als query en geïndexeerd materiaal als documenten. In de tekstembeddingwerkstroom van de maker geeft het invoertype het model de ophaalrol van de tekst. Een vraag zoals “Hoe kan een lid weer toegang krijgen nadat een beveiligingssleutel verloren is gegaan?” kan dan worden vergeleken met supportpassages die de herstelprocedure beschrijven, ook als die passages anders zijn geformuleerd. Houd de oorspronkelijke passage beschikbaar zodat het zoekresultaat het bewijs achter de overeenkomst kan tonen.</p><p>Het model heeft een contextvenster van 32.000 tokens. Een lange invoer kan een volledig onderdeel behouden, maar een heel document is niet altijd de nuttigste zoekeenheid. Een brede vector kan naar het juiste bestand wijzen terwijl de lezer nog het precieze antwoord moet vinden. Kies passagegrenzen rond het resultaat dat u wilt weergeven en houd koppen, voorbehouden en definities bij de inhoud die ze toelichten.</p><p>Voyage 3 Large ondersteunt vectoren met 2.048, 1.024, 512 of 256 dimensies. De maker documenteert ook floatingpointrepresentaties, achtbitsrepresentaties met of zonder teken en binaire representaties. Deze keuzes laten een ophaalsysteem vectordetail vergelijken met indexgrootte en zoekgedrag. Kies het formaat dat de beoogde vectoropslag ondersteunt en beoordeel het vervolgens op het werkelijke corpus en representatieve vragen voordat u de productie-instellingen voor de index kiest.</p><p>Neem voor meertalig zoeken testvragen op in de talen die uw gebruikers gebruiken en beoordeel de opgehaalde bronpassages in hun oorspronkelijke taal. Een gedeelde zoekinterface kan meerdere taalverzamelingen bedienen, terwijl documentmetadata de brontaalvariant en versie blijven aangeven. Behoud betekenisvolle namen, afkortingen en domeintermen tijdens extractie in plaats van ze vóór het maken van embeddings door een algemene samenvatting te vervangen.</p><p>Gebruik de vectoren om kandidaatpassages op te halen voor een zoekpagina, kennisassistent of documentselectiestap. Houd hetzelfde model en dezelfde vectorinstellingen aan voor de geïndexeerde verzameling en de bijbehorende zoekvragen. Bouw bij het vervangen van een embeddingmodel of het wijzigen van vectordimensies de betrokken index bewust opnieuw op en vergelijk die; de lengte van een vector alleen identificeert niet hoe die is geproduceerd.</p><p>Beoordeel het resultaat op bruikbare informatieophaling: verschijnt de juiste passage, staan nabije maar misleidende passages erboven en bevat het weergegeven fragment het antwoord? Bewaar een kleine verzameling echte vragen met verwachte bronnen, inclusief dubbelzinnige formuleringen en bijna identieke documenten. De embedding biedt een doorzoekbare representatie; de toepassing behoudt de brontekst, toegangsrechten en links die nodig zijn om een overeenkomst in een bruikbaar resultaat om te zetten.</p>",
  "aboutText": "Voyage 3 Large is een tekstembeddingmodel om relevante informatie in een verzameling documenten te vinden. Het vertegenwoordigt elke aangeleverde tekst als een numerieke vector, zodat een toepassing een zoekvraag kan vergelijken met passages waarvan de formulering kan verschillen, maar de betekenis verwant is. Voyage AI positioneert deze editie voor algemene en meertalige informatieophaling, met materiaal zoals technische documentatie, gesprekken en lange documenten.\n\nBouw de doorzoekbare verzameling op uit de informatie die mensen werkelijk moeten kunnen terugvinden. Houd voor een productkennisbank de uitleg van een functie bij de voorwaarden en relevante uitzonderingen. Behoud voor vergaderverslagen sprekerlabels en voldoende omringende discussie om het onderwerp begrijpelijk te maken. Verdeel een grote bron op bruikbare grenzen en bewaar de brontitel, documentidentificatie en passagepositie bij elke vector.\n\nBereid een zoekvraag voor als query en geïndexeerd materiaal als documenten. In de tekstembeddingwerkstroom van de maker geeft het invoertype het model de ophaalrol van de tekst. Een vraag zoals “Hoe kan een lid weer toegang krijgen nadat een beveiligingssleutel verloren is gegaan?” kan dan worden vergeleken met supportpassages die de herstelprocedure beschrijven, ook als die passages anders zijn geformuleerd. Houd de oorspronkelijke passage beschikbaar zodat het zoekresultaat het bewijs achter de overeenkomst kan tonen.\n\nHet model heeft een contextvenster van 32.000 tokens. Een lange invoer kan een volledig onderdeel behouden, maar een heel document is niet altijd de nuttigste zoekeenheid. Een brede vector kan naar het juiste bestand wijzen terwijl de lezer nog het precieze antwoord moet vinden. Kies passagegrenzen rond het resultaat dat u wilt weergeven en houd koppen, voorbehouden en definities bij de inhoud die ze toelichten.\n\nVoyage 3 Large ondersteunt vectoren met 2.048, 1.024, 512 of 256 dimensies. De maker documenteert ook floatingpointrepresentaties, achtbitsrepresentaties met of zonder teken en binaire representaties. Deze keuzes laten een ophaalsysteem vectordetail vergelijken met indexgrootte en zoekgedrag. Kies het formaat dat de beoogde vectoropslag ondersteunt en beoordeel het vervolgens op het werkelijke corpus en representatieve vragen voordat u de productie-instellingen voor de index kiest.\n\nNeem voor meertalig zoeken testvragen op in de talen die uw gebruikers gebruiken en beoordeel de opgehaalde bronpassages in hun oorspronkelijke taal. Een gedeelde zoekinterface kan meerdere taalverzamelingen bedienen, terwijl documentmetadata de brontaalvariant en versie blijven aangeven. Behoud betekenisvolle namen, afkortingen en domeintermen tijdens extractie in plaats van ze vóór het maken van embeddings door een algemene samenvatting te vervangen.\n\nGebruik de vectoren om kandidaatpassages op te halen voor een zoekpagina, kennisassistent of documentselectiestap. Houd hetzelfde model en dezelfde vectorinstellingen aan voor de geïndexeerde verzameling en de bijbehorende zoekvragen. Bouw bij het vervangen van een embeddingmodel of het wijzigen van vectordimensies de betrokken index bewust opnieuw op en vergelijk die; de lengte van een vector alleen identificeert niet hoe die is geproduceerd.\n\nBeoordeel het resultaat op bruikbare informatieophaling: verschijnt de juiste passage, staan nabije maar misleidende passages erboven en bevat het weergegeven fragment het antwoord? Bewaar een kleine verzameling echte vragen met verwachte bronnen, inclusief dubbelzinnige formuleringen en bijna identieke documenten. De embedding biedt een doorzoekbare representatie; de toepassing behoudt de brontekst, toegangsrechten en links die nodig zijn om een overeenkomst in een bruikbaar resultaat om te zetten.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "1318fb90d51c809bfe950a345e59189c392775c7ea597b3d7ff746399ecb98df",
    "module_sha256": "ee9dc1c50b1e6a8fb7fa062030fcb4646b9aaaeb08be513b723a5a92a7290f06",
    "raw_model_unchanged": true,
    "schema": "ailoot-native-model-editorial-v1"
  },
  "locale": "nl-be",
  "methods": [
    {
      "html": "<div class=\"sheet-head\"><span class=\"mav\" aria-hidden=\"true\">•</span><h2 id=\"sheet-title\">Voyage AI: Voyage 3 Large</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Sluiten\">×</button></div><div class=\"idline\"><span>Voyage AI /</span><code>voyage-3-large</code><button type=\"button\" id=\"copy-id\">ID kopiëren</button></div><nav class=\"card-jump-nav\" aria-label=\"Onderdelen van de modelkaart\"><button type=\"button\" data-card-jump=\"overview\">Aan de slag</button><button type=\"button\" data-card-jump=\"methods\">Invoer en methoden</button><button type=\"button\" data-card-jump=\"pricing\">Tarieven</button><button type=\"button\" data-card-jump=\"examples\">Voorbeelden</button><button type=\"button\" data-card-jump=\"results\">Resultaten</button><button type=\"button\" data-card-jump=\"aliases\">Aliasnamen</button></nav><div class=\"card-method-tabs\" role=\"tablist\" aria-label=\"API-methoden\"><button type=\"button\" role=\"tab\" tabindex=\"0\" aria-controls=\"card-method-content\" aria-selected=\"true\" id=\"card-method-tab-0\" data-card-method=\"Ultra|embeddings|/v1/embeddings|voyage-3-large\">Embeddings</button></div><div id=\"card-method-content\" role=\"tabpanel\" aria-labelledby=\"card-method-tab-0\"><section class=\"card-section\" data-card-section=\"overview\"><h3 tabindex=\"-1\">Aan de slag</h3><p class=\"mdesc-full\">Voyage 3 Large zet tekst om in vectoren voor algemene en meertalige informatieophaling. Het invoervenster van 32.000 tokens, selecteerbare vectordimensies en gekwantiseerde formaten ondersteunen doorzoekbare kennisbanken, het vinden van documenten en generatie ondersteund door opgehaalde informatie.</p><dl class=\"card-io\" data-card-io><div><dt>Toegestane invoer</dt><dd>Tekst</dd></div><div><dt>Resultaten</dt><dd>embedding</dd></div></dl><details class=\"card-about\"><summary>Over het model</summary><p class=\"note-s\" data-model-method-boundary>Deze beschrijving gaat over de mogelijkheden van het model. De via Ailoot beschikbare invoer, uitvoer en opties staan hieronder voor de geselecteerde methode.</p><div class=\"mabout\" id=\"m-about\"><p>Voyage 3 Large is een tekstembeddingmodel om relevante informatie in een verzameling documenten te vinden. Het vertegenwoordigt elke aangeleverde tekst als een numerieke vector, zodat een toepassing een zoekvraag kan vergelijken met passages waarvan de formulering kan verschillen, maar de betekenis verwant is. Voyage AI positioneert deze editie voor algemene en meertalige informatieophaling, met materiaal zoals technische documentatie, gesprekken en lange documenten.</p><p>Bouw de doorzoekbare verzameling op uit de informatie die mensen werkelijk moeten kunnen terugvinden. Houd voor een productkennisbank de uitleg van een functie bij de voorwaarden en relevante uitzonderingen. Behoud voor vergaderverslagen sprekerlabels en voldoende omringende discussie om het onderwerp begrijpelijk te maken. Verdeel een grote bron op bruikbare grenzen en bewaar de brontitel, documentidentificatie en passagepositie bij elke vector.</p><p>Bereid een zoekvraag voor als query en geïndexeerd materiaal als documenten. In de tekstembeddingwerkstroom van de maker geeft het invoertype het model de ophaalrol van de tekst. Een vraag zoals “Hoe kan een lid weer toegang krijgen nadat een beveiligingssleutel verloren is gegaan?” kan dan worden vergeleken met supportpassages die de herstelprocedure beschrijven, ook als die passages anders zijn geformuleerd. Houd de oorspronkelijke passage beschikbaar zodat het zoekresultaat het bewijs achter de overeenkomst kan tonen.</p><p>Het model heeft een contextvenster van 32.000 tokens. Een lange invoer kan een volledig onderdeel behouden, maar een heel document is niet altijd de nuttigste zoekeenheid. Een brede vector kan naar het juiste bestand wijzen terwijl de lezer nog het precieze antwoord moet vinden. Kies passagegrenzen rond het resultaat dat u wilt weergeven en houd koppen, voorbehouden en definities bij de inhoud die ze toelichten.</p><p>Voyage 3 Large ondersteunt vectoren met 2.048, 1.024, 512 of 256 dimensies. De maker documenteert ook floatingpointrepresentaties, achtbitsrepresentaties met of zonder teken en binaire representaties. Deze keuzes laten een ophaalsysteem vectordetail vergelijken met indexgrootte en zoekgedrag. Kies het formaat dat de beoogde vectoropslag ondersteunt en beoordeel het vervolgens op het werkelijke corpus en representatieve vragen voordat u de productie-instellingen voor de index kiest.</p><p>Neem voor meertalig zoeken testvragen op in de talen die uw gebruikers gebruiken en beoordeel de opgehaalde bronpassages in hun oorspronkelijke taal. Een gedeelde zoekinterface kan meerdere taalverzamelingen bedienen, terwijl documentmetadata de brontaalvariant en versie blijven aangeven. Behoud betekenisvolle namen, afkortingen en domeintermen tijdens extractie in plaats van ze vóór het maken van embeddings door een algemene samenvatting te vervangen.</p><p>Gebruik de vectoren om kandidaatpassages op te halen voor een zoekpagina, kennisassistent of documentselectiestap. Houd hetzelfde model en dezelfde vectorinstellingen aan voor de geïndexeerde verzameling en de bijbehorende zoekvragen. Bouw bij het vervangen van een embeddingmodel of het wijzigen van vectordimensies de betrokken index bewust opnieuw op en vergelijk die; de lengte van een vector alleen identificeert niet hoe die is geproduceerd.</p><p>Beoordeel het resultaat op bruikbare informatieophaling: verschijnt de juiste passage, staan nabije maar misleidende passages erboven en bevat het weergegeven fragment het antwoord? Bewaar een kleine verzameling echte vragen met verwachte bronnen, inclusief dubbelzinnige formuleringen en bijna identieke documenten. De embedding biedt een doorzoekbare representatie; de toepassing behoudt de brontekst, toegangsrechten en links die nodig zijn om een overeenkomst in een bruikbaar resultaat om te zetten.</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">Beschikbaar in Ailoot · invoer en methoden</h3><details class=\"card-method\" open><summary><b>Ailoot Ultra · Vectorrepresentaties</b> <code>POST /v1/embeddings</code></summary><dl class=\"method-capabilities\"><div><dt>Invoer</dt><dd><code>text</code></dd></div><div><dt>Uitvoer</dt><dd><code>embedding</code></dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>Veld</th><th>Type</th><th>Vereiste</th><th>Waarden en limieten</th><th>Standaard</th></tr></thead><tbody><tr><th data-cell-label=\"Veld\" scope=\"row\"><span class=\"card-cell-label\">Veld</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>string</code></td><td data-cell-label=\"Vereiste\"><span class=\"card-cell-label\">Vereiste</span>Vereist</td><td data-cell-label=\"Waarden en limieten\"><span class=\"card-cell-label\">Waarden en limieten</span><div>voyage-3-large</div><div>Voorwaarden: Gebruik de exacte modelselectie van Ailoot.</div></td><td data-cell-label=\"Standaard\" data-default=\"unspecified\"><span class=\"card-cell-label\">Standaard</span>—</td></tr><tr><th data-cell-label=\"Veld\" scope=\"row\"><span class=\"card-cell-label\">Veld</span><code class=\"card-field-name\">input</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>string or array&lt;string&gt;</code></td><td data-cell-label=\"Vereiste\"><span class=\"card-cell-label\">Vereiste</span>Vereist</td><td data-cell-label=\"Waarden en limieten\"><span class=\"card-cell-label\">Waarden en limieten</span><div>Voorwaarden: Een tekst of een lijst met teksten; bewaar voor elk teruggestuurd gegevensitem één vector en de bijbehorende index.</div></td><td data-cell-label=\"Standaard\" data-default=\"unspecified\"><span class=\"card-cell-label\">Standaard</span>—</td></tr></tbody></table></div><details class=\"note-s\" data-method-contract><summary>Methodeparameters en levenscyclus</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>Parameter</th><th>Contract</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=\"Contract\"><span class=\"card-cell-label\">Contract</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=\"Contract\"><span class=\"card-cell-label\">Contract</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=\"Contract\"><span class=\"card-cell-label\">Contract</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=\"Contract\"><span class=\"card-cell-label\">Contract</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=\"Contract\"><span class=\"card-cell-label\">Contract</span>Verstuur tekst met het geselecteerde model; bewaar elke teruggestuurde vector en zijn index.</td></tr></tbody></table></div><p>Levenscyclus: <code>synchronous</code></p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">Tarieven</h3><div data-native-semantic-method=\"v1\" data-tariff-reference-only><p class=\"note-s\" data-rate-support-note>Tariefverwijzingen voegen geen verzoekopties toe. Ondersteunde parameters staan bij de geselecteerde methode.</p><dl data-price-conditions><dt>Snelle modus</dt><dd>Niet opgegeven <span class=\"note-s\">Wanneer de snelle modus geselecteerd is</span></dd><dt>Flex-modus</dt><dd>Niet opgegeven <span class=\"note-s\">Wanneer de flex-modus geselecteerd is</span></dd><dt>Maximale redeneerinspanning</dt><dd>Niet opgegeven <span class=\"note-s\">Wanneer voor maximale redeneerinspanning de default-aanpassing wordt gebruikt</span></dd></dl></div><div data-declared-tariff-pricing><h4>Ailoot-tarieven</h4><h4>Prijzen per configuratie</h4><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Configuratie</th><th>Tariefstaffel</th><th>Kosten</th></tr></thead><tbody><tr><th data-cell-label=\"Configuratie\" scope=\"row\"><span class=\"card-cell-label\">Configuratie</span>Basistarieven voor tokens</th><td data-cell-label=\"Tariefstaffel\"><span class=\"card-cell-label\">Tariefstaffel</span>Basistarief</td><td data-cell-label=\"Kosten\"><span class=\"card-cell-label\">Kosten</span><div><span>Invoer · Invoertokens</span> <b>$0.0004</b> <span class=\"price-unit\">/ 1K tokens</span></div><div><span>Uitvoer · Uitvoertokens</span> <b>$0</b> <span class=\"price-unit\">/ 1K tokens</span></div><div><span>Invoer · Cache lezen</span> <b>—</b> <span class=\"price-unit\">/ 1K tokens</span></div><div><span>Invoer · Cache schrijven</span> <b>—</b> <span class=\"price-unit\">/ 1K tokens</span></div><div><span>Invoer · Cache schrijven, 1 uur</span> <b>—</b> <span class=\"price-unit\">/ 1K tokens</span></div></td></tr></tbody></table></div></div><p class=\"note-s\">Ailoot reserveert vóór een verzoek een geschat bedrag. Na het resultaat worden de uiteindelijke kosten afgerekend op basis van het gemeten verbruik. Bij streaming gebeurt de afrekening op basis van de definitieve verbruiksregistratie. <a href=\"/docs/nl-be/billing/reserve/\">Zo werken reservering en afrekening →</a></p></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">Voorbeeldverzoeken</h3><h4>Ailoot Ultra · Vectorrepresentaties</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Codevarianten\"><button class=\"cg-tab\" id=\"model-code-2787-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2787-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl · sla alle vectoren en verbruiksgegevens op</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Code kopiëren\"><svg class=\"cp\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><rect x=\"5.25\" y=\"5.25\" width=\"8.5\" height=\"8.5\" rx=\"1.75\"/><path d=\"M10.75 5.25V3.5a1.25 1.25 0 0 0-1.25-1.25H3.5A1.25 1.25 0 0 0 2.25 3.5v6a1.25 1.25 0 0 0 1.25 1.25h1.75\"/></svg><svg class=\"ok\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><path d=\"m3 8.5 3.25 3.25L13 5\"/></svg></button></div></div><div class=\"cg-body\"><div class=\"cg-pane\" id=\"model-code-2787-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-2787-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\ncat &gt; request.json &lt;&lt;&#39;JSON&#39;\n{\n  &quot;model&quot;: &quot;voyage-3-large&quot;,\n  &quot;input&quot;: &quot;The quick brown fox jumps over the lazy dog&quot;\n}\nJSON\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/embeddings \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -H &#39;Content-Type: application/json&#39; \\\n  --data-binary @request.json -D response-headers.txt -o embeddings.json\n# Keep every data item and its index, the full usage object and response headers.\n</code></pre></div></div></div></section><section class=\"card-section\" data-card-section=\"results\"><h3 tabindex=\"-1\">Resultaten ophalen en opslaan</h3></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">Aliasnamen</h3><h4>Modelaliasnamen</h4><p class=\"note-s\"><span data-model-alias-route=\"Ultra\"><b>Ailoot Ultra</b> <a href=\"#m=voyage-3-large&amp;route=Ultra&amp;caller=voyage-3-large&amp;fmt=embeddings\"><code>voyage-3-large</code></a></span></p><h4>Aliasnamen voor methodepaden</h4><p class=\"note-s\">Gebruik de hierboven getoonde methodepaden.</p><h4>Gerelateerde aanroeper-ID’s</h4><p class=\"note-s\"><a href=\"#m=voyage-3-large&amp;route=Ultra&amp;caller=voyage-3-large&amp;fmt=embeddings\"><code>voyage-3-large</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "voyage-3-large",
        "fmt": "embeddings",
        "http": "POST",
        "path": "/v1/embeddings",
        "request_model_id": "voyage-3-large",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|embeddings|/v1/embeddings|voyage-3-large",
      "ordinal": 0,
      "rawMethod": {
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Save the complete JSON response, every vector with its index, all usage fields and request headers.",
            "lifecycle": {
              "content": [],
              "create": {
                "http": "POST",
                "path": "/v1/embeddings"
              },
              "mode": "synchronous",
              "status": [],
              "unknown": "Bewaar de oorspronkelijke respons en X-Client-Request-ID voor reconciliatie. Een niet-eenduidige respons geeft geen toestemming om hetzelfde aanmaakverzoek opnieuw in te dienen.",
              "unknown_no_replay": true
            },
            "outputs": {
              "all_results": "Sla de volledige JSON-respons, elke vector met zijn index, alle velden met gebruiksgegevens en de requestheaders op.",
              "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": "Gebruik de exacte modelselectie van Ailoot.",
                "default_known": false,
                "enum": [
                  "voyage-3-large"
                ],
                "enum_known": true,
                "maximum_length": null,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "conditions": "Een tekst of een lijst met teksten; bewaar voor elk teruggestuurd gegevensitem één vector en de bijbehorende 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-large"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "model",
                "input"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": false,
              "body": {
                "input": "The quick brown fox jumps over the lazy dog",
                "model": "voyage-3-large"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "conditions": [
              "Verstuur tekst met het geselecteerde model; bewaar elke teruggestuurde vector en zijn 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": "Basistarieven voor tokens",
            "units": [
              {
                "amount": "0.0004000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000004",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\ncat > request.json <<'JSON'\n{\n  \"model\": \"voyage-3-large\",\n  \"input\": \"The quick brown fox jumps over the lazy dog\"\n}\nJSON\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/embeddings \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o embeddings.json\n# Keep every data item and its index, the full usage object and response headers.\n",
            "label": "curl · save all vectors and usage",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "embeddings",
        "http": "POST",
        "in": 0.4,
        "input": [
          "text"
        ],
        "label": "Vectorrepresentaties",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "out": 0,
        "output": [
          "embedding"
        ],
        "path": "/v1/embeddings",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "token",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": "0.0004000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000004",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          }
        ],
        "request_model_id": "voyage-3-large",
        "route_label": "Ultra",
        "status_reads": [],
        "tiers": [],
        "units": [
          {
            "amount": "0.0004000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.0000004",
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": "0",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0",
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          }
        ]
      }
    }
  ],
  "model_id": "voyage-3-large",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "389f0ef076183e02df6714ab49de3c471f5916460c8c8a812e38014a08478019",
    "input_html_sha256": "768ebcbd55a8d589986b3ceb9f97798ac63ac30e0d93c410eb64611b75e9ed58",
    "private_audit_sha256": "20f860d2465841b10637e8f31db676c840e11bd1c293317be5c01ae0698b59fd",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/nl-be/voyage-3-large/",
    "description": "Voyage 3 Large zet tekst om in vectoren voor algemene en meertalige informatieophaling. Het invoervenster van 32.000 tokens, selecteerbare vectordimensies en gekwantiseerde formaten ondersteunen doorzoekbare kennisbanken, het vinden van documenten en generatie ondersteund door opgehaalde informatie.",
    "locale": "nl-be",
    "md_url": "https://ailoot.ai/models/nl-be/voyage-3-large/index.md",
    "title": "Voyage AI: Voyage 3 Large — Ailoot",
    "url": "https://ailoot.ai/models/nl-be/voyage-3-large/"
  },
  "rawModel": {
    "about": "Voyage 3 Large is een tekstembeddingmodel om relevante informatie in een verzameling documenten te vinden. Het vertegenwoordigt elke aangeleverde tekst als een numerieke vector, zodat een toepassing een zoekvraag kan vergelijken met passages waarvan de formulering kan verschillen, maar de betekenis verwant is. Voyage AI positioneert deze editie voor algemene en meertalige informatieophaling, met materiaal zoals technische documentatie, gesprekken en lange documenten.\n\nBouw de doorzoekbare verzameling op uit de informatie die mensen werkelijk moeten kunnen terugvinden. Houd voor een productkennisbank de uitleg van een functie bij de voorwaarden en relevante uitzonderingen. Behoud voor vergaderverslagen sprekerlabels en voldoende omringende discussie om het onderwerp begrijpelijk te maken. Verdeel een grote bron op bruikbare grenzen en bewaar de brontitel, documentidentificatie en passagepositie bij elke vector.\n\nBereid een zoekvraag voor als query en geïndexeerd materiaal als documenten. In de tekstembeddingwerkstroom van de maker geeft het invoertype het model de ophaalrol van de tekst. Een vraag zoals “Hoe kan een lid weer toegang krijgen nadat een beveiligingssleutel verloren is gegaan?” kan dan worden vergeleken met supportpassages die de herstelprocedure beschrijven, ook als die passages anders zijn geformuleerd. Houd de oorspronkelijke passage beschikbaar zodat het zoekresultaat het bewijs achter de overeenkomst kan tonen.\n\nHet model heeft een contextvenster van 32.000 tokens. Een lange invoer kan een volledig onderdeel behouden, maar een heel document is niet altijd de nuttigste zoekeenheid. Een brede vector kan naar het juiste bestand wijzen terwijl de lezer nog het precieze antwoord moet vinden. Kies passagegrenzen rond het resultaat dat u wilt weergeven en houd koppen, voorbehouden en definities bij de inhoud die ze toelichten.\n\nVoyage 3 Large ondersteunt vectoren met 2.048, 1.024, 512 of 256 dimensies. De maker documenteert ook floatingpointrepresentaties, achtbitsrepresentaties met of zonder teken en binaire representaties. Deze keuzes laten een ophaalsysteem vectordetail vergelijken met indexgrootte en zoekgedrag. Kies het formaat dat de beoogde vectoropslag ondersteunt en beoordeel het vervolgens op het werkelijke corpus en representatieve vragen voordat u de productie-instellingen voor de index kiest.\n\nNeem voor meertalig zoeken testvragen op in de talen die uw gebruikers gebruiken en beoordeel de opgehaalde bronpassages in hun oorspronkelijke taal. Een gedeelde zoekinterface kan meerdere taalverzamelingen bedienen, terwijl documentmetadata de brontaalvariant en versie blijven aangeven. Behoud betekenisvolle namen, afkortingen en domeintermen tijdens extractie in plaats van ze vóór het maken van embeddings door een algemene samenvatting te vervangen.\n\nGebruik de vectoren om kandidaatpassages op te halen voor een zoekpagina, kennisassistent of documentselectiestap. Houd hetzelfde model en dezelfde vectorinstellingen aan voor de geïndexeerde verzameling en de bijbehorende zoekvragen. Bouw bij het vervangen van een embeddingmodel of het wijzigen van vectordimensies de betrokken index bewust opnieuw op en vergelijk die; de lengte van een vector alleen identificeert niet hoe die is geproduceerd.\n\nBeoordeel het resultaat op bruikbare informatieophaling: verschijnt de juiste passage, staan nabije maar misleidende passages erboven en bevat het weergegeven fragment het antwoord? Bewaar een kleine verzameling echte vragen met verwachte bronnen, inclusief dubbelzinnige formuleringen en bijna identieke documenten. De embedding biedt een doorzoekbare representatie; de toepassing behoudt de brontekst, toegangsrechten en links die nodig zijn om een overeenkomst in een bruikbaar resultaat om te zetten.",
    "about_sha256": "f8a14551c12ad8f26e408dfc995cf463d79d159d38d8d98b1790a59c1789dcc3",
    "alias_of": null,
    "aliases": [],
    "author": "Voyage AI",
    "capabilities": {
      "context_length": 32000,
      "manufacturer_input": [
        "text"
      ],
      "manufacturer_output": [
        "embeddings"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.0004000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.0000004",
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": "0",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0",
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          }
        ],
        "summary": "De volledige prijsinformatie voor de configuratie vindt u bij de details."
      }
    ],
    "ctx": null,
    "display_name": "Voyage AI: Voyage 3 Large",
    "formats": [
      "embeddings"
    ],
    "id": "voyage-3-large",
    "input": [
      "text"
    ],
    "kind": "embedding",
    "locale": "en",
    "max_out": null,
    "methods": [
      {
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Save the complete JSON response, every vector with its index, all usage fields and request headers.",
            "lifecycle": {
              "content": [],
              "create": {
                "http": "POST",
                "path": "/v1/embeddings"
              },
              "mode": "synchronous",
              "status": [],
              "unknown": "Bewaar de oorspronkelijke respons en X-Client-Request-ID voor reconciliatie. Een niet-eenduidige respons geeft geen toestemming om hetzelfde aanmaakverzoek opnieuw in te dienen.",
              "unknown_no_replay": true
            },
            "outputs": {
              "all_results": "Sla de volledige JSON-respons, elke vector met zijn index, alle velden met gebruiksgegevens en de requestheaders op.",
              "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": "Gebruik de exacte modelselectie van Ailoot.",
                "default_known": false,
                "enum": [
                  "voyage-3-large"
                ],
                "enum_known": true,
                "maximum_length": null,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "conditions": "Een tekst of een lijst met teksten; bewaar voor elk teruggestuurd gegevensitem één vector en de bijbehorende 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-large"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "model",
                "input"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": false,
              "body": {
                "input": "The quick brown fox jumps over the lazy dog",
                "model": "voyage-3-large"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "conditions": [
              "Verstuur tekst met het geselecteerde model; bewaar elke teruggestuurde vector en zijn 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": "Basistarieven voor tokens",
            "units": [
              {
                "amount": "0.0004000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000004",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\ncat > request.json <<'JSON'\n{\n  \"model\": \"voyage-3-large\",\n  \"input\": \"The quick brown fox jumps over the lazy dog\"\n}\nJSON\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/embeddings \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o embeddings.json\n# Keep every data item and its index, the full usage object and response headers.\n",
            "label": "curl · save all vectors and usage",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "embeddings",
        "http": "POST",
        "in": 0.4,
        "input": [
          "text"
        ],
        "label": "Vectorrepresentaties",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "out": 0,
        "output": [
          "embedding"
        ],
        "path": "/v1/embeddings",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "token",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": "0.0004000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000004",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          }
        ],
        "request_model_id": "voyage-3-large",
        "route_label": "Ultra",
        "status_reads": [],
        "tiers": [],
        "units": [
          {
            "amount": "0.0004000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.0000004",
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": "0",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0",
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "voyage-3-large",
        "request_model_id": "voyage-3-large",
        "route_label": "Ultra"
      }
    ],
    "name": "Voyage AI: Voyage 3 Large",
    "price": {
      "in": 0.4,
      "in_label": null,
      "out": 0,
      "out_label": null,
      "scope_label": "Token rates",
      "sort_in": 0.4,
      "sort_out": 0,
      "varies": false
    },
    "short": "Voyage 3 Large zet tekst om in vectoren voor algemene en meertalige informatieophaling. Het invoervenster van 32.000 tokens, selecteerbare vectordimensies en gekwantiseerde formaten ondersteunen doorzoekbare kennisbanken, het vinden van documenten en generatie ondersteund door opgehaalde informatie.",
    "short_sha256": "97e0e5100c1133c3a38a116210c6492617852a455c2338779be2ecc6f0754b10"
  },
  "renderer_schema": {
    "method_order": "Original DTO methods order; every exact route/format/path/caller survives.",
    "prices": "Original public DTO fields and original native display HTML; no flattened or normalized offers."
  },
  "representation": "exact-public-dto-and-native-renderer-html",
  "representationNotes": {
    "current_reference": {
      "about_json_pointer": "/aboutHtml",
      "methods": [
        {
          "contract_json_pointer": "/methods/0/rawMethod/contract",
          "html_json_pointer": "/methods/0/html",
          "method_ordinal": 0
        }
      ],
      "role": "current-semantic-reference"
    },
    "raw_input": {
      "examples_role": "historical-input-not-current-ready-examples",
      "json_pointers": [
        "/rawModel",
        "/methods/0/rawMethod"
      ],
      "role": "historical-owner-input"
    },
    "schema": "ailoot-native-model-representations-v1"
  },
  "schema": "ailoot-static-model-facts-v1",
  "schema_version": 1,
  "shortText": "Voyage 3 Large zet tekst om in vectoren voor algemene en meertalige informatieophaling. Het invoervenster van 32.000 tokens, selecteerbare vectordimensies en gekwantiseerde formaten ondersteunen doorzoekbare kennisbanken, het vinden van documenten en generatie ondersteund door opgehaalde informatie.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "adb5a8b62f35d4d5dedbdf2caa824e20907cd6c31f29793a3b76747ee7a155e5",
    "renderer_sha256": "a5aefc67f30427b283b8d8bf7955908a0216c6e5e4ca3cc1887842431e2b1ee6"
  },
  "sourceRevision": "d885a1dc565296699fb480835ddc584c1f36dd54b778998bfe4385a975213816"
}
