{
  "aboutHtml": "<p>Codestral Embed 2505 er Mistral AI’s embeddingmodel specialiseret til kodegenfinding. Den modtager tekst med kildekode eller en kodeforespørgsel i naturligt sprog og returnerer numeriske vektorer. Producenten positionerer den til repositorysøgning, kontekstgenfinding til kodeassistenter, ligheds- og dubletanalyse samt gruppering af kode efter funktionalitet eller struktur. Dens faste udgivelsesidentifikator er codestral-embed-2505.</p><p>Input og repræsentation</p><p>Et kodeinput kan være en funktion, et relateret kildefragment eller en anden meningsfuld enhed i et repository. En forespørgsel i naturligt sprog kan beskrive den adfærd, der skal findes, frem for at navngive det præcise symbol. Embeddingvektoren repræsenterer inputtet til sammenligning; modellen genererer ikke en ny implementering og udfører ikke den kode, den modtager.</p><p>Den officielle udgivelse dokumenterer en fuld inputkontekst på 8192 tokens. Til genfinding anbefaler producenten stykker på cirka 3000 tegn med 1000 tegns overlap og bemærker, at større stykker kan skade genfindingen. Det er anbefalinger til genfindingsforberedelse og ikke en tokengrænse på 3000 tegn. Hold filen, symbolet og kildeplaceringen knyttet til hvert forberedt element, så applikationen kan returnere den relevante kode efter søgning.</p><p>Outputpræcision og dimensioner</p><p>Vejledningen til kodeembeddings dokumenterer outputtyperne float, int8, uint8, binary og ubinary. Float bruger 32-bit-værdier med enkeltpræcision. Int8 bruger 8-bit-heltal med fortegn fra -128 til 127, mens uint8 bruger 8-bit-værdier uden fortegn fra 0 til 255. Binary og ubinary lagrer kvantiserede enkeltbitværdier i pakkede 8-bit-elementer med henholdsvis beholdere med og uden fortegn.</p><p>Bitpakket repræsentation ændrer længden på den returnerede liste: Vejledningen beskriver ét pakket element for hver otte logiske embeddingdimensioner. En formatbevidst sammenligning er derfor forskellig fra at behandle de pakkede bytes som almindelige koordinater med flydende tal. Gem den valgte type sammen med vektoren, og brug samme repræsentation til indekseret kode og dens forespørgsel.</p><p>Parameterdokumentationen angiver en standarddimension på 1536 og et maksimum på 3072. Dimensionerne er ordnet efter relevans, og producenten beskriver bevarelse af det første valgte antal som en måde at vælge repræsentationsstørrelsen på. Vælg dimensionen konsekvent til den lagrede samling og nye forespørgsler. En kortere eller kvantiseret repræsentation ændrer lagrings- og sammenligningsadfærd; den øger ikke inputkonteksten og gør ikke modellen til en kodegenerator.</p><p>Kodning med genfundet kontekst</p><p>Udgivelsens første anvendelse er genfinding af kontekst til kodefuldførelse, redigering eller forklaring. Forbered meningsfulde kodeenheder, og gem repositoryrevisionen og kildeidentifikatorerne. Et spørgsmål om håndteringen af en bestemt fejl kan genfinde relaterede funktioner, som applikationen derefter indsender til en kodemodel sammen med den faktiske ændringsanmodning.</p><p>Et praktisk resultat er et rangeret sæt kildeuddrag med filstier, symboler og det indhold, der kræves for at forstå deres adfærd. De genfundne uddrag kan åbnes af en udvikler eller sendes til en assistent. Codestral Embed udfører repræsentationstrinnet; en separat komponent udvælger resultaterne, og en genereringsmodel skriver forklaringen eller kodeforslaget.</p><p>Semantisk søgning og lighed</p><p>Producenten beskriver kodesøgning med forespørgsler i naturligt sprog eller kode. En udvikler kan spørge efter implementeringen af en adfærd, selv når funktionsnavnet afviger fra anmodningens ordlyd. Medtag den adfærd og de betingelser, der adskiller den tilsigtede implementering; en generel forespørgsel om et helt delsystem kan genfinde relateret materiale uden at afklare det konkrete spørgsmål.</p><p>Udgivelsen beskriver også genfinding af næsten ens eller funktionelt lignende kode trods leksikale forskelle. Resultaterne kan hjælpe med at finde en genanvendelig implementering eller identificere kode til nærmere gennemgang. Lighed i embeddingrummet er et signal om at undersøge kilden; den fastslår ikke, at to fragmenter har identisk adfærd for ethvert input.</p><p>Klyngedannelse, analyse og sammenligning</p><p>Kodeembeddings kan bruges til at gruppere kode efter funktionalitet eller struktur og undersøge et repositorys sammensætning. Hold de oprindelige uddrag og identifikatorer tilgængelige, så en gruppe kan fortolkes af en person eller et senere applikationstrin. En klynge er en repræsentationsbaseret gruppering, ikke en automatisk verificeret arkitekturbeskrivelse.</p><p>Producentens eksempler med flydende vektorer bruger enhedsnormaliserede embeddings, hvor cosinuslighed, prikprodukt og euklidisk afstand giver konsistente rangeringer. Kvantiseret og bitpakket output bør bevare sin egen formathåndtering frem for at overtage en antagelse om rå koordinater med flydende tal. Det offentliggjorte endepunkt bevarer også inputindeks og hjælper dermed med at bevare forbindelsen mellem hver vektor og dens kildeelement.</p><p>Udgave og praktiske grænser</p><p>Den præcise modelside angiver embedding- og batcharbejdsgange med en kontekstbetegnelse på 8k, mens udgivelsen angiver værdien 8192 tokens. Bevar den navngivne 2505-udgave, valgte outputdimension og type gennem hele samlings- og forespørgselsarbejdsgangen. Dette er kodeorienteret vektoroutput, adskilt fra Codestrals tekstfuldførelse og den fastdimensionale Mistral Embed-tekstmodel.</p><p>Forbered kodeenheder med den relevante adfærd, gem deres kildeplaceringer, og angiv det spørgsmål, der skal findes materiale til. Det nyttige resultat er en genfindelig repræsentation knyttet til faktisk kode, som understøtter det næste trin med forklaring, redigering eller udviklergennemgang uden selv at udføre trinnet.</p>",
  "aboutText": "Codestral Embed 2505 er Mistral AI’s embeddingmodel specialiseret til kodegenfinding. Den modtager tekst med kildekode eller en kodeforespørgsel i naturligt sprog og returnerer numeriske vektorer. Producenten positionerer den til repositorysøgning, kontekstgenfinding til kodeassistenter, ligheds- og dubletanalyse samt gruppering af kode efter funktionalitet eller struktur. Dens faste udgivelsesidentifikator er codestral-embed-2505.\n\nInput og repræsentation\n\nEt kodeinput kan være en funktion, et relateret kildefragment eller en anden meningsfuld enhed i et repository. En forespørgsel i naturligt sprog kan beskrive den adfærd, der skal findes, frem for at navngive det præcise symbol. Embeddingvektoren repræsenterer inputtet til sammenligning; modellen genererer ikke en ny implementering og udfører ikke den kode, den modtager.\n\nDen officielle udgivelse dokumenterer en fuld inputkontekst på 8192 tokens. Til genfinding anbefaler producenten stykker på cirka 3000 tegn med 1000 tegns overlap og bemærker, at større stykker kan skade genfindingen. Det er anbefalinger til genfindingsforberedelse og ikke en tokengrænse på 3000 tegn. Hold filen, symbolet og kildeplaceringen knyttet til hvert forberedt element, så applikationen kan returnere den relevante kode efter søgning.\n\nOutputpræcision og dimensioner\n\nVejledningen til kodeembeddings dokumenterer outputtyperne float, int8, uint8, binary og ubinary. Float bruger 32-bit-værdier med enkeltpræcision. Int8 bruger 8-bit-heltal med fortegn fra -128 til 127, mens uint8 bruger 8-bit-værdier uden fortegn fra 0 til 255. Binary og ubinary lagrer kvantiserede enkeltbitværdier i pakkede 8-bit-elementer med henholdsvis beholdere med og uden fortegn.\n\nBitpakket repræsentation ændrer længden på den returnerede liste: Vejledningen beskriver ét pakket element for hver otte logiske embeddingdimensioner. En formatbevidst sammenligning er derfor forskellig fra at behandle de pakkede bytes som almindelige koordinater med flydende tal. Gem den valgte type sammen med vektoren, og brug samme repræsentation til indekseret kode og dens forespørgsel.\n\nParameterdokumentationen angiver en standarddimension på 1536 og et maksimum på 3072. Dimensionerne er ordnet efter relevans, og producenten beskriver bevarelse af det første valgte antal som en måde at vælge repræsentationsstørrelsen på. Vælg dimensionen konsekvent til den lagrede samling og nye forespørgsler. En kortere eller kvantiseret repræsentation ændrer lagrings- og sammenligningsadfærd; den øger ikke inputkonteksten og gør ikke modellen til en kodegenerator.\n\nKodning med genfundet kontekst\n\nUdgivelsens første anvendelse er genfinding af kontekst til kodefuldførelse, redigering eller forklaring. Forbered meningsfulde kodeenheder, og gem repositoryrevisionen og kildeidentifikatorerne. Et spørgsmål om håndteringen af en bestemt fejl kan genfinde relaterede funktioner, som applikationen derefter indsender til en kodemodel sammen med den faktiske ændringsanmodning.\n\nEt praktisk resultat er et rangeret sæt kildeuddrag med filstier, symboler og det indhold, der kræves for at forstå deres adfærd. De genfundne uddrag kan åbnes af en udvikler eller sendes til en assistent. Codestral Embed udfører repræsentationstrinnet; en separat komponent udvælger resultaterne, og en genereringsmodel skriver forklaringen eller kodeforslaget.\n\nSemantisk søgning og lighed\n\nProducenten beskriver kodesøgning med forespørgsler i naturligt sprog eller kode. En udvikler kan spørge efter implementeringen af en adfærd, selv når funktionsnavnet afviger fra anmodningens ordlyd. Medtag den adfærd og de betingelser, der adskiller den tilsigtede implementering; en generel forespørgsel om et helt delsystem kan genfinde relateret materiale uden at afklare det konkrete spørgsmål.\n\nUdgivelsen beskriver også genfinding af næsten ens eller funktionelt lignende kode trods leksikale forskelle. Resultaterne kan hjælpe med at finde en genanvendelig implementering eller identificere kode til nærmere gennemgang. Lighed i embeddingrummet er et signal om at undersøge kilden; den fastslår ikke, at to fragmenter har identisk adfærd for ethvert input.\n\nKlyngedannelse, analyse og sammenligning\n\nKodeembeddings kan bruges til at gruppere kode efter funktionalitet eller struktur og undersøge et repositorys sammensætning. Hold de oprindelige uddrag og identifikatorer tilgængelige, så en gruppe kan fortolkes af en person eller et senere applikationstrin. En klynge er en repræsentationsbaseret gruppering, ikke en automatisk verificeret arkitekturbeskrivelse.\n\nProducentens eksempler med flydende vektorer bruger enhedsnormaliserede embeddings, hvor cosinuslighed, prikprodukt og euklidisk afstand giver konsistente rangeringer. Kvantiseret og bitpakket output bør bevare sin egen formathåndtering frem for at overtage en antagelse om rå koordinater med flydende tal. Det offentliggjorte endepunkt bevarer også inputindeks og hjælper dermed med at bevare forbindelsen mellem hver vektor og dens kildeelement.\n\nUdgave og praktiske grænser\n\nDen præcise modelside angiver embedding- og batcharbejdsgange med en kontekstbetegnelse på 8k, mens udgivelsen angiver værdien 8192 tokens. Bevar den navngivne 2505-udgave, valgte outputdimension og type gennem hele samlings- og forespørgselsarbejdsgangen. Dette er kodeorienteret vektoroutput, adskilt fra Codestrals tekstfuldførelse og den fastdimensionale Mistral Embed-tekstmodel.\n\nForbered kodeenheder med den relevante adfærd, gem deres kildeplaceringer, og angiv det spørgsmål, der skal findes materiale til. Det nyttige resultat er en genfindelig repræsentation knyttet til faktisk kode, som understøtter det næste trin med forklaring, redigering eller udviklergennemgang uden selv at udføre trinnet.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "0b2d3a7fe4092c9199105f2031aae7b070e0213d8f79bdbfbfed843148dbf7ab",
    "module_sha256": "ee9dc1c50b1e6a8fb7fa062030fcb4646b9aaaeb08be513b723a5a92a7290f06",
    "raw_model_unchanged": true,
    "schema": "ailoot-native-model-editorial-v1"
  },
  "locale": "da",
  "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=\"Luk\">×</button></div><div class=\"idline\"><span>Mistral /</span><code>mistralai/codestral-embed-2505</code><button type=\"button\" id=\"copy-id\">Kopiér ID</button></div><nav class=\"card-jump-nav\" aria-label=\"Modelkortets afsnit\"><button type=\"button\" data-card-jump=\"overview\">Start</button><button type=\"button\" data-card-jump=\"methods\">Input og metoder</button><button type=\"button\" data-card-jump=\"pricing\">Priser</button><button type=\"button\" data-card-jump=\"examples\">Eksempler</button><button type=\"button\" data-card-jump=\"results\">Resultater</button><button type=\"button\" data-card-jump=\"aliases\">Aliaser</button></nav><div class=\"card-method-tabs\" role=\"tablist\" aria-label=\"API-metoder\"><button type=\"button\" role=\"tab\" tabindex=\"0\" aria-controls=\"card-method-content\" aria-selected=\"true\" id=\"card-method-tab-0\" data-card-method=\"Ultra|embeddings|/v1/embeddings|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\">Start</h3><p class=\"mdesc-full\">Codestral Embed 2505 repræsenterer kode og forespørgsler i naturligt sprog som vektorer til repositorysøgning og genfinding til kodeassistenter. Producenten dokumenterer en kontekst på 8192 tokens, konfigurerbare dimensioner op til 3072 og outputformater med flydende tal, heltal eller bitpakkede værdier.</p><dl class=\"card-io\" data-card-io><div><dt>Accepterede input</dt><dd>Tekst · token_ids</dd></div><div><dt>Resultater</dt><dd>embedding</dd></div></dl><details class=\"card-about\"><summary>Om modellen</summary><p class=\"note-s\" data-model-method-boundary>Denne beskrivelse dækker modellens funktioner. Tilgængelige input, output og indstillinger i Ailoot står nedenfor for den valgte metode.</p><div class=\"mabout\" id=\"m-about\"><p>Codestral Embed 2505 er Mistral AI’s embeddingmodel specialiseret til kodegenfinding. Den modtager tekst med kildekode eller en kodeforespørgsel i naturligt sprog og returnerer numeriske vektorer. Producenten positionerer den til repositorysøgning, kontekstgenfinding til kodeassistenter, ligheds- og dubletanalyse samt gruppering af kode efter funktionalitet eller struktur. Dens faste udgivelsesidentifikator er codestral-embed-2505.</p><p>Input og repræsentation</p><p>Et kodeinput kan være en funktion, et relateret kildefragment eller en anden meningsfuld enhed i et repository. En forespørgsel i naturligt sprog kan beskrive den adfærd, der skal findes, frem for at navngive det præcise symbol. Embeddingvektoren repræsenterer inputtet til sammenligning; modellen genererer ikke en ny implementering og udfører ikke den kode, den modtager.</p><p>Den officielle udgivelse dokumenterer en fuld inputkontekst på 8192 tokens. Til genfinding anbefaler producenten stykker på cirka 3000 tegn med 1000 tegns overlap og bemærker, at større stykker kan skade genfindingen. Det er anbefalinger til genfindingsforberedelse og ikke en tokengrænse på 3000 tegn. Hold filen, symbolet og kildeplaceringen knyttet til hvert forberedt element, så applikationen kan returnere den relevante kode efter søgning.</p><p>Outputpræcision og dimensioner</p><p>Vejledningen til kodeembeddings dokumenterer outputtyperne float, int8, uint8, binary og ubinary. Float bruger 32-bit-værdier med enkeltpræcision. Int8 bruger 8-bit-heltal med fortegn fra -128 til 127, mens uint8 bruger 8-bit-værdier uden fortegn fra 0 til 255. Binary og ubinary lagrer kvantiserede enkeltbitværdier i pakkede 8-bit-elementer med henholdsvis beholdere med og uden fortegn.</p><p>Bitpakket repræsentation ændrer længden på den returnerede liste: Vejledningen beskriver ét pakket element for hver otte logiske embeddingdimensioner. En formatbevidst sammenligning er derfor forskellig fra at behandle de pakkede bytes som almindelige koordinater med flydende tal. Gem den valgte type sammen med vektoren, og brug samme repræsentation til indekseret kode og dens forespørgsel.</p><p>Parameterdokumentationen angiver en standarddimension på 1536 og et maksimum på 3072. Dimensionerne er ordnet efter relevans, og producenten beskriver bevarelse af det første valgte antal som en måde at vælge repræsentationsstørrelsen på. Vælg dimensionen konsekvent til den lagrede samling og nye forespørgsler. En kortere eller kvantiseret repræsentation ændrer lagrings- og sammenligningsadfærd; den øger ikke inputkonteksten og gør ikke modellen til en kodegenerator.</p><p>Kodning med genfundet kontekst</p><p>Udgivelsens første anvendelse er genfinding af kontekst til kodefuldførelse, redigering eller forklaring. Forbered meningsfulde kodeenheder, og gem repositoryrevisionen og kildeidentifikatorerne. Et spørgsmål om håndteringen af en bestemt fejl kan genfinde relaterede funktioner, som applikationen derefter indsender til en kodemodel sammen med den faktiske ændringsanmodning.</p><p>Et praktisk resultat er et rangeret sæt kildeuddrag med filstier, symboler og det indhold, der kræves for at forstå deres adfærd. De genfundne uddrag kan åbnes af en udvikler eller sendes til en assistent. Codestral Embed udfører repræsentationstrinnet; en separat komponent udvælger resultaterne, og en genereringsmodel skriver forklaringen eller kodeforslaget.</p><p>Semantisk søgning og lighed</p><p>Producenten beskriver kodesøgning med forespørgsler i naturligt sprog eller kode. En udvikler kan spørge efter implementeringen af en adfærd, selv når funktionsnavnet afviger fra anmodningens ordlyd. Medtag den adfærd og de betingelser, der adskiller den tilsigtede implementering; en generel forespørgsel om et helt delsystem kan genfinde relateret materiale uden at afklare det konkrete spørgsmål.</p><p>Udgivelsen beskriver også genfinding af næsten ens eller funktionelt lignende kode trods leksikale forskelle. Resultaterne kan hjælpe med at finde en genanvendelig implementering eller identificere kode til nærmere gennemgang. Lighed i embeddingrummet er et signal om at undersøge kilden; den fastslår ikke, at to fragmenter har identisk adfærd for ethvert input.</p><p>Klyngedannelse, analyse og sammenligning</p><p>Kodeembeddings kan bruges til at gruppere kode efter funktionalitet eller struktur og undersøge et repositorys sammensætning. Hold de oprindelige uddrag og identifikatorer tilgængelige, så en gruppe kan fortolkes af en person eller et senere applikationstrin. En klynge er en repræsentationsbaseret gruppering, ikke en automatisk verificeret arkitekturbeskrivelse.</p><p>Producentens eksempler med flydende vektorer bruger enhedsnormaliserede embeddings, hvor cosinuslighed, prikprodukt og euklidisk afstand giver konsistente rangeringer. Kvantiseret og bitpakket output bør bevare sin egen formathåndtering frem for at overtage en antagelse om rå koordinater med flydende tal. Det offentliggjorte endepunkt bevarer også inputindeks og hjælper dermed med at bevare forbindelsen mellem hver vektor og dens kildeelement.</p><p>Udgave og praktiske grænser</p><p>Den præcise modelside angiver embedding- og batcharbejdsgange med en kontekstbetegnelse på 8k, mens udgivelsen angiver værdien 8192 tokens. Bevar den navngivne 2505-udgave, valgte outputdimension og type gennem hele samlings- og forespørgselsarbejdsgangen. Dette er kodeorienteret vektoroutput, adskilt fra Codestrals tekstfuldførelse og den fastdimensionale Mistral Embed-tekstmodel.</p><p>Forbered kodeenheder med den relevante adfærd, gem deres kildeplaceringer, og angiv det spørgsmål, der skal findes materiale til. Det nyttige resultat er en genfindelig repræsentation knyttet til faktisk kode, som understøtter det næste trin med forklaring, redigering eller udviklergennemgang uden selv at udføre trinnet.</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">Tilgængelig i Ailoot · input og metoder</h3><details class=\"card-method\" open><summary><b>Ailoot Ultra · Embeddings</b> <code>POST /v1/embeddings</code></summary><dl class=\"method-capabilities\"><div><dt>Inputtyper</dt><dd><code>text</code>, <code>token_ids</code></dd></div><div><dt>Outputtyper</dt><dd><code>embedding</code></dd></div><div><dt>Kontekst</dt><dd>8.192 tokens</dd></div><div><dt>Outputformat</dt><dd>json</dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>Felt</th><th>Type</th><th>Krav</th><th>Værdier og grænser</th><th>Standard</th></tr></thead><tbody><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Felt\" scope=\"row\"><span class=\"card-cell-label\">Felt</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>string</code></td><td data-cell-label=\"Krav\"><span class=\"card-cell-label\">Krav</span>Påkrævet</td><td data-cell-label=\"Værdier og grænser\"><span class=\"card-cell-label\">Værdier og grænser</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=\"Felt\" scope=\"row\"><span class=\"card-cell-label\">Felt</span><code class=\"card-field-name\">input</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>string|string[]|integer[]|integer[][]</code></td><td data-cell-label=\"Krav\"><span class=\"card-cell-label\">Krav</span>Påkrævet</td><td data-cell-label=\"Værdier og grænser\"><span class=\"card-cell-label\">Værdier og grænser</span><div>Minimumsantal elementer: 1</div><div>Betingelser: Ikke-tom batch med ensartede elementer. Token-ID’er er ikke-negative heltal.</div><div>Inputbudget: Maksimum: 8.192 · Tekstenhed: UTF8-bytes · Tokenenhed: elementer i et tokenarray</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=\"Felt\" scope=\"row\"><span class=\"card-cell-label\">Felt</span><code class=\"card-field-name\">encoding_format</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>string</code></td><td data-cell-label=\"Krav\"><span class=\"card-cell-label\">Krav</span>Valgfrit</td><td data-cell-label=\"Værdier og grænser\"><span class=\"card-cell-label\">Værdier og grænser</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=\"Felt\" scope=\"row\"><span class=\"card-cell-label\">Felt</span><code class=\"card-field-name\">dimensions</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>integer</code></td><td data-cell-label=\"Krav\"><span class=\"card-cell-label\">Krav</span>Ikke understøttet</td><td data-cell-label=\"Værdier og grænser\"><span class=\"card-cell-label\">Værdier og grænser</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=\"Felt\" scope=\"row\"><span class=\"card-cell-label\">Felt</span><code class=\"card-field-name\">user</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>json_value</code></td><td data-cell-label=\"Krav\"><span class=\"card-cell-label\">Krav</span>Valgfrit</td><td data-cell-label=\"Værdier og grænser\"><span class=\"card-cell-label\">Værdier og grænser</span><div>Betingelser: Kilden tillader dette JSON-metadatafelt; den præcise betydning hos den bagvedliggende udbyder afhænger af modellen.</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=\"Felt\" scope=\"row\"><span class=\"card-cell-label\">Felt</span><code class=\"card-field-name\">session_id</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>json_value</code></td><td data-cell-label=\"Krav\"><span class=\"card-cell-label\">Krav</span>Valgfrit</td><td data-cell-label=\"Værdier og grænser\"><span class=\"card-cell-label\">Værdier og grænser</span><div>Betingelser: Kilden tillader dette JSON-metadatafelt; den præcise betydning hos den bagvedliggende udbyder afhænger af modellen.</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=\"Felt\" scope=\"row\"><span class=\"card-cell-label\">Felt</span><code class=\"card-field-name\">trace</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>json_value</code></td><td data-cell-label=\"Krav\"><span class=\"card-cell-label\">Krav</span>Valgfrit</td><td data-cell-label=\"Værdier og grænser\"><span class=\"card-cell-label\">Værdier og grænser</span><div>Betingelser: Kilden tillader dette JSON-metadatafelt; den præcise betydning hos den bagvedliggende udbyder afhænger af modellen.</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=\"Felt\" scope=\"row\"><span class=\"card-cell-label\">Felt</span><code class=\"card-field-name\">provider</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>object</code></td><td data-cell-label=\"Krav\"><span class=\"card-cell-label\">Krav</span>Valgfrit</td><td data-cell-label=\"Værdier og grænser\"><span class=\"card-cell-label\">Værdier og grænser</span><div>Betingelser: provider.options afvist</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>Kombinationer af inputmaterialer</summary><p class=\"note-s\"><b>text_to_embedding</b></p></details><details class=\"note-s\" data-method-contract><summary>Metodeparametre og livscyklus</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>Parameter</th><th>Kontrakt</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=\"Kontrakt\"><span class=\"card-cell-label\">Kontrakt</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=\"Kontrakt\"><span class=\"card-cell-label\">Kontrakt</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=\"Kontrakt\"><span class=\"card-cell-label\">Kontrakt</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=\"Kontrakt\"><span class=\"card-cell-label\">Kontrakt</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=\"Kontrakt\"><span class=\"card-cell-label\">Kontrakt</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=\"Kontrakt\"><span class=\"card-cell-label\">Kontrakt</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=\"Kontrakt\"><span class=\"card-cell-label\">Kontrakt</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=\"Kontrakt\"><span class=\"card-cell-label\">Kontrakt</span>text, token_ids</td></tr></tbody></table></div><p>Livscyklus: <code>synchronous_json</code></p><p class=\"note-s\">Gem hver vektors indeks og dimension.</p><p class=\"note-s\">Et multimodalt modelnavn giver ikke adgang til at bruge billedobjekter på denne præcise sti.</p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">Priser</h3><div data-native-semantic-method=\"v1\" data-tariff-reference-only><p class=\"note-s\" data-rate-support-note>Tarifoplysninger tilføjer ikke anmodningsmuligheder. Understøttede parametre står ved den valgte metode.</p><dl data-price-conditions><dt>Hurtig tilstand</dt><dd>Standardpris <span class=\"note-s\">Når hurtig tilstand er valgt</span></dd><dt>flex-tilstand</dt><dd>Standardpris <span class=\"note-s\">Når flex-tilstanden er valgt</span></dd><dt>Maksimal ræsonneringsindsats</dt><dd>Standardpris <span class=\"note-s\">Når default-justeringen anvendes ved maksimal ræsonneringsindsats</span></dd></dl></div><div data-declared-tariff-pricing><h4>Ailoot-takster</h4><h4>Priser efter konfiguration</h4><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Konfiguration</th><th>Takstplan</th><th>Beløb</th></tr></thead><tbody><tr><th data-cell-label=\"Konfiguration\" scope=\"row\"><span class=\"card-cell-label\">Konfiguration</span>Grundtakster for tokens</th><td data-cell-label=\"Takstplan\"><span class=\"card-cell-label\">Takstplan</span>Grundtakst</td><td data-cell-label=\"Beløb\"><span class=\"card-cell-label\">Beløb</span><div><span>Input · Inputtokens</span> <b>$0.0003</b> <span class=\"price-unit\">/ 1K tokens</span></div><div><span>Output · Outputtokens</span> <b>$0</b> <span class=\"price-unit\">/ 1K tokens</span></div><div><span>Input · Cachelæsning</span> <b>—</b> <span class=\"price-unit\">/ 1K tokens</span></div><div><span>Input · Cacheskrivning</span> <b>—</b> <span class=\"price-unit\">/ 1K tokens</span></div><div><span>Input · Cacheskrivning, 1 time</span> <b>—</b> <span class=\"price-unit\">/ 1K tokens</span></div></td></tr></tbody></table></div></div><p class=\"note-s\">Ailoot reserverer et estimeret beløb før en anmodning. Efter resultatet afregnes det endelige beløb ud fra det målte forbrug. Ved streaming bruges den endelige forbrugsregistrering til afregningen. <a href=\"/docs/da/billing/reserve/\">Sådan fungerer reservation og afregning →</a></p></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">Eksempelanmodninger</h3><h4>Ailoot Ultra · Embeddings</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Kodevarianter\"><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=\"Kopiér kode\"><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\">Hent og gem resultater</h3><h4>Ailoot Ultra · Embeddings</h4><p class=\"note-s\">json</p><div class=\"card-result-process\" data-all-results><h5>Behold alle færdige resultater</h5><p class=\"note-s\">Gem hvert fuldstændigt returneret svar, hver fil og hver indholdsdel.</p><p class=\"note-s\">Gem hver vektor med dens indeks. Antallet af vektorer skal svare til antallet af input; dimensionerne skal være ensartede.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>Hvis det oprindelige svar skal kontrolleres</h5><p class=\"note-s\">Der indføres intet endpoint til embedding-job.</p></div><details class=\"card-about\" data-output-fields><summary>Svarfelter</summary><div class=\"tw\" data-card-table=\"output\"><table><thead><tr><th>Felt</th><th>Type</th></tr></thead><tbody><tr><th data-cell-label=\"Felt\" scope=\"row\"><span class=\"card-cell-label\">Felt</span><code class=\"card-field-name\">object</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span>string</td></tr><tr><th data-cell-label=\"Felt\" scope=\"row\"><span class=\"card-cell-label\">Felt</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span>string</td></tr><tr><th data-cell-label=\"Felt\" scope=\"row\"><span class=\"card-cell-label\">Felt</span><code class=\"card-field-name\">data[].index</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span>integer</td></tr><tr><th data-cell-label=\"Felt\" scope=\"row\"><span class=\"card-cell-label\">Felt</span><code class=\"card-field-name\">data[].embedding</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span>finite float[]</td></tr><tr><th data-cell-label=\"Felt\" scope=\"row\"><span class=\"card-cell-label\">Felt</span><code class=\"card-field-name\">usage</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span>object</td></tr></tbody></table></div></details><details class=\"card-about\" data-method-errors><summary>Fejl og næste trin</summary><div class=\"tw\" data-card-table=\"errors\"><table><thead><tr><th>Svar</th><th>Betingelse</th><th>Næste trin</th></tr></thead><tbody><tr><th data-cell-label=\"Svar\" scope=\"row\"><span class=\"card-cell-label\">Svar</span>400 · <code>invalid_request_error</code></th><td data-cell-label=\"Betingelse\"><span class=\"card-cell-label\">Betingelse</span>Ugyldige obligatoriske felter, materialerepræsentation eller parameterværdi</td><td data-cell-label=\"Næste trin\"><span class=\"card-cell-label\">Næste trin</span>Ret de angivne felter før en ny oprettelsesanmodning.</td></tr></tbody></table></div></details></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">Aliaser</h3><h4>Modelaliaser</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>Aliaser for metodestier</h4><p class=\"note-s\">Brug metodestierne vist ovenfor.</p><h4>Relaterede kalder-ID’er</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": "Ugyldige obligatoriske felter, materialerepræsentation eller parameterværdi",
                "http_status": 400,
                "recovery": "Ret de angivne felter før en ny oprettelsesanmodning.",
                "type": "invalid_request_error"
              }
            ],
            "hints": [],
            "ignored_fields": [],
            "lifecycle": {
              "create": {
                "http": "POST",
                "path": "/v1/embeddings"
              },
              "job_read": null,
              "mode": "synchronous_json",
              "unknown": "Der indføres intet endpoint til embedding-job."
            },
            "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": "Gem hver vektor med dens indeks. Antallet af vektorer skal svare til antallet af input; dimensionerne skal være ensartede.",
              "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": "elementer i et tokenarray"
                },
                "conditions": "Ikke-tom batch med ensartede elementer. Token-ID’er er ikke-negative heltal.",
                "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": "Kilden tillader dette JSON-metadatafelt; den præcise betydning hos den bagvedliggende udbyder afhænger af modellen.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "user",
                "required": false,
                "type": "json_value"
              },
              {
                "availability": "pass_through_metadata",
                "conditions": "Kilden tillader dette JSON-metadatafelt; den præcise betydning hos den bagvedliggende udbyder afhænger af modellen.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "session_id",
                "required": false,
                "type": "json_value"
              },
              {
                "availability": "pass_through_metadata",
                "conditions": "Kilden tillader dette JSON-metadatafelt; den præcise betydning hos den bagvedliggende udbyder afhænger af modellen.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "trace",
                "required": false,
                "type": "json_value"
              },
              {
                "availability": "source_interface",
                "conditions": "provider.options afvist",
                "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": [
            "Gem hver vektors indeks og dimension.",
            "Et multimodalt modelnavn giver ikke adgang til at bruge billedobjekter på denne præcise sti."
          ],
          "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": "Grundtakster for tokens",
            "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": "Hurtig tilstand",
            "value": "Standardpris",
            "when": "Når hurtig tilstand er valgt"
          },
          {
            "label": "flex-tilstand",
            "value": "Standardpris",
            "when": "Når flex-tilstanden er valgt"
          },
          {
            "label": "Maksimal ræsonneringsindsats",
            "value": "Standardpris",
            "when": "Når default-justeringen anvendes ved maksimal ræsonneringsindsats"
          }
        ],
        "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": "372623f488b226763bc980e6dd5f4d3a591def223a6b6bda20a29690246c12a9",
    "input_html_sha256": "cd59cb0653bf12396c3d7aa78633900dcd4ecc1039dc38284cdc926bff39a139",
    "private_audit_sha256": "261e1cd613842a007748285c66c53601bf29bbebdaf7f2f9c6ec6eacebd61fb7",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/da/mistralai-codestral-embed-2505/",
    "description": "Codestral Embed 2505 repræsenterer kode og forespørgsler i naturligt sprog som vektorer til repositorysøgning og genfinding til kodeassistenter. Producenten dokumenterer en kontekst på 8192 tokens, konfigurerbare dimensioner op til 3072 og outputformater med flydende tal, heltal eller bitpakkede værdier.",
    "locale": "da",
    "md_url": "https://ailoot.ai/models/da/mistralai-codestral-embed-2505/index.md",
    "title": "Mistral: Codestral Embed 2505 — Ailoot",
    "url": "https://ailoot.ai/models/da/mistralai-codestral-embed-2505/"
  },
  "rawModel": {
    "about": "Codestral Embed 2505 er Mistral AI’s embeddingmodel specialiseret til kodegenfinding. Den modtager tekst med kildekode eller en kodeforespørgsel i naturligt sprog og returnerer numeriske vektorer. Producenten positionerer den til repositorysøgning, kontekstgenfinding til kodeassistenter, ligheds- og dubletanalyse samt gruppering af kode efter funktionalitet eller struktur. Dens faste udgivelsesidentifikator er codestral-embed-2505.\n\nInput og repræsentation\n\nEt kodeinput kan være en funktion, et relateret kildefragment eller en anden meningsfuld enhed i et repository. En forespørgsel i naturligt sprog kan beskrive den adfærd, der skal findes, frem for at navngive det præcise symbol. Embeddingvektoren repræsenterer inputtet til sammenligning; modellen genererer ikke en ny implementering og udfører ikke den kode, den modtager.\n\nDen officielle udgivelse dokumenterer en fuld inputkontekst på 8192 tokens. Til genfinding anbefaler producenten stykker på cirka 3000 tegn med 1000 tegns overlap og bemærker, at større stykker kan skade genfindingen. Det er anbefalinger til genfindingsforberedelse og ikke en tokengrænse på 3000 tegn. Hold filen, symbolet og kildeplaceringen knyttet til hvert forberedt element, så applikationen kan returnere den relevante kode efter søgning.\n\nOutputpræcision og dimensioner\n\nVejledningen til kodeembeddings dokumenterer outputtyperne float, int8, uint8, binary og ubinary. Float bruger 32-bit-værdier med enkeltpræcision. Int8 bruger 8-bit-heltal med fortegn fra -128 til 127, mens uint8 bruger 8-bit-værdier uden fortegn fra 0 til 255. Binary og ubinary lagrer kvantiserede enkeltbitværdier i pakkede 8-bit-elementer med henholdsvis beholdere med og uden fortegn.\n\nBitpakket repræsentation ændrer længden på den returnerede liste: Vejledningen beskriver ét pakket element for hver otte logiske embeddingdimensioner. En formatbevidst sammenligning er derfor forskellig fra at behandle de pakkede bytes som almindelige koordinater med flydende tal. Gem den valgte type sammen med vektoren, og brug samme repræsentation til indekseret kode og dens forespørgsel.\n\nParameterdokumentationen angiver en standarddimension på 1536 og et maksimum på 3072. Dimensionerne er ordnet efter relevans, og producenten beskriver bevarelse af det første valgte antal som en måde at vælge repræsentationsstørrelsen på. Vælg dimensionen konsekvent til den lagrede samling og nye forespørgsler. En kortere eller kvantiseret repræsentation ændrer lagrings- og sammenligningsadfærd; den øger ikke inputkonteksten og gør ikke modellen til en kodegenerator.\n\nKodning med genfundet kontekst\n\nUdgivelsens første anvendelse er genfinding af kontekst til kodefuldførelse, redigering eller forklaring. Forbered meningsfulde kodeenheder, og gem repositoryrevisionen og kildeidentifikatorerne. Et spørgsmål om håndteringen af en bestemt fejl kan genfinde relaterede funktioner, som applikationen derefter indsender til en kodemodel sammen med den faktiske ændringsanmodning.\n\nEt praktisk resultat er et rangeret sæt kildeuddrag med filstier, symboler og det indhold, der kræves for at forstå deres adfærd. De genfundne uddrag kan åbnes af en udvikler eller sendes til en assistent. Codestral Embed udfører repræsentationstrinnet; en separat komponent udvælger resultaterne, og en genereringsmodel skriver forklaringen eller kodeforslaget.\n\nSemantisk søgning og lighed\n\nProducenten beskriver kodesøgning med forespørgsler i naturligt sprog eller kode. En udvikler kan spørge efter implementeringen af en adfærd, selv når funktionsnavnet afviger fra anmodningens ordlyd. Medtag den adfærd og de betingelser, der adskiller den tilsigtede implementering; en generel forespørgsel om et helt delsystem kan genfinde relateret materiale uden at afklare det konkrete spørgsmål.\n\nUdgivelsen beskriver også genfinding af næsten ens eller funktionelt lignende kode trods leksikale forskelle. Resultaterne kan hjælpe med at finde en genanvendelig implementering eller identificere kode til nærmere gennemgang. Lighed i embeddingrummet er et signal om at undersøge kilden; den fastslår ikke, at to fragmenter har identisk adfærd for ethvert input.\n\nKlyngedannelse, analyse og sammenligning\n\nKodeembeddings kan bruges til at gruppere kode efter funktionalitet eller struktur og undersøge et repositorys sammensætning. Hold de oprindelige uddrag og identifikatorer tilgængelige, så en gruppe kan fortolkes af en person eller et senere applikationstrin. En klynge er en repræsentationsbaseret gruppering, ikke en automatisk verificeret arkitekturbeskrivelse.\n\nProducentens eksempler med flydende vektorer bruger enhedsnormaliserede embeddings, hvor cosinuslighed, prikprodukt og euklidisk afstand giver konsistente rangeringer. Kvantiseret og bitpakket output bør bevare sin egen formathåndtering frem for at overtage en antagelse om rå koordinater med flydende tal. Det offentliggjorte endepunkt bevarer også inputindeks og hjælper dermed med at bevare forbindelsen mellem hver vektor og dens kildeelement.\n\nUdgave og praktiske grænser\n\nDen præcise modelside angiver embedding- og batcharbejdsgange med en kontekstbetegnelse på 8k, mens udgivelsen angiver værdien 8192 tokens. Bevar den navngivne 2505-udgave, valgte outputdimension og type gennem hele samlings- og forespørgselsarbejdsgangen. Dette er kodeorienteret vektoroutput, adskilt fra Codestrals tekstfuldførelse og den fastdimensionale Mistral Embed-tekstmodel.\n\nForbered kodeenheder med den relevante adfærd, gem deres kildeplaceringer, og angiv det spørgsmål, der skal findes materiale til. Det nyttige resultat er en genfindelig repræsentation knyttet til faktisk kode, som understøtter det næste trin med forklaring, redigering eller udviklergennemgang uden selv at udføre trinnet.",
    "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": "De fulde prisoplysninger for konfigurationen findes under detaljer."
      }
    ],
    "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": "Ugyldige obligatoriske felter, materialerepræsentation eller parameterværdi",
                "http_status": 400,
                "recovery": "Ret de angivne felter før en ny oprettelsesanmodning.",
                "type": "invalid_request_error"
              }
            ],
            "hints": [],
            "ignored_fields": [],
            "lifecycle": {
              "create": {
                "http": "POST",
                "path": "/v1/embeddings"
              },
              "job_read": null,
              "mode": "synchronous_json",
              "unknown": "Der indføres intet endpoint til embedding-job."
            },
            "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": "Gem hver vektor med dens indeks. Antallet af vektorer skal svare til antallet af input; dimensionerne skal være ensartede.",
              "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": "elementer i et tokenarray"
                },
                "conditions": "Ikke-tom batch med ensartede elementer. Token-ID’er er ikke-negative heltal.",
                "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": "Kilden tillader dette JSON-metadatafelt; den præcise betydning hos den bagvedliggende udbyder afhænger af modellen.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "user",
                "required": false,
                "type": "json_value"
              },
              {
                "availability": "pass_through_metadata",
                "conditions": "Kilden tillader dette JSON-metadatafelt; den præcise betydning hos den bagvedliggende udbyder afhænger af modellen.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "session_id",
                "required": false,
                "type": "json_value"
              },
              {
                "availability": "pass_through_metadata",
                "conditions": "Kilden tillader dette JSON-metadatafelt; den præcise betydning hos den bagvedliggende udbyder afhænger af modellen.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "trace",
                "required": false,
                "type": "json_value"
              },
              {
                "availability": "source_interface",
                "conditions": "provider.options afvist",
                "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": [
            "Gem hver vektors indeks og dimension.",
            "Et multimodalt modelnavn giver ikke adgang til at bruge billedobjekter på denne præcise sti."
          ],
          "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": "Grundtakster for tokens",
            "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": "Hurtig tilstand",
            "value": "Standardpris",
            "when": "Når hurtig tilstand er valgt"
          },
          {
            "label": "flex-tilstand",
            "value": "Standardpris",
            "when": "Når flex-tilstanden er valgt"
          },
          {
            "label": "Maksimal ræsonneringsindsats",
            "value": "Standardpris",
            "when": "Når default-justeringen anvendes ved maksimal ræsonneringsindsats"
          }
        ],
        "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 repræsenterer kode og forespørgsler i naturligt sprog som vektorer til repositorysøgning og genfinding til kodeassistenter. Producenten dokumenterer en kontekst på 8192 tokens, konfigurerbare dimensioner op til 3072 og outputformater med flydende tal, heltal eller bitpakkede værdier."
  },
  "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 repræsenterer kode og forespørgsler i naturligt sprog som vektorer til repositorysøgning og genfinding til kodeassistenter. Producenten dokumenterer en kontekst på 8192 tokens, konfigurerbare dimensioner op til 3072 og outputformater med flydende tal, heltal eller bitpakkede værdier.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "e80a89d529031723f6f254e7367f1c23fd0e83edb571d541eecd6195e9cd6934",
    "renderer_sha256": "2bf9f26ea9bfd57ed53d867671d8f05b41a6ea85089f48039e3365dc2b92ec2c"
  },
  "sourceRevision": "d897034300b5bc290e4eee4747c5dff1ff16c20e69aa60bbe2c72bb579182661"
}
