{
  "aboutHtml": "<p>Voyage Context 3 erzeugt kontextualisierte Abschnitts-Embeddings für Dokumentensuche. Jeder Abschnitt erhält einen eigenen Vektor, während das Modell auch die anderen aus demselben Dokument bereitgestellten Abschnitte berücksichtigt. So erhält ein Suchsystem eine Darstellung der lokalen Passage zusammen mit weiterem Dokumentkontext, etwa einer andernorts in der Quelle eingeführten Entität oder einem Thema.</p><p>Bereiten Sie jedes Dokument als geordnete Folge lesbarer Textabschnitte vor. Halten Sie die Abschnitte eines Dokuments zusammen und erhalten Sie ihre ursprüngliche Reihenfolge. Im kontextualisierten Ablauf des Herstellers enthält jede innere Gruppe die Abschnitte einer Quelle, und getrennte Gruppen stehen für getrennte Quellen. Diese Gruppierung gehört zur Bedeutung der Eingabe: Sie sagt dem Modell, welcher umgebende Text zum dargestellten Dokument gehört.</p><p>Ein hilfreicher Fall ist ein Bericht, dessen Anfang das Unternehmen benennt, während ein späterer Absatz sein Wachstum erklärt. Eine Suche nach dem Wachstum dieses Unternehmens benötigt sowohl den konkreten Absatz als auch die Dokumentidentität. Bewahren Sie den Originaltext des Abschnitts und die Metadaten seines übergeordneten Dokuments zusammen mit dem entstandenen Vektor auf, damit das Ergebnis die Passage anzeigen und auf die vollständige Quelle verlinken kann.</p><p>Die Herstellerreferenz dokumentiert bis zu 120’000 Token über eine Anfrage hinweg, mit höchstens 1’000 Eingabegruppen und insgesamt 16’000 Abschnitten. Der Modellleitfaden nennt getrennt davon ein Fenster von 32’000 Token pro Abschnitt. Halten Sie diese Bezugsbereiche bei der Materialvorbereitung auseinander: Eine Grenze für einen einzelnen Abschnitt und eine Grenze für die vollständige Anfrage beschreiben unterschiedliche Eingabegrössen. Prüfen Sie die Gesamtsumme nach dem Aufteilen der Quelle, statt anzunehmen, jeder einzelne Abschnitt könne in derselben Anfrage seine Maximalgrösse füllen.</p><p>Kennzeichnen Sie die gruppierten Passagen für Dokumentensuche als Dokumenteingabe. Bereiten Sie jede Suchfrage als eigene Anfragegruppe vor. Der Hersteller empfiehlt nicht überlappende bereitgestellte Dokumentabschnitte, sodass die kontextualisierte Darstellung umgebende Informationen weitertragen kann, ohne Text in jeder Passage zu wiederholen. Erhalten Sie beim Schreiben des Index die Zuordnung zwischen Dokumentgruppe, Abschnittsposition und zurückgegebenem Vektor.</p><p>Voyage Context 3 unterstützt 2’048, 1’024, 512 und 256 Dimensionen, mit Gleitkomma-, Acht-Bit-Ganzzahl- und Binärausgabe als Optionen. Wählen Sie eine Indexdarstellung und bewerten Sie sie anhand derselben Quelldokumente und Fragen. Bewahren Sie gewählte Dimension und Datentyp zusammen mit dem Index auf, damit Anfragedarstellung und gespeicherte Vektoren konsistent bleiben.</p><p>Verwenden Sie die entstandenen Vektoren für Passagensuche, Dokumentrecherche oder die Suchstufe eines Assistenten, der mit Berichten, Forschungsarbeiten, Verträgen oder technischen Handbüchern arbeitet. Ein Ergebnis kann eine gezielte Passage bestimmen, während sein Quelllink Zugriff auf Definitionen und Einschränkungen andernorts im Dokument gibt. Erhalten Sie Dokumentversionen und Berechtigungen als Anwendungsmetadaten neben den Vektoren.</p><p>Prüfen Sie Fragen, die sowohl ein lokales Detail als auch Kontext auf Dokumentebene benötigen. Nehmen Sie ähnliche Passagen aus unterschiedlichen Quellen, nur am Anfang eingeführte benannte Entitäten und Fragen auf, deren Belege sich über mehrere Abschnitte verteilen. Prüfen Sie, ob der erwartete Abschnitt gefunden wird und ob die Anwendung genügend umgebenden Text zu seiner Interpretation zeigt. Erzeugen Sie bei einer Quelländerung die betroffene Dokumentgruppe bewusst neu, damit ihre kontextualisierten Abschnitte einer einheitlichen Version entsprechen.</p>",
  "aboutText": "Voyage Context 3 erzeugt kontextualisierte Abschnitts-Embeddings für Dokumentensuche. Jeder Abschnitt erhält einen eigenen Vektor, während das Modell auch die anderen aus demselben Dokument bereitgestellten Abschnitte berücksichtigt. So erhält ein Suchsystem eine Darstellung der lokalen Passage zusammen mit weiterem Dokumentkontext, etwa einer andernorts in der Quelle eingeführten Entität oder einem Thema.\n\nBereiten Sie jedes Dokument als geordnete Folge lesbarer Textabschnitte vor. Halten Sie die Abschnitte eines Dokuments zusammen und erhalten Sie ihre ursprüngliche Reihenfolge. Im kontextualisierten Ablauf des Herstellers enthält jede innere Gruppe die Abschnitte einer Quelle, und getrennte Gruppen stehen für getrennte Quellen. Diese Gruppierung gehört zur Bedeutung der Eingabe: Sie sagt dem Modell, welcher umgebende Text zum dargestellten Dokument gehört.\n\nEin hilfreicher Fall ist ein Bericht, dessen Anfang das Unternehmen benennt, während ein späterer Absatz sein Wachstum erklärt. Eine Suche nach dem Wachstum dieses Unternehmens benötigt sowohl den konkreten Absatz als auch die Dokumentidentität. Bewahren Sie den Originaltext des Abschnitts und die Metadaten seines übergeordneten Dokuments zusammen mit dem entstandenen Vektor auf, damit das Ergebnis die Passage anzeigen und auf die vollständige Quelle verlinken kann.\n\nDie Herstellerreferenz dokumentiert bis zu 120’000 Token über eine Anfrage hinweg, mit höchstens 1’000 Eingabegruppen und insgesamt 16’000 Abschnitten. Der Modellleitfaden nennt getrennt davon ein Fenster von 32’000 Token pro Abschnitt. Halten Sie diese Bezugsbereiche bei der Materialvorbereitung auseinander: Eine Grenze für einen einzelnen Abschnitt und eine Grenze für die vollständige Anfrage beschreiben unterschiedliche Eingabegrössen. Prüfen Sie die Gesamtsumme nach dem Aufteilen der Quelle, statt anzunehmen, jeder einzelne Abschnitt könne in derselben Anfrage seine Maximalgrösse füllen.\n\nKennzeichnen Sie die gruppierten Passagen für Dokumentensuche als Dokumenteingabe. Bereiten Sie jede Suchfrage als eigene Anfragegruppe vor. Der Hersteller empfiehlt nicht überlappende bereitgestellte Dokumentabschnitte, sodass die kontextualisierte Darstellung umgebende Informationen weitertragen kann, ohne Text in jeder Passage zu wiederholen. Erhalten Sie beim Schreiben des Index die Zuordnung zwischen Dokumentgruppe, Abschnittsposition und zurückgegebenem Vektor.\n\nVoyage Context 3 unterstützt 2’048, 1’024, 512 und 256 Dimensionen, mit Gleitkomma-, Acht-Bit-Ganzzahl- und Binärausgabe als Optionen. Wählen Sie eine Indexdarstellung und bewerten Sie sie anhand derselben Quelldokumente und Fragen. Bewahren Sie gewählte Dimension und Datentyp zusammen mit dem Index auf, damit Anfragedarstellung und gespeicherte Vektoren konsistent bleiben.\n\nVerwenden Sie die entstandenen Vektoren für Passagensuche, Dokumentrecherche oder die Suchstufe eines Assistenten, der mit Berichten, Forschungsarbeiten, Verträgen oder technischen Handbüchern arbeitet. Ein Ergebnis kann eine gezielte Passage bestimmen, während sein Quelllink Zugriff auf Definitionen und Einschränkungen andernorts im Dokument gibt. Erhalten Sie Dokumentversionen und Berechtigungen als Anwendungsmetadaten neben den Vektoren.\n\nPrüfen Sie Fragen, die sowohl ein lokales Detail als auch Kontext auf Dokumentebene benötigen. Nehmen Sie ähnliche Passagen aus unterschiedlichen Quellen, nur am Anfang eingeführte benannte Entitäten und Fragen auf, deren Belege sich über mehrere Abschnitte verteilen. Prüfen Sie, ob der erwartete Abschnitt gefunden wird und ob die Anwendung genügend umgebenden Text zu seiner Interpretation zeigt. Erzeugen Sie bei einer Quelländerung die betroffene Dokumentgruppe bewusst neu, damit ihre kontextualisierten Abschnitte einer einheitlichen Version entsprechen.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "e92b0c47b5bd5611e455721a43910389ec4a1ebd4d92b7e76f45c4a219b81315",
    "module_sha256": "ee9dc1c50b1e6a8fb7fa062030fcb4646b9aaaeb08be513b723a5a92a7290f06",
    "raw_model_unchanged": true,
    "schema": "ailoot-native-model-editorial-v1"
  },
  "locale": "de-ch",
  "methods": [
    {
      "html": "<div class=\"sheet-head\"><span class=\"mav\" aria-hidden=\"true\">•</span><h2 id=\"sheet-title\">Voyage AI: Voyage Context 3</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Schliessen\">×</button></div><div class=\"idline\"><span>Voyage AI /</span><code>voyage-context-3</code><button type=\"button\" id=\"copy-id\">ID kopieren</button></div><nav class=\"card-jump-nav\" aria-label=\"Bereiche der Modellkarte\"><button type=\"button\" data-card-jump=\"overview\">Einstieg</button><button type=\"button\" data-card-jump=\"methods\">Eingaben und Methoden</button><button type=\"button\" data-card-jump=\"pricing\">Tarife</button><button type=\"button\" data-card-jump=\"examples\">Beispiele</button><button type=\"button\" data-card-jump=\"results\">Ergebnisse</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-context-3\">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\">Einstieg</h3><p class=\"mdesc-full\">Voyage Context 3 erzeugt für jeden Dokumentabschnitt einen Vektor und bezieht dabei den Kontext der anderen Abschnitte desselben Dokuments ein. Es unterstützt das präzise Finden von Passagen in langen Dokumenten mit wählbaren Dimensionen und quantisierten Embeddings.</p><dl class=\"card-io\" data-card-io><div><dt>Zulässige Eingaben</dt><dd>Text</dd></div><div><dt>Ergebnisse</dt><dd>embedding</dd></div></dl><details class=\"card-about\"><summary>Über das Modell</summary><p class=\"note-s\" data-model-method-boundary>Diese Beschreibung erläutert die Fähigkeiten des Modells. Die über Ailoot verfügbaren Eingaben, Ausgaben und Optionen sind unten für die ausgewählte Methode aufgeführt.</p><div class=\"mabout\" id=\"m-about\"><p>Voyage Context 3 erzeugt kontextualisierte Abschnitts-Embeddings für Dokumentensuche. Jeder Abschnitt erhält einen eigenen Vektor, während das Modell auch die anderen aus demselben Dokument bereitgestellten Abschnitte berücksichtigt. So erhält ein Suchsystem eine Darstellung der lokalen Passage zusammen mit weiterem Dokumentkontext, etwa einer andernorts in der Quelle eingeführten Entität oder einem Thema.</p><p>Bereiten Sie jedes Dokument als geordnete Folge lesbarer Textabschnitte vor. Halten Sie die Abschnitte eines Dokuments zusammen und erhalten Sie ihre ursprüngliche Reihenfolge. Im kontextualisierten Ablauf des Herstellers enthält jede innere Gruppe die Abschnitte einer Quelle, und getrennte Gruppen stehen für getrennte Quellen. Diese Gruppierung gehört zur Bedeutung der Eingabe: Sie sagt dem Modell, welcher umgebende Text zum dargestellten Dokument gehört.</p><p>Ein hilfreicher Fall ist ein Bericht, dessen Anfang das Unternehmen benennt, während ein späterer Absatz sein Wachstum erklärt. Eine Suche nach dem Wachstum dieses Unternehmens benötigt sowohl den konkreten Absatz als auch die Dokumentidentität. Bewahren Sie den Originaltext des Abschnitts und die Metadaten seines übergeordneten Dokuments zusammen mit dem entstandenen Vektor auf, damit das Ergebnis die Passage anzeigen und auf die vollständige Quelle verlinken kann.</p><p>Die Herstellerreferenz dokumentiert bis zu 120’000 Token über eine Anfrage hinweg, mit höchstens 1’000 Eingabegruppen und insgesamt 16’000 Abschnitten. Der Modellleitfaden nennt getrennt davon ein Fenster von 32’000 Token pro Abschnitt. Halten Sie diese Bezugsbereiche bei der Materialvorbereitung auseinander: Eine Grenze für einen einzelnen Abschnitt und eine Grenze für die vollständige Anfrage beschreiben unterschiedliche Eingabegrössen. Prüfen Sie die Gesamtsumme nach dem Aufteilen der Quelle, statt anzunehmen, jeder einzelne Abschnitt könne in derselben Anfrage seine Maximalgrösse füllen.</p><p>Kennzeichnen Sie die gruppierten Passagen für Dokumentensuche als Dokumenteingabe. Bereiten Sie jede Suchfrage als eigene Anfragegruppe vor. Der Hersteller empfiehlt nicht überlappende bereitgestellte Dokumentabschnitte, sodass die kontextualisierte Darstellung umgebende Informationen weitertragen kann, ohne Text in jeder Passage zu wiederholen. Erhalten Sie beim Schreiben des Index die Zuordnung zwischen Dokumentgruppe, Abschnittsposition und zurückgegebenem Vektor.</p><p>Voyage Context 3 unterstützt 2’048, 1’024, 512 und 256 Dimensionen, mit Gleitkomma-, Acht-Bit-Ganzzahl- und Binärausgabe als Optionen. Wählen Sie eine Indexdarstellung und bewerten Sie sie anhand derselben Quelldokumente und Fragen. Bewahren Sie gewählte Dimension und Datentyp zusammen mit dem Index auf, damit Anfragedarstellung und gespeicherte Vektoren konsistent bleiben.</p><p>Verwenden Sie die entstandenen Vektoren für Passagensuche, Dokumentrecherche oder die Suchstufe eines Assistenten, der mit Berichten, Forschungsarbeiten, Verträgen oder technischen Handbüchern arbeitet. Ein Ergebnis kann eine gezielte Passage bestimmen, während sein Quelllink Zugriff auf Definitionen und Einschränkungen andernorts im Dokument gibt. Erhalten Sie Dokumentversionen und Berechtigungen als Anwendungsmetadaten neben den Vektoren.</p><p>Prüfen Sie Fragen, die sowohl ein lokales Detail als auch Kontext auf Dokumentebene benötigen. Nehmen Sie ähnliche Passagen aus unterschiedlichen Quellen, nur am Anfang eingeführte benannte Entitäten und Fragen auf, deren Belege sich über mehrere Abschnitte verteilen. Prüfen Sie, ob der erwartete Abschnitt gefunden wird und ob die Anwendung genügend umgebenden Text zu seiner Interpretation zeigt. Erzeugen Sie bei einer Quelländerung die betroffene Dokumentgruppe bewusst neu, damit ihre kontextualisierten Abschnitte einer einheitlichen Version entsprechen.</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">In Ailoot verfügbar · Eingaben und Methoden</h3><details class=\"card-method\" open><summary><b>Ailoot Ultra · Einbettungsvektoren</b> <code>POST /v1/embeddings</code></summary><dl class=\"method-capabilities\"><div><dt>Eingabe</dt><dd><code>text</code></dd></div><div><dt>Ausgabe</dt><dd><code>embedding</code></dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>Feld</th><th>Typ</th><th>Anforderung</th><th>Werte und Limits</th><th>Standard</th></tr></thead><tbody><tr><th data-cell-label=\"Feld\" scope=\"row\"><span class=\"card-cell-label\">Feld</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=\"Anforderung\"><span class=\"card-cell-label\">Anforderung</span>Erforderlich</td><td data-cell-label=\"Werte und Limits\"><span class=\"card-cell-label\">Werte und Limits</span><div>voyage-context-3</div><div>Bedingungen: Verwenden Sie die exakte Modellauswahl von 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=\"Feld\" scope=\"row\"><span class=\"card-cell-label\">Feld</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=\"Anforderung\"><span class=\"card-cell-label\">Anforderung</span>Erforderlich</td><td data-cell-label=\"Werte und Limits\"><span class=\"card-cell-label\">Werte und Limits</span><div>Bedingungen: Ein Text oder eine Liste von Texten; bewahren Sie für jedes zurückgegebene Datenelement einen Vektor und dessen Index auf.</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>Methodenparameter und Lebenszyklus</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>Parameter</th><th>Vertrag</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=\"Vertrag\"><span class=\"card-cell-label\">Vertrag</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=\"Vertrag\"><span class=\"card-cell-label\">Vertrag</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=\"Vertrag\"><span class=\"card-cell-label\">Vertrag</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=\"Vertrag\"><span class=\"card-cell-label\">Vertrag</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=\"Vertrag\"><span class=\"card-cell-label\">Vertrag</span>Senden Sie Text mit dem ausgewählten Modell; bewahren Sie jeden zurückgegebenen Vektor und dessen Index auf.</td></tr></tbody></table></div><p>Lebenszyklus: <code>synchronous</code></p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">Tarife</h3><div data-native-semantic-method=\"v1\" data-tariff-reference-only><p class=\"note-s\" data-rate-support-note>Tarifangaben erweitern die Anfrageoptionen nicht. Unterstützte Parameter stehen bei der ausgewählten Methode.</p><dl data-price-conditions><dt>Schnellmodus</dt><dd>Nicht angegeben <span class=\"note-s\">Wenn der Schnellmodus ausgewählt ist</span></dd><dt>Flex-Modus</dt><dd>Nicht angegeben <span class=\"note-s\">Wenn der Modus flex ausgewählt ist</span></dd><dt>Maximaler Denkaufwand</dt><dd>Nicht angegeben <span class=\"note-s\">Wenn beim maximalen Denkaufwand die Standardanpassung (default) verwendet wird</span></dd></dl></div><div data-declared-tariff-pricing><h4>Ailoot-Tarife</h4><h4>Preise nach Konfiguration</h4><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Konfiguration</th><th>Tarifstaffel</th><th>Gebühr</th></tr></thead><tbody><tr><th data-cell-label=\"Konfiguration\" scope=\"row\"><span class=\"card-cell-label\">Konfiguration</span>Token-Basistarife</th><td data-cell-label=\"Tarifstaffel\"><span class=\"card-cell-label\">Tarifstaffel</span>Grundtarif</td><td data-cell-label=\"Gebühr\"><span class=\"card-cell-label\">Gebühr</span><div><span>Eingabe · Eingabetoken</span> <b>$0.0004</b> <span class=\"price-unit\">/ 1K Tokens</span></div><div><span>Ausgabe · Ausgabetoken</span> <b>$0</b> <span class=\"price-unit\">/ 1K Tokens</span></div><div><span>Eingabe · Cache lesen</span> <b>—</b> <span class=\"price-unit\">/ 1K Tokens</span></div><div><span>Eingabe · Cache schreiben</span> <b>—</b> <span class=\"price-unit\">/ 1K Tokens</span></div><div><span>Eingabe · Cache schreiben, 1 Stunde</span> <b>—</b> <span class=\"price-unit\">/ 1K Tokens</span></div></td></tr></tbody></table></div></div><p class=\"note-s\">Ailoot reserviert vor einer Anfrage einen geschätzten Betrag. Nach dem Ergebnis rechnet Ailoot die endgültige Gebühr anhand des gemessenen Verbrauchs ab. Bei Streaming erfolgt die Abrechnung anhand des abschliessenden Verbrauchsdatensatzes. <a href=\"/docs/de-ch/billing/reserve/\">So funktionieren Reservierung und Abrechnung →</a></p></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">Beispielanfragen</h3><h4>Ailoot Ultra · Einbettungsvektoren</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-2791-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2791-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl · alle Vektoren und Verbrauchsdaten speichern</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Code kopieren\"><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-2791-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-2791-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-context-3&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\">Ergebnisse abrufen und speichern</h3></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">Aliasnamen</h3><h4>Modellaliasnamen</h4><p class=\"note-s\"><span data-model-alias-route=\"Ultra\"><b>Ailoot Ultra</b> <a href=\"#m=voyage-context-3&amp;route=Ultra&amp;caller=voyage-context-3&amp;fmt=embeddings\"><code>voyage-context-3</code></a></span></p><h4>Aliasnamen für Methodenpfade</h4><p class=\"note-s\">Verwenden Sie die oben angezeigten Methodenpfade.</p><h4>Zugehörige Aufrufer-IDs</h4><p class=\"note-s\"><a href=\"#m=voyage-context-3&amp;route=Ultra&amp;caller=voyage-context-3&amp;fmt=embeddings\"><code>voyage-context-3</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "voyage-context-3",
        "fmt": "embeddings",
        "http": "POST",
        "path": "/v1/embeddings",
        "request_model_id": "voyage-context-3",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|embeddings|/v1/embeddings|voyage-context-3",
      "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": "Bewahren Sie die ursprüngliche Antwort und die X-Client-Request-ID für den Abgleich auf. Eine mehrdeutige Antwort ist keine Erlaubnis, denselben Erstellungsauftrag erneut zu übermitteln.",
              "unknown_no_replay": true
            },
            "outputs": {
              "all_results": "Speichern Sie die vollständige JSON-Antwort, jeden Vektor mit seinem Index, alle Felder mit Nutzungsdaten und die Anfrage-Header.",
              "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": "Verwenden Sie die exakte Modellauswahl von Ailoot.",
                "default_known": false,
                "enum": [
                  "voyage-context-3"
                ],
                "enum_known": true,
                "maximum_length": null,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "conditions": "Ein Text oder eine Liste von Texten; bewahren Sie für jedes zurückgegebene Datenelement einen Vektor und dessen Index auf.",
                "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-context-3"
                  ],
                  "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-context-3"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "conditions": [
              "Senden Sie Text mit dem ausgewählten Modell; bewahren Sie jeden zurückgegebenen Vektor und dessen Index auf."
            ],
            "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": "Token-Basistarife",
            "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-context-3\",\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": "Einbettungsvektoren",
        "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-context-3",
        "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-context-3",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "0c5023fe0fedc867f59037a198fdc7b853b14f61e0eb95d60df3a8acdbfd0ee1",
    "input_html_sha256": "11100d6767db3d7d3f44100d4064efd4b848222907c60949c7c29df47e89a211",
    "private_audit_sha256": "a227a726fbf1d18012627bdc3c9b6bde0f8d864ec414db27e487a3145de70298",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/de-ch/voyage-context-3/",
    "description": "Voyage Context 3 erzeugt für jeden Dokumentabschnitt einen Vektor und bezieht dabei den Kontext der anderen Abschnitte desselben Dokuments ein. Es unterstützt das präzise Finden von Passagen in langen Dokumenten mit wählbaren Dimensionen und quantisierten Embeddings.",
    "locale": "de-ch",
    "md_url": "https://ailoot.ai/models/de-ch/voyage-context-3/index.md",
    "title": "Voyage AI: Voyage Context 3 — Ailoot",
    "url": "https://ailoot.ai/models/de-ch/voyage-context-3/"
  },
  "rawModel": {
    "about": "Voyage Context 3 erzeugt kontextualisierte Abschnitts-Embeddings für Dokumentensuche. Jeder Abschnitt erhält einen eigenen Vektor, während das Modell auch die anderen aus demselben Dokument bereitgestellten Abschnitte berücksichtigt. So erhält ein Suchsystem eine Darstellung der lokalen Passage zusammen mit weiterem Dokumentkontext, etwa einer andernorts in der Quelle eingeführten Entität oder einem Thema.\n\nBereiten Sie jedes Dokument als geordnete Folge lesbarer Textabschnitte vor. Halten Sie die Abschnitte eines Dokuments zusammen und erhalten Sie ihre ursprüngliche Reihenfolge. Im kontextualisierten Ablauf des Herstellers enthält jede innere Gruppe die Abschnitte einer Quelle, und getrennte Gruppen stehen für getrennte Quellen. Diese Gruppierung gehört zur Bedeutung der Eingabe: Sie sagt dem Modell, welcher umgebende Text zum dargestellten Dokument gehört.\n\nEin hilfreicher Fall ist ein Bericht, dessen Anfang das Unternehmen benennt, während ein späterer Absatz sein Wachstum erklärt. Eine Suche nach dem Wachstum dieses Unternehmens benötigt sowohl den konkreten Absatz als auch die Dokumentidentität. Bewahren Sie den Originaltext des Abschnitts und die Metadaten seines übergeordneten Dokuments zusammen mit dem entstandenen Vektor auf, damit das Ergebnis die Passage anzeigen und auf die vollständige Quelle verlinken kann.\n\nDie Herstellerreferenz dokumentiert bis zu 120’000 Token über eine Anfrage hinweg, mit höchstens 1’000 Eingabegruppen und insgesamt 16’000 Abschnitten. Der Modellleitfaden nennt getrennt davon ein Fenster von 32’000 Token pro Abschnitt. Halten Sie diese Bezugsbereiche bei der Materialvorbereitung auseinander: Eine Grenze für einen einzelnen Abschnitt und eine Grenze für die vollständige Anfrage beschreiben unterschiedliche Eingabegrössen. Prüfen Sie die Gesamtsumme nach dem Aufteilen der Quelle, statt anzunehmen, jeder einzelne Abschnitt könne in derselben Anfrage seine Maximalgrösse füllen.\n\nKennzeichnen Sie die gruppierten Passagen für Dokumentensuche als Dokumenteingabe. Bereiten Sie jede Suchfrage als eigene Anfragegruppe vor. Der Hersteller empfiehlt nicht überlappende bereitgestellte Dokumentabschnitte, sodass die kontextualisierte Darstellung umgebende Informationen weitertragen kann, ohne Text in jeder Passage zu wiederholen. Erhalten Sie beim Schreiben des Index die Zuordnung zwischen Dokumentgruppe, Abschnittsposition und zurückgegebenem Vektor.\n\nVoyage Context 3 unterstützt 2’048, 1’024, 512 und 256 Dimensionen, mit Gleitkomma-, Acht-Bit-Ganzzahl- und Binärausgabe als Optionen. Wählen Sie eine Indexdarstellung und bewerten Sie sie anhand derselben Quelldokumente und Fragen. Bewahren Sie gewählte Dimension und Datentyp zusammen mit dem Index auf, damit Anfragedarstellung und gespeicherte Vektoren konsistent bleiben.\n\nVerwenden Sie die entstandenen Vektoren für Passagensuche, Dokumentrecherche oder die Suchstufe eines Assistenten, der mit Berichten, Forschungsarbeiten, Verträgen oder technischen Handbüchern arbeitet. Ein Ergebnis kann eine gezielte Passage bestimmen, während sein Quelllink Zugriff auf Definitionen und Einschränkungen andernorts im Dokument gibt. Erhalten Sie Dokumentversionen und Berechtigungen als Anwendungsmetadaten neben den Vektoren.\n\nPrüfen Sie Fragen, die sowohl ein lokales Detail als auch Kontext auf Dokumentebene benötigen. Nehmen Sie ähnliche Passagen aus unterschiedlichen Quellen, nur am Anfang eingeführte benannte Entitäten und Fragen auf, deren Belege sich über mehrere Abschnitte verteilen. Prüfen Sie, ob der erwartete Abschnitt gefunden wird und ob die Anwendung genügend umgebenden Text zu seiner Interpretation zeigt. Erzeugen Sie bei einer Quelländerung die betroffene Dokumentgruppe bewusst neu, damit ihre kontextualisierten Abschnitte einer einheitlichen Version entsprechen.",
    "about_sha256": "cbe672f81d248e79c90f9384b4d5a3ff311043f96a3b07b7eb8b4ede52d2cd43",
    "alias_of": null,
    "aliases": [],
    "author": "Voyage AI",
    "capabilities": {
      "context_length": 120000,
      "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": "Die vollständigen Preisangaben zur Konfiguration finden Sie in den Details."
      }
    ],
    "ctx": null,
    "display_name": "Voyage AI: Voyage Context 3",
    "formats": [
      "embeddings"
    ],
    "id": "voyage-context-3",
    "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": "Bewahren Sie die ursprüngliche Antwort und die X-Client-Request-ID für den Abgleich auf. Eine mehrdeutige Antwort ist keine Erlaubnis, denselben Erstellungsauftrag erneut zu übermitteln.",
              "unknown_no_replay": true
            },
            "outputs": {
              "all_results": "Speichern Sie die vollständige JSON-Antwort, jeden Vektor mit seinem Index, alle Felder mit Nutzungsdaten und die Anfrage-Header.",
              "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": "Verwenden Sie die exakte Modellauswahl von Ailoot.",
                "default_known": false,
                "enum": [
                  "voyage-context-3"
                ],
                "enum_known": true,
                "maximum_length": null,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "conditions": "Ein Text oder eine Liste von Texten; bewahren Sie für jedes zurückgegebene Datenelement einen Vektor und dessen Index auf.",
                "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-context-3"
                  ],
                  "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-context-3"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "conditions": [
              "Senden Sie Text mit dem ausgewählten Modell; bewahren Sie jeden zurückgegebenen Vektor und dessen Index auf."
            ],
            "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": "Token-Basistarife",
            "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-context-3\",\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": "Einbettungsvektoren",
        "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-context-3",
        "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-context-3",
        "request_model_id": "voyage-context-3",
        "route_label": "Ultra"
      }
    ],
    "name": "Voyage AI: Voyage Context 3",
    "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 Context 3 erzeugt für jeden Dokumentabschnitt einen Vektor und bezieht dabei den Kontext der anderen Abschnitte desselben Dokuments ein. Es unterstützt das präzise Finden von Passagen in langen Dokumenten mit wählbaren Dimensionen und quantisierten Embeddings.",
    "short_sha256": "ecf5347d318cafaa85e440415592285b9b3d6c51afeb2467a37418c7b94e3dd3"
  },
  "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 Context 3 erzeugt für jeden Dokumentabschnitt einen Vektor und bezieht dabei den Kontext der anderen Abschnitte desselben Dokuments ein. Es unterstützt das präzise Finden von Passagen in langen Dokumenten mit wählbaren Dimensionen und quantisierten Embeddings.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "7f808c4def7adb2b6d698ead0341d78953ece7da7b046338e44f11088f6d744b",
    "renderer_sha256": "76caa42c097db2ddc47d1e1e6fe7ca45c8363d7211296daf28e4352971e6c0c8"
  },
  "sourceRevision": "1384a929f3886be6ab1a8822203367db6b419b5d81e68b805828f5ecb725bdbb"
}
