{
  "aboutHtml": "<p>Codestral Embed 2505 ist das auf Code-Abruf spezialisierte Embedding-Modell von Mistral AI. Es erhält Text mit Quellcode oder einer natürlichsprachlichen Code-Anfrage und gibt numerische Vektoren zurück. Der Hersteller positioniert es für die Repository-Suche, den Kontextabruf für Coding-Assistenten, Ähnlichkeits- und Duplikatanalysen sowie die Gruppierung von Code nach Funktionalität oder Struktur. Die feste Release-Kennung lautet codestral-embed-2505.</p><p>Eingabe und Repräsentation</p><p>Eine Code-Eingabe kann eine Funktion, ein zusammengehöriges Quellfragment oder eine andere sinnvolle Einheit eines Repositorys sein. Eine natürlichsprachliche Anfrage kann das gesuchte Verhalten beschreiben, statt das genaue Symbol zu nennen. Das Embedding repräsentiert diese Eingabe für den Vergleich; das Modell erzeugt keine neue Implementierung und führt den erhaltenen Code nicht aus.</p><p>Das offizielle Release dokumentiert einen vollständigen Eingabekontext von 8’192 Token. Für den Abruf empfiehlt der Hersteller Chunks von etwa 3’000 Zeichen mit 1’000 Zeichen Überlappung und weist darauf hin, dass grössere Chunks den Abruf beeinträchtigen können. Dies sind Empfehlungen zur Vorbereitung des Abrufs, kein Token-Limit von 3’000 Zeichen. Halten Sie Datei, Symbol und Fundstelle im Quellcode mit jedem vorbereiteten Element verbunden, damit die Anwendung nach der Suche den relevanten Code zurückgeben kann.</p><p>Ausgabepräzision und Dimensionen</p><p>Der Leitfaden zu Code-Embeddings dokumentiert die Ausgabetypen float, int8, uint8, binary und ubinary. Der Typ float verwendet 32-Bit-Werte mit einfacher Genauigkeit. Der Typ int8 verwendet vorzeichenbehaftete 8-Bit-Ganzzahlen von -128 bis 127, uint8 dagegen vorzeichenlose 8-Bit-Werte von 0 bis 255. Die Typen binary und ubinary speichern quantisierte Einzelbit-Werte in gepackten 8-Bit-Elementen, jeweils in vorzeichenbehafteten bzw. vorzeichenlosen Containern.</p><p>Eine bitgepackte Repräsentation verändert die Länge der zurückgegebenen Liste: Der Leitfaden beschreibt ein gepacktes Element je acht logische Embedding-Dimensionen. Ein formatbewusster Vergleich unterscheidet sich daher davon, die gepackten Bytes als gewöhnliche Gleitkomma-Koordinaten zu behandeln. Bewahren Sie den gewählten Typ zusammen mit dem Vektor auf und verwenden Sie für indexierten Code und dessen Anfrage dieselbe Repräsentation.</p><p>Die Parameterdokumentation nennt eine Standarddimension von 1’536 und ein Maximum von 3’072. Die Dimensionen sind nach Relevanz geordnet, und der Hersteller beschreibt das Beibehalten der ersten gewählten Anzahl als Möglichkeit, die Grösse der Repräsentation festzulegen. Wählen Sie die Dimension für die gespeicherte Sammlung und neue Anfragen einheitlich. Eine kürzere oder quantisierte Repräsentation verändert Speicherbedarf und Vergleichsverhalten; sie vergrössert nicht den Eingabekontext und macht das Modell nicht zu einem Codegenerator.</p><p>Abrufgestütztes Programmieren</p><p>Der erste Anwendungsfall des Releases ist der Abruf von Kontext für Code-Vervollständigung, Bearbeitung oder Erklärung. Bereiten Sie sinnvolle Code-Einheiten vor und bewahren Sie die Repository-Revision und die Quellkennungen auf. Eine Frage dazu, wie ein bestimmter Fehler behandelt wird, kann zugehörige Funktionen abrufen, die die Anwendung dann zusammen mit der eigentlichen Änderungsanfrage an ein Coding-Modell übergibt.</p><p>Ein praktisches Ergebnis ist eine gerankte Menge von Quellcode-Snippets mit Dateipfaden, Symbolen und dem Inhalt, der zum Verständnis ihres Verhaltens nötig ist. Die abgerufenen Snippets können von einem Entwickler geöffnet oder an einen Assistenten übergeben werden. Codestral Embed übernimmt den Repräsentationsschritt; eine separate Komponente wählt die Ergebnisse aus, und ein gegebenenfalls eingesetztes Generierungsmodell verfasst die Erklärung oder den vorgeschlagenen Code.</p><p>Semantische Suche und Ähnlichkeit</p><p>Der Hersteller beschreibt die Codesuche mit natürlichsprachlichen oder Code-Anfragen. Ein Entwickler kann nach der Implementierung eines Verhaltens fragen, auch wenn der Funktionsname von der Formulierung der Anfrage abweicht. Nennen Sie das Verhalten und die Bedingungen, die die gesuchte Implementierung unterscheiden; eine allgemeine Anfrage zu einem ganzen Subsystem kann verwandtes Material abrufen, ohne die konkrete Frage zu klären.</p><p>Das Release beschreibt ausserdem das Auffinden von nahezu doppeltem oder funktional ähnlichem Code trotz lexikalischer Unterschiede. Solche Ergebnisse helfen, eine wiederverwendbare Implementierung zu finden oder Code zu erkennen, der weiter geprüft werden sollte. Ähnlichkeit im Embedding-Raum ist ein Signal, die Quelle zu prüfen; sie belegt nicht, dass sich zwei Fragmente bei jeder Eingabe identisch verhalten.</p><p>Clustering, Analysen und Vergleich</p><p>Code-Embeddings lassen sich nutzen, um Code nach Funktionalität oder Struktur zu gruppieren und die Zusammensetzung eines Repositorys zu untersuchen. Halten Sie die ursprünglichen Snippets und Kennungen verfügbar, damit eine Gruppe von einer Person oder einem späteren Anwendungsschritt interpretiert werden kann. Ein Cluster ist eine repräsentationsbasierte Gruppierung, keine automatisch verifizierte Architekturbeschreibung.</p><p>Die Gleitkomma-Beispiele des Herstellers verwenden auf Einheitslänge normalisierte Embeddings, für die Kosinus-Ähnlichkeit, Skalarprodukt und euklidischer Abstand übereinstimmende Rangfolgen ergeben. Quantisierte und bitgepackte Ausgaben sollten ihre eigene Formatbehandlung behalten, statt Annahmen über rohe Gleitkomma-Koordinaten zu übernehmen. Der veröffentlichte Endpoint behält ausserdem Eingabeindizes bei und hilft so, die Verbindung zwischen jedem Vektor und seinem Quellelement zu bewahren.</p><p>Edition und praktische Grenzen</p><p>Die Seite des genauen Modells führt Embedding- und Batch-Workflows mit einer Kontextangabe von 8k auf, während das Release den Wert von 8’192 Token nennt. Behalten Sie die benannte Edition 2505, die gewählte Ausgabedimension und den Typ im gesamten Workflow für Sammlung und Anfragen bei. Es handelt sich um codeorientierte Vektorausgabe, die sich von der Textvervollständigung von Codestral und vom Textmodell Mistral Embed mit fester Dimension unterscheidet.</p><p>Bereiten Sie Code-Einheiten vor, die das relevante Verhalten enthalten, bewahren Sie ihre Fundstellen im Quellcode und formulieren Sie die Frage, die die Suche beantworten soll. Das nützliche Artefakt ist eine abrufbare Repräsentation, die an tatsächlichen Code gebunden ist und den nächsten Schritt – Erklärung, Bearbeitung oder Prüfung durch einen Entwickler – unterstützt, ohne diesen Schritt selbst auszuführen.</p>",
  "aboutText": "Codestral Embed 2505 ist das auf Code-Abruf spezialisierte Embedding-Modell von Mistral AI. Es erhält Text mit Quellcode oder einer natürlichsprachlichen Code-Anfrage und gibt numerische Vektoren zurück. Der Hersteller positioniert es für die Repository-Suche, den Kontextabruf für Coding-Assistenten, Ähnlichkeits- und Duplikatanalysen sowie die Gruppierung von Code nach Funktionalität oder Struktur. Die feste Release-Kennung lautet codestral-embed-2505.\n\nEingabe und Repräsentation\n\nEine Code-Eingabe kann eine Funktion, ein zusammengehöriges Quellfragment oder eine andere sinnvolle Einheit eines Repositorys sein. Eine natürlichsprachliche Anfrage kann das gesuchte Verhalten beschreiben, statt das genaue Symbol zu nennen. Das Embedding repräsentiert diese Eingabe für den Vergleich; das Modell erzeugt keine neue Implementierung und führt den erhaltenen Code nicht aus.\n\nDas offizielle Release dokumentiert einen vollständigen Eingabekontext von 8’192 Token. Für den Abruf empfiehlt der Hersteller Chunks von etwa 3’000 Zeichen mit 1’000 Zeichen Überlappung und weist darauf hin, dass grössere Chunks den Abruf beeinträchtigen können. Dies sind Empfehlungen zur Vorbereitung des Abrufs, kein Token-Limit von 3’000 Zeichen. Halten Sie Datei, Symbol und Fundstelle im Quellcode mit jedem vorbereiteten Element verbunden, damit die Anwendung nach der Suche den relevanten Code zurückgeben kann.\n\nAusgabepräzision und Dimensionen\n\nDer Leitfaden zu Code-Embeddings dokumentiert die Ausgabetypen float, int8, uint8, binary und ubinary. Der Typ float verwendet 32-Bit-Werte mit einfacher Genauigkeit. Der Typ int8 verwendet vorzeichenbehaftete 8-Bit-Ganzzahlen von -128 bis 127, uint8 dagegen vorzeichenlose 8-Bit-Werte von 0 bis 255. Die Typen binary und ubinary speichern quantisierte Einzelbit-Werte in gepackten 8-Bit-Elementen, jeweils in vorzeichenbehafteten bzw. vorzeichenlosen Containern.\n\nEine bitgepackte Repräsentation verändert die Länge der zurückgegebenen Liste: Der Leitfaden beschreibt ein gepacktes Element je acht logische Embedding-Dimensionen. Ein formatbewusster Vergleich unterscheidet sich daher davon, die gepackten Bytes als gewöhnliche Gleitkomma-Koordinaten zu behandeln. Bewahren Sie den gewählten Typ zusammen mit dem Vektor auf und verwenden Sie für indexierten Code und dessen Anfrage dieselbe Repräsentation.\n\nDie Parameterdokumentation nennt eine Standarddimension von 1’536 und ein Maximum von 3’072. Die Dimensionen sind nach Relevanz geordnet, und der Hersteller beschreibt das Beibehalten der ersten gewählten Anzahl als Möglichkeit, die Grösse der Repräsentation festzulegen. Wählen Sie die Dimension für die gespeicherte Sammlung und neue Anfragen einheitlich. Eine kürzere oder quantisierte Repräsentation verändert Speicherbedarf und Vergleichsverhalten; sie vergrössert nicht den Eingabekontext und macht das Modell nicht zu einem Codegenerator.\n\nAbrufgestütztes Programmieren\n\nDer erste Anwendungsfall des Releases ist der Abruf von Kontext für Code-Vervollständigung, Bearbeitung oder Erklärung. Bereiten Sie sinnvolle Code-Einheiten vor und bewahren Sie die Repository-Revision und die Quellkennungen auf. Eine Frage dazu, wie ein bestimmter Fehler behandelt wird, kann zugehörige Funktionen abrufen, die die Anwendung dann zusammen mit der eigentlichen Änderungsanfrage an ein Coding-Modell übergibt.\n\nEin praktisches Ergebnis ist eine gerankte Menge von Quellcode-Snippets mit Dateipfaden, Symbolen und dem Inhalt, der zum Verständnis ihres Verhaltens nötig ist. Die abgerufenen Snippets können von einem Entwickler geöffnet oder an einen Assistenten übergeben werden. Codestral Embed übernimmt den Repräsentationsschritt; eine separate Komponente wählt die Ergebnisse aus, und ein gegebenenfalls eingesetztes Generierungsmodell verfasst die Erklärung oder den vorgeschlagenen Code.\n\nSemantische Suche und Ähnlichkeit\n\nDer Hersteller beschreibt die Codesuche mit natürlichsprachlichen oder Code-Anfragen. Ein Entwickler kann nach der Implementierung eines Verhaltens fragen, auch wenn der Funktionsname von der Formulierung der Anfrage abweicht. Nennen Sie das Verhalten und die Bedingungen, die die gesuchte Implementierung unterscheiden; eine allgemeine Anfrage zu einem ganzen Subsystem kann verwandtes Material abrufen, ohne die konkrete Frage zu klären.\n\nDas Release beschreibt ausserdem das Auffinden von nahezu doppeltem oder funktional ähnlichem Code trotz lexikalischer Unterschiede. Solche Ergebnisse helfen, eine wiederverwendbare Implementierung zu finden oder Code zu erkennen, der weiter geprüft werden sollte. Ähnlichkeit im Embedding-Raum ist ein Signal, die Quelle zu prüfen; sie belegt nicht, dass sich zwei Fragmente bei jeder Eingabe identisch verhalten.\n\nClustering, Analysen und Vergleich\n\nCode-Embeddings lassen sich nutzen, um Code nach Funktionalität oder Struktur zu gruppieren und die Zusammensetzung eines Repositorys zu untersuchen. Halten Sie die ursprünglichen Snippets und Kennungen verfügbar, damit eine Gruppe von einer Person oder einem späteren Anwendungsschritt interpretiert werden kann. Ein Cluster ist eine repräsentationsbasierte Gruppierung, keine automatisch verifizierte Architekturbeschreibung.\n\nDie Gleitkomma-Beispiele des Herstellers verwenden auf Einheitslänge normalisierte Embeddings, für die Kosinus-Ähnlichkeit, Skalarprodukt und euklidischer Abstand übereinstimmende Rangfolgen ergeben. Quantisierte und bitgepackte Ausgaben sollten ihre eigene Formatbehandlung behalten, statt Annahmen über rohe Gleitkomma-Koordinaten zu übernehmen. Der veröffentlichte Endpoint behält ausserdem Eingabeindizes bei und hilft so, die Verbindung zwischen jedem Vektor und seinem Quellelement zu bewahren.\n\nEdition und praktische Grenzen\n\nDie Seite des genauen Modells führt Embedding- und Batch-Workflows mit einer Kontextangabe von 8k auf, während das Release den Wert von 8’192 Token nennt. Behalten Sie die benannte Edition 2505, die gewählte Ausgabedimension und den Typ im gesamten Workflow für Sammlung und Anfragen bei. Es handelt sich um codeorientierte Vektorausgabe, die sich von der Textvervollständigung von Codestral und vom Textmodell Mistral Embed mit fester Dimension unterscheidet.\n\nBereiten Sie Code-Einheiten vor, die das relevante Verhalten enthalten, bewahren Sie ihre Fundstellen im Quellcode und formulieren Sie die Frage, die die Suche beantworten soll. Das nützliche Artefakt ist eine abrufbare Repräsentation, die an tatsächlichen Code gebunden ist und den nächsten Schritt – Erklärung, Bearbeitung oder Prüfung durch einen Entwickler – unterstützt, ohne diesen Schritt selbst auszuführen.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "1ffc05db1808e8097c73c5adf7335aab0b00692ca3848c2fdbca091dd157ef67",
    "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\">Mistral: Codestral Embed 2505</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Schliessen\">×</button></div><div class=\"idline\"><span>Mistral /</span><code>mistralai/codestral-embed-2505</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|mistralai%2Fcodestral-embed-2505\">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\">Codestral Embed 2505 stellt Code und natürlichsprachliche Anfragen als Vektoren für die Repository-Suche und den Abruf für Coding-Assistenten dar. Der Hersteller dokumentiert einen Kontext von 8’192 Token, konfigurierbare Dimensionen bis 3’072 sowie Ausgabeformate als Gleitkommazahl, Ganzzahl oder bitgepackt.</p><dl class=\"card-io\" data-card-io><div><dt>Zulässige Eingaben</dt><dd>Text · token_ids</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>Codestral Embed 2505 ist das auf Code-Abruf spezialisierte Embedding-Modell von Mistral AI. Es erhält Text mit Quellcode oder einer natürlichsprachlichen Code-Anfrage und gibt numerische Vektoren zurück. Der Hersteller positioniert es für die Repository-Suche, den Kontextabruf für Coding-Assistenten, Ähnlichkeits- und Duplikatanalysen sowie die Gruppierung von Code nach Funktionalität oder Struktur. Die feste Release-Kennung lautet codestral-embed-2505.</p><p>Eingabe und Repräsentation</p><p>Eine Code-Eingabe kann eine Funktion, ein zusammengehöriges Quellfragment oder eine andere sinnvolle Einheit eines Repositorys sein. Eine natürlichsprachliche Anfrage kann das gesuchte Verhalten beschreiben, statt das genaue Symbol zu nennen. Das Embedding repräsentiert diese Eingabe für den Vergleich; das Modell erzeugt keine neue Implementierung und führt den erhaltenen Code nicht aus.</p><p>Das offizielle Release dokumentiert einen vollständigen Eingabekontext von 8’192 Token. Für den Abruf empfiehlt der Hersteller Chunks von etwa 3’000 Zeichen mit 1’000 Zeichen Überlappung und weist darauf hin, dass grössere Chunks den Abruf beeinträchtigen können. Dies sind Empfehlungen zur Vorbereitung des Abrufs, kein Token-Limit von 3’000 Zeichen. Halten Sie Datei, Symbol und Fundstelle im Quellcode mit jedem vorbereiteten Element verbunden, damit die Anwendung nach der Suche den relevanten Code zurückgeben kann.</p><p>Ausgabepräzision und Dimensionen</p><p>Der Leitfaden zu Code-Embeddings dokumentiert die Ausgabetypen float, int8, uint8, binary und ubinary. Der Typ float verwendet 32-Bit-Werte mit einfacher Genauigkeit. Der Typ int8 verwendet vorzeichenbehaftete 8-Bit-Ganzzahlen von -128 bis 127, uint8 dagegen vorzeichenlose 8-Bit-Werte von 0 bis 255. Die Typen binary und ubinary speichern quantisierte Einzelbit-Werte in gepackten 8-Bit-Elementen, jeweils in vorzeichenbehafteten bzw. vorzeichenlosen Containern.</p><p>Eine bitgepackte Repräsentation verändert die Länge der zurückgegebenen Liste: Der Leitfaden beschreibt ein gepacktes Element je acht logische Embedding-Dimensionen. Ein formatbewusster Vergleich unterscheidet sich daher davon, die gepackten Bytes als gewöhnliche Gleitkomma-Koordinaten zu behandeln. Bewahren Sie den gewählten Typ zusammen mit dem Vektor auf und verwenden Sie für indexierten Code und dessen Anfrage dieselbe Repräsentation.</p><p>Die Parameterdokumentation nennt eine Standarddimension von 1’536 und ein Maximum von 3’072. Die Dimensionen sind nach Relevanz geordnet, und der Hersteller beschreibt das Beibehalten der ersten gewählten Anzahl als Möglichkeit, die Grösse der Repräsentation festzulegen. Wählen Sie die Dimension für die gespeicherte Sammlung und neue Anfragen einheitlich. Eine kürzere oder quantisierte Repräsentation verändert Speicherbedarf und Vergleichsverhalten; sie vergrössert nicht den Eingabekontext und macht das Modell nicht zu einem Codegenerator.</p><p>Abrufgestütztes Programmieren</p><p>Der erste Anwendungsfall des Releases ist der Abruf von Kontext für Code-Vervollständigung, Bearbeitung oder Erklärung. Bereiten Sie sinnvolle Code-Einheiten vor und bewahren Sie die Repository-Revision und die Quellkennungen auf. Eine Frage dazu, wie ein bestimmter Fehler behandelt wird, kann zugehörige Funktionen abrufen, die die Anwendung dann zusammen mit der eigentlichen Änderungsanfrage an ein Coding-Modell übergibt.</p><p>Ein praktisches Ergebnis ist eine gerankte Menge von Quellcode-Snippets mit Dateipfaden, Symbolen und dem Inhalt, der zum Verständnis ihres Verhaltens nötig ist. Die abgerufenen Snippets können von einem Entwickler geöffnet oder an einen Assistenten übergeben werden. Codestral Embed übernimmt den Repräsentationsschritt; eine separate Komponente wählt die Ergebnisse aus, und ein gegebenenfalls eingesetztes Generierungsmodell verfasst die Erklärung oder den vorgeschlagenen Code.</p><p>Semantische Suche und Ähnlichkeit</p><p>Der Hersteller beschreibt die Codesuche mit natürlichsprachlichen oder Code-Anfragen. Ein Entwickler kann nach der Implementierung eines Verhaltens fragen, auch wenn der Funktionsname von der Formulierung der Anfrage abweicht. Nennen Sie das Verhalten und die Bedingungen, die die gesuchte Implementierung unterscheiden; eine allgemeine Anfrage zu einem ganzen Subsystem kann verwandtes Material abrufen, ohne die konkrete Frage zu klären.</p><p>Das Release beschreibt ausserdem das Auffinden von nahezu doppeltem oder funktional ähnlichem Code trotz lexikalischer Unterschiede. Solche Ergebnisse helfen, eine wiederverwendbare Implementierung zu finden oder Code zu erkennen, der weiter geprüft werden sollte. Ähnlichkeit im Embedding-Raum ist ein Signal, die Quelle zu prüfen; sie belegt nicht, dass sich zwei Fragmente bei jeder Eingabe identisch verhalten.</p><p>Clustering, Analysen und Vergleich</p><p>Code-Embeddings lassen sich nutzen, um Code nach Funktionalität oder Struktur zu gruppieren und die Zusammensetzung eines Repositorys zu untersuchen. Halten Sie die ursprünglichen Snippets und Kennungen verfügbar, damit eine Gruppe von einer Person oder einem späteren Anwendungsschritt interpretiert werden kann. Ein Cluster ist eine repräsentationsbasierte Gruppierung, keine automatisch verifizierte Architekturbeschreibung.</p><p>Die Gleitkomma-Beispiele des Herstellers verwenden auf Einheitslänge normalisierte Embeddings, für die Kosinus-Ähnlichkeit, Skalarprodukt und euklidischer Abstand übereinstimmende Rangfolgen ergeben. Quantisierte und bitgepackte Ausgaben sollten ihre eigene Formatbehandlung behalten, statt Annahmen über rohe Gleitkomma-Koordinaten zu übernehmen. Der veröffentlichte Endpoint behält ausserdem Eingabeindizes bei und hilft so, die Verbindung zwischen jedem Vektor und seinem Quellelement zu bewahren.</p><p>Edition und praktische Grenzen</p><p>Die Seite des genauen Modells führt Embedding- und Batch-Workflows mit einer Kontextangabe von 8k auf, während das Release den Wert von 8’192 Token nennt. Behalten Sie die benannte Edition 2505, die gewählte Ausgabedimension und den Typ im gesamten Workflow für Sammlung und Anfragen bei. Es handelt sich um codeorientierte Vektorausgabe, die sich von der Textvervollständigung von Codestral und vom Textmodell Mistral Embed mit fester Dimension unterscheidet.</p><p>Bereiten Sie Code-Einheiten vor, die das relevante Verhalten enthalten, bewahren Sie ihre Fundstellen im Quellcode und formulieren Sie die Frage, die die Suche beantworten soll. Das nützliche Artefakt ist eine abrufbare Repräsentation, die an tatsächlichen Code gebunden ist und den nächsten Schritt – Erklärung, Bearbeitung oder Prüfung durch einen Entwickler – unterstützt, ohne diesen Schritt selbst auszuführen.</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 · Embeddings</b> <code>POST /v1/embeddings</code></summary><dl class=\"method-capabilities\"><div><dt>Eingabe</dt><dd><code>text</code>, <code>token_ids</code></dd></div><div><dt>Ausgabe</dt><dd><code>embedding</code></dd></div><div><dt>Kontext</dt><dd>8'192 tokens</dd></div><div><dt>Ausgabeformat</dt><dd>json</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 data-parameter-availability=\"source_interface\"><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>mistralai/codestral-embed-2505</div></td><td data-cell-label=\"Standard\" data-default=\"unspecified\"><span class=\"card-cell-label\">Standard</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><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|string[]|integer[]|integer[][]</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>Mindestanzahl Elemente: 1</div><div>Bedingungen: Nicht leerer, homogener Batch. Token-IDs sind nichtnegative Ganzzahlen.</div><div>Eingabebudget: Maximum: 8'192 · Texteinheit: UTF8-Bytes · Tokeneinheit: Elemente des Token-Arrays</div></td><td data-cell-label=\"Standard\" data-default=\"unspecified\"><span class=\"card-cell-label\">Standard</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Feld\" scope=\"row\"><span class=\"card-cell-label\">Feld</span><code class=\"card-field-name\">encoding_format</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>Optional</td><td data-cell-label=\"Werte und Limits\"><span class=\"card-cell-label\">Werte und Limits</span><div>float</div></td><td data-cell-label=\"Standard\" data-default=\"known\"><span class=\"card-cell-label\">Standard</span>float</td></tr><tr data-parameter-availability=\"unsupported\"><th data-cell-label=\"Feld\" scope=\"row\"><span class=\"card-cell-label\">Feld</span><code class=\"card-field-name\">dimensions</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span><code>integer</code></td><td data-cell-label=\"Anforderung\"><span class=\"card-cell-label\">Anforderung</span>Nicht unterstützt</td><td data-cell-label=\"Werte und Limits\"><span class=\"card-cell-label\">Werte und Limits</span><div>Minimum: 1</div></td><td data-cell-label=\"Standard\" data-default=\"unspecified\"><span class=\"card-cell-label\">Standard</span>—</td></tr><tr data-parameter-availability=\"pass_through_metadata\"><th data-cell-label=\"Feld\" scope=\"row\"><span class=\"card-cell-label\">Feld</span><code class=\"card-field-name\">user</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span><code>json_value</code></td><td data-cell-label=\"Anforderung\"><span class=\"card-cell-label\">Anforderung</span>Optional</td><td data-cell-label=\"Werte und Limits\"><span class=\"card-cell-label\">Werte und Limits</span><div>Bedingungen: Der Quellcode erlaubt dieses JSON-Metadatenfeld; die genaue Semantik beim vorgelagerten Anbieter ist modellspezifisch.</div></td><td data-cell-label=\"Standard\" data-default=\"unspecified\"><span class=\"card-cell-label\">Standard</span>—</td></tr><tr data-parameter-availability=\"pass_through_metadata\"><th data-cell-label=\"Feld\" scope=\"row\"><span class=\"card-cell-label\">Feld</span><code class=\"card-field-name\">session_id</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span><code>json_value</code></td><td data-cell-label=\"Anforderung\"><span class=\"card-cell-label\">Anforderung</span>Optional</td><td data-cell-label=\"Werte und Limits\"><span class=\"card-cell-label\">Werte und Limits</span><div>Bedingungen: Der Quellcode erlaubt dieses JSON-Metadatenfeld; die genaue Semantik beim vorgelagerten Anbieter ist modellspezifisch.</div></td><td data-cell-label=\"Standard\" data-default=\"unspecified\"><span class=\"card-cell-label\">Standard</span>—</td></tr><tr data-parameter-availability=\"pass_through_metadata\"><th data-cell-label=\"Feld\" scope=\"row\"><span class=\"card-cell-label\">Feld</span><code class=\"card-field-name\">trace</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span><code>json_value</code></td><td data-cell-label=\"Anforderung\"><span class=\"card-cell-label\">Anforderung</span>Optional</td><td data-cell-label=\"Werte und Limits\"><span class=\"card-cell-label\">Werte und Limits</span><div>Bedingungen: Der Quellcode erlaubt dieses JSON-Metadatenfeld; die genaue Semantik beim vorgelagerten Anbieter ist modellspezifisch.</div></td><td data-cell-label=\"Standard\" data-default=\"unspecified\"><span class=\"card-cell-label\">Standard</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Feld\" scope=\"row\"><span class=\"card-cell-label\">Feld</span><code class=\"card-field-name\">provider</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span><code>object</code></td><td data-cell-label=\"Anforderung\"><span class=\"card-cell-label\">Anforderung</span>Optional</td><td data-cell-label=\"Werte und Limits\"><span class=\"card-cell-label\">Werte und Limits</span><div>Bedingungen: provider.options abgelehnt</div></td><td data-cell-label=\"Standard\" data-default=\"unspecified\"><span class=\"card-cell-label\">Standard</span>—</td></tr></tbody></table></div><details class=\"card-about\" data-material-combinations><summary>Kombinationen von Eingabematerialien</summary><p class=\"note-s\"><b>text_to_embedding</b></p></details><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>input_shapes</code></th><td data-cell-label=\"Vertrag\"><span class=\"card-cell-label\">Vertrag</span>string, string[], nonnegative_integer_token_array, nonnegative_integer_token_array[]</td></tr><tr><th data-cell-label=\"Parameter\" scope=\"row\"><span class=\"card-cell-label\">Parameter</span><code>encoding_format</code></th><td data-cell-label=\"Vertrag\"><span class=\"card-cell-label\">Vertrag</span>float</td></tr><tr><th data-cell-label=\"Parameter\" scope=\"row\"><span class=\"card-cell-label\">Parameter</span><code>dimensions_override</code></th><td data-cell-label=\"Vertrag\"><span class=\"card-cell-label\">Vertrag</span>false</td></tr><tr><th data-cell-label=\"Parameter\" scope=\"row\"><span class=\"card-cell-label\">Parameter</span><code>max_input_budget_units</code></th><td data-cell-label=\"Vertrag\"><span class=\"card-cell-label\">Vertrag</span>8192</td></tr><tr><th data-cell-label=\"Parameter\" scope=\"row\"><span class=\"card-cell-label\">Parameter</span><code>multimodal_objects</code></th><td data-cell-label=\"Vertrag\"><span class=\"card-cell-label\">Vertrag</span>false</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, token_ids</td></tr></tbody></table></div><p>Lebenszyklus: <code>synchronous_json</code></p><p class=\"note-s\">Jeden Vektorindex und jede Dimension beibehalten.</p><p class=\"note-s\">Ein multimodaler Modellname erlaubt auf genau diesem Pfad keine Bildobjekte.</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>Standardtarif <span class=\"note-s\">Wenn der Schnellmodus ausgewählt ist</span></dd><dt>Flex-Modus</dt><dd>Standardtarif <span class=\"note-s\">Wenn der Modus flex ausgewählt ist</span></dd><dt>Maximaler Denkaufwand</dt><dd>Standardtarif <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>Basistarife für Token</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.0003</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 · Embeddings</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-1892-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1892-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl</button><button class=\"cg-tab\" id=\"model-code-1892-tab-1\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1892-panel-1\" aria-selected=\"false\" tabindex=\"-1\">Python SDK</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-1892-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1892-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\np=json.loads(&#39;{&quot;model&quot;: &quot;mistralai/codestral-embed-2505&quot;, &quot;input&quot;: [&quot;First document&quot;, &quot;Second document&quot;]}&#39;)\n\nPath(&quot;request.json&quot;).write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/embeddings \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -H &#39;Content-Type: application/json&#39; \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - &lt;&lt;&#39;PY_RESULT&#39;\nimport json\nfrom pathlib import Path\nr=json.loads(Path(&quot;result.json&quot;).read_text())\nfor x in r.get(&quot;data&quot;,[]): print(json.dumps({&quot;index&quot;:x.get(&quot;index&quot;),&quot;embedding&quot;:x.get(&quot;embedding&quot;)}))\nPY_RESULT\n</code></pre></div><div class=\"cg-pane\" id=\"model-code-1892-panel-1\" role=\"tabpanel\" aria-labelledby=\"model-code-1892-tab-1\" hidden><pre data-lang=\"python\"><code>from openai import OpenAI\nimport os\n\nclient=OpenAI(base_url=&quot;https://api.ailoot.ai/v1&quot;,api_key=os.environ[&quot;AILOOT_API_KEY&quot;],max_retries=0)\nresult=client.embeddings.create(model=&#39;mistralai/codestral-embed-2505&#39;,input=[&quot;First document&quot;,&quot;Second document&quot;])\nprint(result)\nfor item in result.data:print(item.index,item.embedding)\n</code></pre></div></div></div></section><section class=\"card-section\" data-card-section=\"results\"><h3 tabindex=\"-1\">Ergebnisse abrufen und speichern</h3><h4>Ailoot Ultra · Embeddings</h4><p class=\"note-s\">json</p><div class=\"card-result-process\" data-all-results><h5>Alle fertiggestellten Ergebnisse aufbewahren</h5><p class=\"note-s\">Bewahren Sie jede vollständig zurückgegebene Antwort, Datei und jeden Inhaltsteil auf.</p><p class=\"note-s\">Jeden Vektor mit seinem Index beibehalten. Die Anzahl der Vektoren muss der Anzahl der Eingaben entsprechen; die Dimensionen müssen konsistent sein.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>Wenn die ursprüngliche Antwort geprüft werden muss</h5><p class=\"note-s\">Es wird kein Endpunkt für Embedding-Aufträge eingeführt.</p></div><details class=\"card-about\" data-output-fields><summary>Antwortfelder</summary><div class=\"tw\" data-card-table=\"output\"><table><thead><tr><th>Feld</th><th>Typ</th></tr></thead><tbody><tr><th data-cell-label=\"Feld\" scope=\"row\"><span class=\"card-cell-label\">Feld</span><code class=\"card-field-name\">object</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span>string</td></tr><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>string</td></tr><tr><th data-cell-label=\"Feld\" scope=\"row\"><span class=\"card-cell-label\">Feld</span><code class=\"card-field-name\">data[].index</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span>integer</td></tr><tr><th data-cell-label=\"Feld\" scope=\"row\"><span class=\"card-cell-label\">Feld</span><code class=\"card-field-name\">data[].embedding</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span>finite float[]</td></tr><tr><th data-cell-label=\"Feld\" scope=\"row\"><span class=\"card-cell-label\">Feld</span><code class=\"card-field-name\">usage</code></th><td data-cell-label=\"Typ\" data-field-type><span class=\"card-cell-label\">Typ</span>object</td></tr></tbody></table></div></details><details class=\"card-about\" data-method-errors><summary>Fehler und nächste Schritte</summary><div class=\"tw\" data-card-table=\"errors\"><table><thead><tr><th>Antwort</th><th>Bedingung</th><th>Nächster Schritt</th></tr></thead><tbody><tr><th data-cell-label=\"Antwort\" scope=\"row\"><span class=\"card-cell-label\">Antwort</span>400 · <code>invalid_request_error</code></th><td data-cell-label=\"Bedingung\"><span class=\"card-cell-label\">Bedingung</span>Pflichtfelder, Darstellung des Eingabematerials oder Parameterwert ungültig</td><td data-cell-label=\"Nächster Schritt\"><span class=\"card-cell-label\">Nächster Schritt</span>Die angegebenen Felder vor einer neuen Erstellungsanfrage korrigieren.</td></tr></tbody></table></div></details></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=mistralai%2Fcodestral-embed-2505&amp;route=Ultra&amp;caller=mistralai%2Fcodestral-embed-2505&amp;fmt=embeddings\"><code>mistralai/codestral-embed-2505</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=mistralai%2Fcodestral-embed-2505&amp;route=Ultra&amp;caller=mistralai%2Fcodestral-embed-2505&amp;fmt=embeddings\"><code>mistralai/codestral-embed-2505</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "mistralai/codestral-embed-2505",
        "fmt": "embeddings",
        "http": "POST",
        "path": "/v1/embeddings",
        "request_model_id": "mistralai/codestral-embed-2505",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|embeddings|/v1/embeddings|mistralai%2Fcodestral-embed-2505",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Keep every vector with its index. Vector count must equal input count; dimensions must be consistent.",
            "errors": [
              {
                "code": null,
                "condition": "Pflichtfelder, Darstellung des Eingabematerials oder Parameterwert ungültig",
                "http_status": 400,
                "recovery": "Die angegebenen Felder vor einer neuen Erstellungsanfrage korrigieren.",
                "type": "invalid_request_error"
              }
            ],
            "hints": [],
            "ignored_fields": [],
            "lifecycle": {
              "create": {
                "http": "POST",
                "path": "/v1/embeddings"
              },
              "job_read": null,
              "mode": "synchronous_json",
              "unknown": "Es wird kein Endpunkt für Embedding-Aufträge eingeführt."
            },
            "material_combinations": [
              {
                "alternatives": [
                  "string",
                  "string[]",
                  "nonnegative_integer_token_array",
                  "nonnegative_integer_token_array[]"
                ],
                "mode": "text_to_embedding"
              }
            ],
            "operation_modes": [
              "single_embedding",
              "batched_embeddings"
            ],
            "outputs": {
              "all_results": "Jeden Vektor mit seinem Index beibehalten. Die Anzahl der Vektoren muss der Anzahl der Eingaben entsprechen; die Dimensionen müssen konsistent sein.",
              "default_dimensions": null,
              "family": "embedding",
              "fields": [
                {
                  "description": null,
                  "name": "object",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "model",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "data[].index",
                  "type": "integer"
                },
                {
                  "description": null,
                  "name": "data[].embedding",
                  "type": "finite float[]"
                },
                {
                  "description": null,
                  "name": "usage",
                  "type": "object"
                }
              ],
              "format": "json"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "mistralai/codestral-embed-2505"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "budget": {
                  "maximum": 8192,
                  "text_unit": "UTF8-Bytes",
                  "token_unit": "Elemente des Token-Arrays"
                },
                "conditions": "Nicht leerer, homogener Batch. Token-IDs sind nichtnegative Ganzzahlen.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "min_items": 1,
                "name": "input",
                "required": true,
                "type": "string|string[]|integer[]|integer[][]"
              },
              {
                "availability": "source_interface",
                "default": "float",
                "default_known": true,
                "enum": [
                  "float"
                ],
                "enum_known": true,
                "name": "encoding_format",
                "required": false,
                "type": "string"
              },
              {
                "availability": "unsupported",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "minimum": 1,
                "name": "dimensions",
                "required": false,
                "type": "integer"
              },
              {
                "availability": "pass_through_metadata",
                "conditions": "Der Quellcode erlaubt dieses JSON-Metadatenfeld; die genaue Semantik beim vorgelagerten Anbieter ist modellspezifisch.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "user",
                "required": false,
                "type": "json_value"
              },
              {
                "availability": "pass_through_metadata",
                "conditions": "Der Quellcode erlaubt dieses JSON-Metadatenfeld; die genaue Semantik beim vorgelagerten Anbieter ist modellspezifisch.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "session_id",
                "required": false,
                "type": "json_value"
              },
              {
                "availability": "pass_through_metadata",
                "conditions": "Der Quellcode erlaubt dieses JSON-Metadatenfeld; die genaue Semantik beim vorgelagerten Anbieter ist modellspezifisch.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "trace",
                "required": false,
                "type": "json_value"
              },
              {
                "availability": "source_interface",
                "conditions": "provider.options abgelehnt",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "provider",
                "required": false,
                "type": "object"
              }
            ],
            "profile_binding": "Exact existing Ailoot model and method; interface constraints below do not assert provider qualification.",
            "unsupported": [
              "mixed input kinds",
              "empty input",
              "image/audio/file objects",
              "encoding_format=base64",
              "dimensions override"
            ]
          },
          "hints": [
            "Jeden Vektorindex und jede Dimension beibehalten.",
            "Ein multimodaler Modellname erlaubt auf genau diesem Pfad keine Bildobjekte."
          ],
          "input": {
            "content_type": "application/json",
            "dimensions_override": false,
            "encoding_format": [
              "float"
            ],
            "input_shapes": [
              "string",
              "string[]",
              "nonnegative_integer_token_array",
              "nonnegative_integer_token_array[]"
            ],
            "material_types": [
              "text",
              "token_ids"
            ],
            "max_input_budget_units": 8192,
            "multimodal_objects": false,
            "required": [
              "model",
              "input"
            ]
          },
          "lifecycle": {
            "mode": "synchronous_json",
            "unknown": "no embedding job endpoint inferred"
          },
          "manufacturer_capability": null,
          "method": {
            "http": "POST",
            "path": "/v1/embeddings"
          },
          "method_aliases": [],
          "operation_modes": [
            "text_to_embedding"
          ],
          "output": {
            "default_dimensions": null,
            "family": "embedding",
            "format": "json",
            "http_success": 200,
            "vectors": "one dense float vector per input; indices/model/usage validated"
          }
        },
        "ctx": 8192,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Basistarife für Token",
            "units": [
              {
                "amount": "0.0003000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000003",
                "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}\"\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"mistralai/codestral-embed-2505\", \"input\": [\"First document\", \"Second document\"]}')\n\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/embeddings \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nr=json.loads(Path(\"result.json\").read_text())\nfor x in r.get(\"data\",[]): print(json.dumps({\"index\":x.get(\"index\"),\"embedding\":x.get(\"embedding\")}))\nPY_RESULT\n",
            "label": "curl · retained exact creation",
            "language": "bash"
          },
          {
            "code": "from openai import OpenAI\nimport os\n\nclient=OpenAI(base_url=\"https://api.ailoot.ai/v1\",api_key=os.environ[\"AILOOT_API_KEY\"],max_retries=0)\nresult=client.embeddings.create(model='mistralai/codestral-embed-2505',input=[\"First document\",\"Second document\"])\nprint(result)\nfor item in result.data:print(item.index,item.embedding)\n",
            "label": "Python SDK · all vectors",
            "language": "python"
          }
        ],
        "family": "openai",
        "fast_multiplier": 1,
        "flex_multiplier": 1,
        "fmt": "embeddings",
        "hints": [
          "Keep every vector index and dimension.",
          "Multimodal model name does not admit image objects on this exact path."
        ],
        "http": "POST",
        "in": 0.3,
        "input": [
          "text",
          "token_ids"
        ],
        "label": "Эмбеддинги",
        "max_out": null,
        "max_reasoning_effort_multiplier": 1,
        "method_aliases": [],
        "out": 0,
        "output": [
          "embedding"
        ],
        "path": "/v1/embeddings",
        "price_conditions": [
          {
            "label": "Schnellmodus",
            "value": "Standardtarif",
            "when": "Wenn der Schnellmodus ausgewählt ist"
          },
          {
            "label": "Flex-Modus",
            "value": "Standardtarif",
            "when": "Wenn der Modus flex ausgewählt ist"
          },
          {
            "label": "Maximaler Denkaufwand",
            "value": "Standardtarif",
            "when": "Wenn beim maximalen Denkaufwand die Standardanpassung (default) verwendet wird"
          }
        ],
        "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.0003000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000003",
                "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": "mistralai/codestral-embed-2505",
        "route_label": "Ultra",
        "status_reads": [],
        "tiers": [],
        "units": [
          {
            "amount": "0.0003000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.0000003",
            "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": "mistralai/codestral-embed-2505",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "063b6dd2216b466e4ad6ff9ecb1887e34e5345091a36f148aaf43cb6c2e0665b",
    "input_html_sha256": "4a029364595c5eaedd3e20d4f2221bb204feef01d01b658fc2c6f8d59edaefc6",
    "private_audit_sha256": "ac539d3a869943044eba32de8ede11acd78c395d2c372fb3ac7003c9323b0bf5",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/de-ch/mistralai-codestral-embed-2505/",
    "description": "Codestral Embed 2505 stellt Code und natürlichsprachliche Anfragen als Vektoren für die Repository-Suche und den Abruf für Coding-Assistenten dar. Der Hersteller dokumentiert einen Kontext von 8’192 Token, konfigurierbare Dimensionen bis 3’072 sowie Ausgabeformate als Gleitkommazahl, Ganzzahl oder bitgepackt.",
    "locale": "de-ch",
    "md_url": "https://ailoot.ai/models/de-ch/mistralai-codestral-embed-2505/index.md",
    "title": "Mistral: Codestral Embed 2505 — Ailoot",
    "url": "https://ailoot.ai/models/de-ch/mistralai-codestral-embed-2505/"
  },
  "rawModel": {
    "about": "Codestral Embed 2505 ist das auf Code-Abruf spezialisierte Embedding-Modell von Mistral AI. Es erhält Text mit Quellcode oder einer natürlichsprachlichen Code-Anfrage und gibt numerische Vektoren zurück. Der Hersteller positioniert es für die Repository-Suche, den Kontextabruf für Coding-Assistenten, Ähnlichkeits- und Duplikatanalysen sowie die Gruppierung von Code nach Funktionalität oder Struktur. Die feste Release-Kennung lautet codestral-embed-2505.\n\nEingabe und Repräsentation\n\nEine Code-Eingabe kann eine Funktion, ein zusammengehöriges Quellfragment oder eine andere sinnvolle Einheit eines Repositorys sein. Eine natürlichsprachliche Anfrage kann das gesuchte Verhalten beschreiben, statt das genaue Symbol zu nennen. Das Embedding repräsentiert diese Eingabe für den Vergleich; das Modell erzeugt keine neue Implementierung und führt den erhaltenen Code nicht aus.\n\nDas offizielle Release dokumentiert einen vollständigen Eingabekontext von 8’192 Token. Für den Abruf empfiehlt der Hersteller Chunks von etwa 3’000 Zeichen mit 1’000 Zeichen Überlappung und weist darauf hin, dass grössere Chunks den Abruf beeinträchtigen können. Dies sind Empfehlungen zur Vorbereitung des Abrufs, kein Token-Limit von 3’000 Zeichen. Halten Sie Datei, Symbol und Fundstelle im Quellcode mit jedem vorbereiteten Element verbunden, damit die Anwendung nach der Suche den relevanten Code zurückgeben kann.\n\nAusgabepräzision und Dimensionen\n\nDer Leitfaden zu Code-Embeddings dokumentiert die Ausgabetypen float, int8, uint8, binary und ubinary. Der Typ float verwendet 32-Bit-Werte mit einfacher Genauigkeit. Der Typ int8 verwendet vorzeichenbehaftete 8-Bit-Ganzzahlen von -128 bis 127, uint8 dagegen vorzeichenlose 8-Bit-Werte von 0 bis 255. Die Typen binary und ubinary speichern quantisierte Einzelbit-Werte in gepackten 8-Bit-Elementen, jeweils in vorzeichenbehafteten bzw. vorzeichenlosen Containern.\n\nEine bitgepackte Repräsentation verändert die Länge der zurückgegebenen Liste: Der Leitfaden beschreibt ein gepacktes Element je acht logische Embedding-Dimensionen. Ein formatbewusster Vergleich unterscheidet sich daher davon, die gepackten Bytes als gewöhnliche Gleitkomma-Koordinaten zu behandeln. Bewahren Sie den gewählten Typ zusammen mit dem Vektor auf und verwenden Sie für indexierten Code und dessen Anfrage dieselbe Repräsentation.\n\nDie Parameterdokumentation nennt eine Standarddimension von 1’536 und ein Maximum von 3’072. Die Dimensionen sind nach Relevanz geordnet, und der Hersteller beschreibt das Beibehalten der ersten gewählten Anzahl als Möglichkeit, die Grösse der Repräsentation festzulegen. Wählen Sie die Dimension für die gespeicherte Sammlung und neue Anfragen einheitlich. Eine kürzere oder quantisierte Repräsentation verändert Speicherbedarf und Vergleichsverhalten; sie vergrössert nicht den Eingabekontext und macht das Modell nicht zu einem Codegenerator.\n\nAbrufgestütztes Programmieren\n\nDer erste Anwendungsfall des Releases ist der Abruf von Kontext für Code-Vervollständigung, Bearbeitung oder Erklärung. Bereiten Sie sinnvolle Code-Einheiten vor und bewahren Sie die Repository-Revision und die Quellkennungen auf. Eine Frage dazu, wie ein bestimmter Fehler behandelt wird, kann zugehörige Funktionen abrufen, die die Anwendung dann zusammen mit der eigentlichen Änderungsanfrage an ein Coding-Modell übergibt.\n\nEin praktisches Ergebnis ist eine gerankte Menge von Quellcode-Snippets mit Dateipfaden, Symbolen und dem Inhalt, der zum Verständnis ihres Verhaltens nötig ist. Die abgerufenen Snippets können von einem Entwickler geöffnet oder an einen Assistenten übergeben werden. Codestral Embed übernimmt den Repräsentationsschritt; eine separate Komponente wählt die Ergebnisse aus, und ein gegebenenfalls eingesetztes Generierungsmodell verfasst die Erklärung oder den vorgeschlagenen Code.\n\nSemantische Suche und Ähnlichkeit\n\nDer Hersteller beschreibt die Codesuche mit natürlichsprachlichen oder Code-Anfragen. Ein Entwickler kann nach der Implementierung eines Verhaltens fragen, auch wenn der Funktionsname von der Formulierung der Anfrage abweicht. Nennen Sie das Verhalten und die Bedingungen, die die gesuchte Implementierung unterscheiden; eine allgemeine Anfrage zu einem ganzen Subsystem kann verwandtes Material abrufen, ohne die konkrete Frage zu klären.\n\nDas Release beschreibt ausserdem das Auffinden von nahezu doppeltem oder funktional ähnlichem Code trotz lexikalischer Unterschiede. Solche Ergebnisse helfen, eine wiederverwendbare Implementierung zu finden oder Code zu erkennen, der weiter geprüft werden sollte. Ähnlichkeit im Embedding-Raum ist ein Signal, die Quelle zu prüfen; sie belegt nicht, dass sich zwei Fragmente bei jeder Eingabe identisch verhalten.\n\nClustering, Analysen und Vergleich\n\nCode-Embeddings lassen sich nutzen, um Code nach Funktionalität oder Struktur zu gruppieren und die Zusammensetzung eines Repositorys zu untersuchen. Halten Sie die ursprünglichen Snippets und Kennungen verfügbar, damit eine Gruppe von einer Person oder einem späteren Anwendungsschritt interpretiert werden kann. Ein Cluster ist eine repräsentationsbasierte Gruppierung, keine automatisch verifizierte Architekturbeschreibung.\n\nDie Gleitkomma-Beispiele des Herstellers verwenden auf Einheitslänge normalisierte Embeddings, für die Kosinus-Ähnlichkeit, Skalarprodukt und euklidischer Abstand übereinstimmende Rangfolgen ergeben. Quantisierte und bitgepackte Ausgaben sollten ihre eigene Formatbehandlung behalten, statt Annahmen über rohe Gleitkomma-Koordinaten zu übernehmen. Der veröffentlichte Endpoint behält ausserdem Eingabeindizes bei und hilft so, die Verbindung zwischen jedem Vektor und seinem Quellelement zu bewahren.\n\nEdition und praktische Grenzen\n\nDie Seite des genauen Modells führt Embedding- und Batch-Workflows mit einer Kontextangabe von 8k auf, während das Release den Wert von 8’192 Token nennt. Behalten Sie die benannte Edition 2505, die gewählte Ausgabedimension und den Typ im gesamten Workflow für Sammlung und Anfragen bei. Es handelt sich um codeorientierte Vektorausgabe, die sich von der Textvervollständigung von Codestral und vom Textmodell Mistral Embed mit fester Dimension unterscheidet.\n\nBereiten Sie Code-Einheiten vor, die das relevante Verhalten enthalten, bewahren Sie ihre Fundstellen im Quellcode und formulieren Sie die Frage, die die Suche beantworten soll. Das nützliche Artefakt ist eine abrufbare Repräsentation, die an tatsächlichen Code gebunden ist und den nächsten Schritt – Erklärung, Bearbeitung oder Prüfung durch einen Entwickler – unterstützt, ohne diesen Schritt selbst auszuführen.",
    "alias_of": null,
    "aliases": [],
    "author": "Mistral",
    "available": null,
    "canonical_model": "mistralai/codestral-embed-2505",
    "capabilities": {
      "context_length": 8192,
      "manufacturer_input": [
        "text"
      ],
      "manufacturer_output": [
        "embeddings"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.0003000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.0000003",
            "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": 8192,
    "entity_type": "model",
    "formats": [
      "embeddings"
    ],
    "id": "mistralai/codestral-embed-2505",
    "input": [
      "text",
      "token_ids"
    ],
    "kind": "embedding",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Keep every vector with its index. Vector count must equal input count; dimensions must be consistent.",
            "errors": [
              {
                "code": null,
                "condition": "Pflichtfelder, Darstellung des Eingabematerials oder Parameterwert ungültig",
                "http_status": 400,
                "recovery": "Die angegebenen Felder vor einer neuen Erstellungsanfrage korrigieren.",
                "type": "invalid_request_error"
              }
            ],
            "hints": [],
            "ignored_fields": [],
            "lifecycle": {
              "create": {
                "http": "POST",
                "path": "/v1/embeddings"
              },
              "job_read": null,
              "mode": "synchronous_json",
              "unknown": "Es wird kein Endpunkt für Embedding-Aufträge eingeführt."
            },
            "material_combinations": [
              {
                "alternatives": [
                  "string",
                  "string[]",
                  "nonnegative_integer_token_array",
                  "nonnegative_integer_token_array[]"
                ],
                "mode": "text_to_embedding"
              }
            ],
            "operation_modes": [
              "single_embedding",
              "batched_embeddings"
            ],
            "outputs": {
              "all_results": "Jeden Vektor mit seinem Index beibehalten. Die Anzahl der Vektoren muss der Anzahl der Eingaben entsprechen; die Dimensionen müssen konsistent sein.",
              "default_dimensions": null,
              "family": "embedding",
              "fields": [
                {
                  "description": null,
                  "name": "object",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "model",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "data[].index",
                  "type": "integer"
                },
                {
                  "description": null,
                  "name": "data[].embedding",
                  "type": "finite float[]"
                },
                {
                  "description": null,
                  "name": "usage",
                  "type": "object"
                }
              ],
              "format": "json"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "mistralai/codestral-embed-2505"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "budget": {
                  "maximum": 8192,
                  "text_unit": "UTF8-Bytes",
                  "token_unit": "Elemente des Token-Arrays"
                },
                "conditions": "Nicht leerer, homogener Batch. Token-IDs sind nichtnegative Ganzzahlen.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "min_items": 1,
                "name": "input",
                "required": true,
                "type": "string|string[]|integer[]|integer[][]"
              },
              {
                "availability": "source_interface",
                "default": "float",
                "default_known": true,
                "enum": [
                  "float"
                ],
                "enum_known": true,
                "name": "encoding_format",
                "required": false,
                "type": "string"
              },
              {
                "availability": "unsupported",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "minimum": 1,
                "name": "dimensions",
                "required": false,
                "type": "integer"
              },
              {
                "availability": "pass_through_metadata",
                "conditions": "Der Quellcode erlaubt dieses JSON-Metadatenfeld; die genaue Semantik beim vorgelagerten Anbieter ist modellspezifisch.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "user",
                "required": false,
                "type": "json_value"
              },
              {
                "availability": "pass_through_metadata",
                "conditions": "Der Quellcode erlaubt dieses JSON-Metadatenfeld; die genaue Semantik beim vorgelagerten Anbieter ist modellspezifisch.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "session_id",
                "required": false,
                "type": "json_value"
              },
              {
                "availability": "pass_through_metadata",
                "conditions": "Der Quellcode erlaubt dieses JSON-Metadatenfeld; die genaue Semantik beim vorgelagerten Anbieter ist modellspezifisch.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "trace",
                "required": false,
                "type": "json_value"
              },
              {
                "availability": "source_interface",
                "conditions": "provider.options abgelehnt",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "provider",
                "required": false,
                "type": "object"
              }
            ],
            "profile_binding": "Exact existing Ailoot model and method; interface constraints below do not assert provider qualification.",
            "unsupported": [
              "mixed input kinds",
              "empty input",
              "image/audio/file objects",
              "encoding_format=base64",
              "dimensions override"
            ]
          },
          "hints": [
            "Jeden Vektorindex und jede Dimension beibehalten.",
            "Ein multimodaler Modellname erlaubt auf genau diesem Pfad keine Bildobjekte."
          ],
          "input": {
            "content_type": "application/json",
            "dimensions_override": false,
            "encoding_format": [
              "float"
            ],
            "input_shapes": [
              "string",
              "string[]",
              "nonnegative_integer_token_array",
              "nonnegative_integer_token_array[]"
            ],
            "material_types": [
              "text",
              "token_ids"
            ],
            "max_input_budget_units": 8192,
            "multimodal_objects": false,
            "required": [
              "model",
              "input"
            ]
          },
          "lifecycle": {
            "mode": "synchronous_json",
            "unknown": "no embedding job endpoint inferred"
          },
          "manufacturer_capability": null,
          "method": {
            "http": "POST",
            "path": "/v1/embeddings"
          },
          "method_aliases": [],
          "operation_modes": [
            "text_to_embedding"
          ],
          "output": {
            "default_dimensions": null,
            "family": "embedding",
            "format": "json",
            "http_success": 200,
            "vectors": "one dense float vector per input; indices/model/usage validated"
          }
        },
        "ctx": 8192,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Basistarife für Token",
            "units": [
              {
                "amount": "0.0003000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000003",
                "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}\"\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"mistralai/codestral-embed-2505\", \"input\": [\"First document\", \"Second document\"]}')\n\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/embeddings \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nr=json.loads(Path(\"result.json\").read_text())\nfor x in r.get(\"data\",[]): print(json.dumps({\"index\":x.get(\"index\"),\"embedding\":x.get(\"embedding\")}))\nPY_RESULT\n",
            "label": "curl · retained exact creation",
            "language": "bash"
          },
          {
            "code": "from openai import OpenAI\nimport os\n\nclient=OpenAI(base_url=\"https://api.ailoot.ai/v1\",api_key=os.environ[\"AILOOT_API_KEY\"],max_retries=0)\nresult=client.embeddings.create(model='mistralai/codestral-embed-2505',input=[\"First document\",\"Second document\"])\nprint(result)\nfor item in result.data:print(item.index,item.embedding)\n",
            "label": "Python SDK · all vectors",
            "language": "python"
          }
        ],
        "family": "openai",
        "fast_multiplier": 1,
        "flex_multiplier": 1,
        "fmt": "embeddings",
        "hints": [
          "Keep every vector index and dimension.",
          "Multimodal model name does not admit image objects on this exact path."
        ],
        "http": "POST",
        "in": 0.3,
        "input": [
          "text",
          "token_ids"
        ],
        "label": "Эмбеддинги",
        "max_out": null,
        "max_reasoning_effort_multiplier": 1,
        "method_aliases": [],
        "out": 0,
        "output": [
          "embedding"
        ],
        "path": "/v1/embeddings",
        "price_conditions": [
          {
            "label": "Schnellmodus",
            "value": "Standardtarif",
            "when": "Wenn der Schnellmodus ausgewählt ist"
          },
          {
            "label": "Flex-Modus",
            "value": "Standardtarif",
            "when": "Wenn der Modus flex ausgewählt ist"
          },
          {
            "label": "Maximaler Denkaufwand",
            "value": "Standardtarif",
            "when": "Wenn beim maximalen Denkaufwand die Standardanpassung (default) verwendet wird"
          }
        ],
        "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.0003000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000003",
                "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": "mistralai/codestral-embed-2505",
        "route_label": "Ultra",
        "status_reads": [],
        "tiers": [],
        "units": [
          {
            "amount": "0.0003000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.0000003",
            "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": "mistralai/codestral-embed-2505",
        "request_model_id": "mistralai/codestral-embed-2505",
        "route_label": "Ultra"
      }
    ],
    "name": "Mistral: Codestral Embed 2505",
    "price": {
      "in": 0.3,
      "in_label": null,
      "out": 0,
      "out_label": null,
      "scope_label": "Token rates",
      "sort_in": 0.3,
      "sort_out": 0,
      "varies": false
    },
    "pricing_profiles": [
      {
        "dimensions": {
          "regime": "base"
        },
        "label": "Эмбеддинги · Base token rates",
        "units": [
          {
            "amount": "0.0003000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.0000003",
            "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"
          }
        ]
      }
    ],
    "public_id": "mistralai/codestral-embed-2505",
    "short": "Codestral Embed 2505 stellt Code und natürlichsprachliche Anfragen als Vektoren für die Repository-Suche und den Abruf für Coding-Assistenten dar. Der Hersteller dokumentiert einen Kontext von 8’192 Token, konfigurierbare Dimensionen bis 3’072 sowie Ausgabeformate als Gleitkommazahl, Ganzzahl oder bitgepackt."
  },
  "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": "Codestral Embed 2505 stellt Code und natürlichsprachliche Anfragen als Vektoren für die Repository-Suche und den Abruf für Coding-Assistenten dar. Der Hersteller dokumentiert einen Kontext von 8’192 Token, konfigurierbare Dimensionen bis 3’072 sowie Ausgabeformate als Gleitkommazahl, Ganzzahl oder bitgepackt.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "b68be9432c0dc916955bdcbc211c995791971b0efe3e22c31af2aa8d799a1324",
    "renderer_sha256": "76caa42c097db2ddc47d1e1e6fe7ca45c8363d7211296daf28e4352971e6c0c8"
  },
  "sourceRevision": "1c982c06f5788ee394099f97fa936bc5443d7a682bd2b36586c8e35a08d7e3a7"
}
